bbustin / climaduino

Open source thermostat with humidity control for the Arduino using the DHT22 sensor
GNU General Public License v2.0
26 stars 9 forks source link

No Heater setting #1

Open zarboz opened 9 years ago

zarboz commented 9 years ago

No heater settings in usb-stable-connected branch I see a mode for it but no code to support :(

bbustin commented 9 years ago

Hi Bryan,

The first release did not have the ability to switch the Climaduino to heating mode.

I am not sure of the state of the master branch, but it may have it there. I definitely did add that ability in both of the develop branches, but the code works completely differently and I have not documented it yet. The develop branch is designed for a completely different Arduino and the code was in the middle of being refactored when life got busy. I will get back to it soon.

If you'd like any information about the develop branch, let me know. I can also try to add the feature to the branch you are using, but it may be a few weeks before my job calms down and I will have time.

On Nov 10, 2014, at 12:45, Bryan Smith notifications@github.com wrote:

No heater settings in usb-stable-connected branch I see a mode for it but no code to support :(

— Reply to this email directly or view it on GitHub.

zarboz commented 9 years ago

I merged lots of your changes into a branch supporting LCD print out. My inquiry there is the bridge print stuff does that replace the json being sent by serial meaning if I just serial.print those pieces of data would it still work in theory?

bbustin commented 9 years ago

Hi Bryan,

The two branches are very different code, but it could be made to work. The target of the develop branch is a remote sensor model running on an Arduino Yún controlled over the network from a central controller. The largest changes to make that happen were removing LCD code, removing buttons to change the temperature locally, and then using the Arduino Yún’s bridge interface to access its key/value store. I also re-wrote the thermostat code to be object-oriented and live in a separate file.

It looks like I left the old serial code in there to accept parameter changes (line 230), but it may have to be tweaked. I think I added an underscore to a lot of the variable names. One good place to look for the variables is on line 134 in the function updateParametersFromYun. The code then also needs to be tweaked to send its status over serial again. You may be able to do this in such a way that the output works perfectly with the stable branch of the web controller. That is likely going to be a lot easier than using the web controller in develop as that one was significantly changed and now has a notion of different zones.

Hope this helps, and sorry for the delay in responding. Work has been crazy as I just got back from an extended vacation overseas.

On Nov 13, 2014, at 08:09, Bryan Smith notifications@github.com wrote:

I merged lots of your changes into a branch supporting LCD print out. My inquiry there is the bridge print stuff does that replace the json being sent by serial meaning if I just serial.print those pieces of data would it still work in theory?

— Reply to this email directly or view it on GitHub.

zarboz commented 9 years ago

Looks like I will have to order a YUN then to play with I wanted to keep the LCD intact in order to quick ref temps while standing around / near / in the room but that will be all of 40 lines of code to readd and declare things to print to the LCD and give it a redraw function I thnk the YUN has enough PWM pins to drive the LCD I picked it is just a hd44780 RGB lcd. I really appreciate the responses I have a fully assmbled arduino half on my desk right now Arduino mega 2560 a HD44780 style 20x4 RGB lcd

bbustin commented 9 years ago

Sounds like it is going to be a really nice setup! I’m going to try to figure out how to give you commit access to the repos. That way everyone can benefit from the cool work you’re doing. In a couple weeks things might quiet down here and I might be able to work together to make it better.

The biggest problem with the new code is that sometimes communication drops between the Climaduino and the Controller. The Controller does not indicate to the end-user that the last readings it received were from a while ago. It also does not indicate if a programmed temperature change did not work as planned. The Climaduino does not detect the loss of communications either. If it did, it could maybe toggle the network stack or flash an error LED or something.

There’s a lot of room for improvement in this project, and I’m really happy to see someone else building one. Please feel free to continue emailing with any questions or suggestions. If the LCD screen works well, I’ll probably buy one as well. The one I have from before is a parallel one and takes an awful lot of pins.

On Nov 14, 2014, at 12:10 PM, Bryan Smith notifications@github.com wrote:

Looks like I will have to order a YUN then to play with I wanted to keep the LCD intact in order to quick ref temps while standing around / near / in the room but that will be all of 40 lines of code to readd and declare things to print to the LCD and give it a redraw function I thnk the YUN has enough PWM pins to drive the LCD I picked it is just a hd44780 RGB lcd. I really appreciate the responses I have a fully assmbled arduino half on my desk right now Arduino mega 2560 a HD44780 style 20x4 RGB lcd

— Reply to this email directly or view it on GitHub https://github.com/bbustin/climaduino/issues/1#issuecomment-63096755.

bbustin commented 9 years ago

You're now set up to be able to commit to both repos.

zarboz commented 9 years ago

I have ordered a YUN and forked your repo locally to my github I can make pull requests against your code based on my edits or if you allow me access to the repo I can push to a seperate branch and merge changes later if needed.

My current path for the plans: order the YUN : DONE change LCD to I2c style connection instead of 14 pin wireup (too many wires as you stated and my pins will be a lot smaller on the yun than the mega i am using right now ) I will push the changes I have now for altering the color of the backlight based on current mode IE If settemp > (target temp + 5) { setbacklight Red} else if settemp < (target temp -5) {set backlight blue} else if settemp = (target temp - 2 || target temp + 2) { set baclight green}

I will push the actual code shortly but that gives an idea of goals for backlighting and quick color based feedback on the device.

As far as the repo is concerned I will be pushing to my own branch currently whilst testing then I will open a merge request for upstream upon finalizing code and ensuring it works

Hopefully github gets your attention I am excited about this project and look forward to being able to augment what you have already done :D

bbustin commented 9 years ago

I love what you plan on doing and hope to start working on this again. The idea of using the color feedback is awesome! I'm going to order an HD44780 style 20x4 RGB lcd.

I think you now have full access to both repos. Either doing them as pull requests or creating another branch directly in each repo works. Whatever you find easier. Feel free to add a branch though. Then it can just be merged into develop. Github should allow you to do that now, but if it doesn't let me know and I will look into it.

zarboz commented 9 years ago

I have created a branch for the current board I am working with which would the Mega2560 board. Look forward to building a really cool thermostat I have just pushed the color reaction algorithm along with some other changes