The first thing that came to my mind when I started micro-controller programming was to set an automatic room heating cum humidifier system. Bangalore has a very confusing weather - especially for new-comers. The temperature is generally moderate, but nights can sometimes become very cold. However, on other days, the nights are warm and if you have a heater on - it becomes uncomfortable. Also, since the weather is generally moderate - automatic heating solutions are not available commercially.
Hence, one of the first projects I made on an arduino was a temperature and humidity controller.
- Controls a 2-relay board - one for a room heater and one for a humidifier.
- Checks the temperature and humidity every 10 minutes - this can be set in the code
- The algorithm is very simple - Switch off the heater if the temperature goes 1 degree above the set-point and switch it on again if it goes below the set-point. This is similar to most commercial systems.
- The humidifier gets switched on if the humidity is below 40% and gets switched off if it goes above 60%.
- Uses the EEPROM to save the preset
- Has one button that is used to change the preset - single click to increase the temperature by 1 degree, long press to decrease the temperature by 1 degree. The temperature circles between 25 and 30 degree centigrade.
Step 1: Electronics
- Atmega 328P-PU (without bootloader)
- 16 MHz Crystal
- 2 x 22 pf capacitors
- LM 7805
- 1 uF + 10uF Electrolytic capacitors
- 10k Resistor
- DHT11 Breakout Board or similar (http://cgi.ebay.in/ws/eBayISAPI.dll?ViewItem&item=...)
- 2 Channel Relay Board
- 1 push-button switch
- 16x2 character LCD
- 10k pot
- 9-12V 1Amp power supply
- Extension cord
- General purpose PCB
Instructions for creating and using a "standalone arduino" can be found at http://dushyant.ahuja.ws/2013/10/standalone-arduin...