Stepper motor connected to the blinds shaft
Stepper motor wire going into the blinds
Top of Arduino
Bottom of Arduino
Light sensor with homemade shield to block the light from the inside of the house interfering with the light data
Every morning when I wake I have to go open the blinds in the house. Depending on how many windows there are it can take up a quite a bit of time to go to open each set of blinds. If you are in a rush you may forget some!
What it does (Video Links Here)
At the touch of a button the blinds can be set to a mode where it closes the blinds or a mode where it adjusts to allow the most light possible through the blinds.
TIME-LAPSE of the blinds adjusting throughout the day. The blinds will automatically close if the light sensor doesn't detect enough light and it assumes it is night time. I had the minimum light value set too low in this time lapse video which caused the blinds to close about an hour before I would normally like them to.
FIRST BOOT UP OF THE ARDUINO. It calibrates the stepper motor to the default position on first boot up so we can keep track of our step position.
SOME TIME-LAPSED NIGHT TESTING with the blinds. Couldn't work on this in middle of the day because I have a job and I can't be in two places at once...
How I built it
Using window blinds, 5.5mm socket, Arduino 101, stepper motor, light sensor, button, and some LEDs (who doesn't like LEDs?), I was able to throw together this contraption!
Using the 5.5mm socket, I was able to attach the stepper motor to the shaft that rotates within the blinds. Using the Arduino to control the stepper motor, the Arduino can be set to two different modes with a button. Red LED is closed and green LED is max light. If the mode is set to max light, then based on how much light the light sensor detects, the blinds will auto adjust to allow the most light possible through. If the mode is set to closed, then... I think we know what happens here.
Challenges I ran into
I had to learn the Arduino basics and I haven't coded in C for a while now... I'd say the stepper motor was the biggest challenge I ran into. I was having a little trouble getting it set up at first because the order of the motor pins had to be set correctly but I eventually got it. I believe the stepper motor driver board I have is faulty so that didn't help with the debug process...
Accomplishments that I'm proud of
This is my first Arduino project. I'm glad I was able piece together all of the attachments the Grove Start Kit provided for the Arduino and get this thing running!
What I learned
This is the first time I have ever used an Arduino. This entire process was new to me. There are many things I learned in this process, but I would say the two top things I learned were how to create a program for Arduino, and how stepper motors work.
What's next for Auto-Blinds
- Alternate mode for low light vs maximum light
- Build a concealed box to hold everything together and also for a cleaner look. I used cardboard and thumbtacks to hold everything together for this hackathon.
- Build a better light shield for the light sensor. I used tape to shield the light for this hackathon.
- An app to control the device(or set of devices) at home or remotely. Being an Android developer, this is something I really wanted to do but I was out of the country for a few weeks and didn't have time.
- Add a RTC (Real Time Clock) to the Arduino so the blinds can close & open at certain times of the day.
Thank you Devpost for hosting Intel's Hackathon. Thank you Intel for providing the Grove Starter Kit with the Arduino 101. Thank you to my wife for allowing me to tear apart the blinds and setting up shop in the kitchen!