Simple home automation solutions can make your life easier. In other hand too much automation can be annoying. So there is always a middle between benefit and annoying. This is why there are so many attempts to build automation that differ from project to project. Johannes has been working on his version of home automater called “botman”. It is based on Arduino with Ethernet connection.
“Botman” is capable of doing several things like measuring indoor temperature, humidity and barometric pressure (BMP085, DHT11). Then pull weather data from server via weather API. Also he though that he needs public transportation info which is also pulled from server. Indoor climate conditions is constantly archived in to Google Spreadsheet. And finally, to complete home automation concept, there is a Android API which allows controlling home appliances remotely. Home automater is placed in laser cut enclosure which also serves as front panel with laser cut engravings. Servo motor needle indicates weather conditions while other data is visible on LCD. Three push buttons are used to navigate the menu and select information.
tronixstuff have written a great tutorial how to interface and program real time clocks (RTC). As an example he took two widely used chips DS1307 and DS3231. The main difference between both modules is clocking mechanism that can result in precision. Usually they come in modules that can be easily connected to microcontroller board via I2C interface.
Both modules come with built in pull-up resistor, so there are only two wires required to interface to microcontroller (plus power lines). Simple demo program allows to output time and date infromation to serial terminal window every seconds. Both modules come with backup batteries so if you diconnect them from Arduino board they will continue counting time. When next time you connect them again, you will get correct time values.
If you have a door lock that is activated with solenoid, then probably you would like to have a keyless access. This can be done easily with Arduino, keypad, LCD and relay which activates lock mechanism. Praveen has shared a second version of code lock he built. In previous version he simplified too many things like, no LCD, hard coded password. This time he wanted to make things better and included all missing parts.
During initialization, user is prompted to enter a password which also can be changed later. Using LCD made it much easier to enter passwords navigate menu and debug program itself.
Gyroscope is a device used to measure angular velocity. 3-axis gyroscope measures orientation in all three directions. Physics of gyroscope is based on angular momentum which allows it to be used in many areas like flight control, missile guidance, games etc. In modern electronics usually there are MEMS gyroscopes used that are small to fit in any device. Praven has shared his experience with interfacing GY521 gyroscope module to Arduino. This module also has a 3-axis MEMS accelerometer. Both of them fit in to small MPU6050 IC package which already has 6 built in 16-bit ADC channels. So each sensor has its own ADC. Module can be interfaced via 2C interface.
Sensitivity of gyroscope can accelerometer can be programmed depending on application. If you know some terminology of flight then you should know Pitch, Roll and Yaw that correspond to angular velocity of plane on every axis. Gyroscope measures these velocities and by knowing time between measurements we can estimate angular displacement. This way flight controller measures it and tries to keep flying object stabilized. Praven wrote a simple Arduino program which calculates pitch, roll and yaw from gyroscope readings and logs in to terminal window. Once you get it working, you can move on and read accelerometer to find out an orientation