Automated Blinds Controller

Description

For our project, we created a device that automates the opening and closing of window blinds. The device mainly utilizes a DC motor to turn the blinds "rod". It allows instant control from a pushbutton, as well as an "alarm" system where the user sets a time via the analog slider switch, and the blinds open at the specified time.

The motor attaches to the blinds rod with tape and a binder clip, allowing the two cylinders to turn in unison.

http://i.imgur.com/7wB2Q2t.jpg

Connections

http://i.imgur.com/EHWnPxd.png

Code

This code works if the connections are correct. However, different types of blinds may require changes to open() and close() methods.

Import programAutoBlindsController

modifications to original autoblindscontroller

Video

Improvements

The most obvious improvement is to make it look better. Ideally the motor would be mounted on the wall and reasonably out of sight. There is probably a better way to make a permanent seal between the motor and the blinds rod, rather than tape and a binder clip.

In addition a second slider could add more functionality: One to select a time to open blinds and another to select a closing time.

Alteratively, a slider could control the opening/closing more finely, allowing the user to select positions other than fully open or fully closed.

Right now, the device has a serious flaw: If it loses track of what position its in, it is likely that something could break, because the motor will try to turn and the blinds rod won't. Right now, it is required that when the device is turned off or reset, it is in the closed position. A more dynamic system would improve the functionality of the device.

Another improvement that can be made on this system is with the system clock. MBED does not come with a CMOS battery, so the internal clock is always reset when turned off and has to be hand-reset each time. The method we are trying to implement to counteract this phenomenon is to use an ethernet connection to get an online NTP-server time. example code for implementing this can be found here (https://mbed.org/users/4180_1/code/Internet_LCD_ClockOld/). We tried to implement this code using the NTP server based on ticker.gatech.edu, but due to registration reasons, we were unable to successfully implement this in the final design.


Please log in to post comments.