Thermoduino Pro is the Pro version of my first android application "Thermoduino" and is used to control the temperature in your house from anywhere. The new version comes with a new arduino sketch which can handle timers which you set can in the app and show extra sensor info like humidity etc.
You need:
1 arduino Mega
1 W5100 ethernet shield
1 DHT 22
1 two channel relay card
some wiring EEPROMEX Library DHT Library RTC Library
I quickly made some schematics. see he first post.
You like the app with dutch text labels? For now its not online, perhaps a future version is multi langual. If i have time i send you a previous version in dutch or you can use my other app that suports custom text labels and has nearly the same funcionality. http://arduino.cc/forum/index.php/topic,127770.0.html
i am trying to test it but I received a lot of errors...
sketch_oct31a.cpp:24:22: error: EEPROMex.h: No such file or directory
sketch_oct31a.cpp:25:20: error: Avviso.h: No such file or directory
sketch_oct31a.cpp: In function 'void setup()':
sketch_oct31a:141: error: 'EEPROM' was not declared in this scope
sketch_oct31a.cpp: In function 'void loop()':
sketch_oct31a:280: error: 'EEPROM' was not declared in this scope
sketch_oct31a.cpp: In function 'void action(int, EthernetClient)':
sketch_oct31a:422: error: 'EEPROM' was not declared in this scope
sketch_oct31a:459: error: 'EEPROM' was not declared in this scope
the EEPROMex library with thanks to mrTeehttp://arduino.cc/forum/index.php?topic=115587.0
You can delete the line #include <Avviso.h>
This an libray to send notifications to you phone. I commented out the code it uses but i forgot to remove the include line in the uploaded version. It has some nice function but i removed it because it needs a subscrision to "prowl" or "notifier my android" and because the sketch became to big to fit an arduino uno. More info can be found here: GitHub - colagrosso/avviso: (unmaintained) Ring the red phone from your Arduino. Whenever i recieve my mega (china post ) i wil us it to let the arduino send a notification when the temperature in my house gets to hot and i can decide to open some windows remotely or close the shutters when its freezing outside.
Nice - thanks for sharing
what exactly do the relays hook up to and what do they do?
This could be different for a lot of heating systems, and it is the core of your whole idea.
testing now, but LCD screen is stuck on 'Getting IP'. I have assigned it the same IP that I use in other sketches and same mac address.
With the serial debugging I can see that is also stuck on Getting IP
have you seen this before? I have installed the DHT AND EEEPROM libs, I'm running bare bones with no temp sensors connected but don't think that is the problem?
FigZ:
Nice - thanks for sharing
what exactly do the relays hook up to and what do they do?
This could be different for a lot of heating systems, and it is the core of your whole idea.
With one relay you can switch between your current thermostat and the arduino thermostat.
The second thermostat turns on / off your heating system the same way your current thermostat does.
I uploaded some simple schematict in the opening post.
Thx Marque for very interesting project (Controler, Somfy, ...) many thx
All your project I easy install and use but with thermostat I have a problem with error look below.
Any idea for reason?
I use: Arduino uno R3, Ethernet Shield W5100, DFRobot LCD Keypad Shield, DHT22 2x 2 channel 5v relay.
The library EEPROMEx working if I use a sample.
First error in 142 lines:
"""" Tw = EEPROM.readFloat(address);"""""
thermostat_marque_android.ino: In function 'void setup()':
thermostat_marque_android:142: error: 'EEPROM' was not declared in this scope
thermostat_marque_android.ino: In function 'void loop()':
thermostat_marque_android:281: error: 'EEPROM' was not declared in this scope
thermostat_marque_android.ino: In function 'void action(int, EthernetClient)':
thermostat_marque_android:423: error: 'EEPROM' was not declared in this scope
thermostat_marque_android:460: error: 'EEPROM' was not declared in this scope
An idea for anyone building such a system in a region where temperatures go low enough to freeze pipes:
Make it fail-safe. What if your Ardu-stat turns the heat completely off, by malfunction?
Easy to do:
Keep your old thermostat in the circuit. Set it to turn the heading on at, say, 40 deg F.
Wire your Arduino circuits in parallel across your existing thermostat (assuming that your system turns the heat ON when a switch in the thermostat CLOSES).
Now your Arduino can ADD heat to your house, but even if the Arduino is never calling for heat, the old thermostat can step in, save the day, should the temperature fall to 39.
thermostat_marque_android.ino: In function 'void setup()':
thermostat_marque_android:142: error: 'EEPROM' was not declared in this scope
thermostat_marque_android.ino: In function 'void loop()':
thermostat_marque_android:281: error: 'EEPROM' was not declared in this scope
thermostat_marque_android.ino: In function 'void action(int, EthernetClient)':
thermostat_marque_android:423: error: 'EEPROM' was not declared in this scope
thermostat_marque_android:460: error: 'EEPROM' was not declared in this scope
thx Marque in advance.
br ale
same error with Arduino IDE 5.1
with the Arduino IDE 1.0.1 - no errors
I am completely new to this, and chose this as my first project.
Probably should have started with something more simple...
Anyway, this is a bit more that a project, is something that I realy need working...
I bought all the parts, download everything and know I am getting some errors when compiling the sketch.
Highlithed in yellow is the lines I am having problem with...
The first one says:
error: 'DHT22' was not declared in this scope - This should be only to identify the sensor type inside the DHT library.
However if I include the DHT22 library the error goes away.
Then the next one says:
error: expected primary-expression before ')' token - I don't have a clue how to solve this one...
There is some more, but one at the time... LOL
/*DHT.cpp has an default delay of 250. This makes the system realy slow and must be adjusted to 50 to react faster
Hardware used:
Arduino uno
Ethernet Shield W5100
DFRobot LCD Keypad Shield
DHT22 Humidity and Temperature sensor
2x 2 channel 5v relay