I was working with a woman who had lost the ability to open and close the window shade in her bedroom on her own. Being able to set a window shade’s position to let in sunlight when you want it or block outside light when you’re trying to sleep are really important. There are various motorized shades on the market but sometimes they are too expensive. What a present here is an affordable DIY alternative. NOTE: As always, with anything motorized it is important to have appropriate safeties in place to avoid damage or injury.
Here is a video of my initial adaptive-switch controlled prototype. The purpose of building this temporary setup was to get most of the details worked out in advance of an install at the user’s home. This is significantly preferred, but for some projects not always possible.
Here is a video of a first version installed in the user’s living space and setup for voice-activation via Amazon Echo.
Micro switches are used to allow the Arduino to detect when the shade is fully raised or fully lowered. In this way the Arduino should not go past the shade’s limits either due to user error or any error with the controls.
Here are some pictures of the micro switch setup of the prototype. Here some wire coat hanger is attached to the shade with gaffer tape and bent to make sure it hits both the upper and lower limit switch.
Here are some pictures of the micro switch setup at the user’s bedroom window. The plastic insert at the bottom of the shade is partially slid out of the right side to hit the limit switches.
I removed the latching mechanism in the shade so that its spring is always trying to pull the shade back up. That way, a single motor at the bottom can easily produce shade motion in either direction. For down, the motor simply winds the cord pulling the shade down. For up, the motor simply unwinds the cord and the shade’s spring pulls the shade up. Below are a series of pictures showing the result of opening up that end of the roller shade with pliers and pulling the latches out.
For the motor I chose a 35 rpm worm gear motor. Worm gear motors can be self-locking under the right conditions, which in this case allows for holding the current shade position without using any power.
Here are some pictures of the initial prototype controller with adaptive switch jacks.
Here is a picture of the setup in the user’s bedroom on the floor underneath the window.
In that setup, instead of switch jacks, the input pins on the Arduino are wired to a Photon (a WiFi enabled microcontroller board from Particle) which conveniently has a channel on IFTTT making it very easy to control with Amazon Echo via voice commands.