/blinds

SmartThings Mini Blinds

Primary LanguageArduino

SmartThings Mini Blinds

I'm using this github repository just to document the SmartThings project I've been working on lately – controlling my window blinds via SmartThings - in case anyone else wants to build something similar, or apply any of it to another project.

I read this article on Makezine while trying to find motorized blinds (because turning a handle is waaay too hard). I loved the simplicity of the mechanism, so I decided to build my own version that integrated with SmartThings (a fantastic smart home platform that allows you to connect a ton of various third party devices).

video

View the project in action on Vimeo

They offer a fantastic SmartThings Arduino shield, which makes it incredibly easy to enable an arduino to connect via Zigbee. You'll also need an Arduino Uno of some kind.

Since our version of the project will be controlled wirelessly, most of the parts needed for the original Makezine version aren't needed. You will need these items though -

  • Continuous Rotation Servo (be careful – I've recieved one of these where the wires were shorted inside due to bad soldering - you'll want to test thoroughly).
  • Rubber Band – although I've had more success using hair elastics with one rubber side)
  • Project Case – I used an iPhone 5 box

I also integrated the following parts I had laying around -

Note - you probably wouldn't do poorly by following the original project more closely than I have - many of my changes actually have more to do with the parts I had available at the time (my local RadioShack isn't very well stocked). In particular, in future versions I plan to add buttons to control the blinds. I didn't have any buttons.

Arduino Code

The code to upload to the Arduino is located here (there's some great example code here that its based on). You'll need to install the following libraries -

  • SmartThings Arduino Library
  • Adafruit DHT11 (optional, only needed if you're using the DHT11 temperature/humidity sensor)
  • Servo Calibration from the Makezine project - you'll want to calibrate the servo before doing anything else, or it will spin around with a mind of its own. That download also includes the original Arduino sketch - if you're following that build more closely, it may include handy information to talking to the components they use.

SmartThings Device Type Code

The code to use to create the device to is located here (based on this SmartThings example code). The SmartThings arduino page has information on how to set up a device type in the IDE.

Building It

I'll assume that you can figure out how to hook up the individual components to the Arduino, and focus more on the specifics of my iPhone box build. Here's the basic setup –

1

As you can see, it's an iPhone 5S box attached to the wall (I recommend mounting Command Strips or something similar to avoid damaging the wall – of course if you don't live in an apartment and you can "damage" whatever you want, I'd recommend looking into this sort of in-blinds build!). I've cut a hole in the top, and precariously screwed the servo into the box. The servo is then connected to the blinds with a rubber band (read step 10 of the original article for details on this slip clutch setup). It seems like you do want the servo to have a little play up and down, or it will run into the blind rod.

I cut another hole in the side for the photoresistor, and hot glued it in place. I added a SparkFun mini breadboard above the shields (which are mostly held there by a little tape and the USB power cable). The SmartThings Arduino shield happens to have a nice RGB led built in, so I covered the box with the plastic iPhone holder it came with, and it glows nicely at night.

2

What's Next?

I hope to continue improving the project by giving it a better case, and a better drive mechanism. So far no success with 3d printing parts in elasto plastic on Shapeways (not quite elastic enough), but I'll try to keep this repo updated as changes are made.

Update: While working on building another one of these, I discovered the second continuous rotation servo I ordered had its ground and power wires shorted together because a bad soldering job inside. This probably could have been repaired by someone good at soldering (yes, I tried. It could have gone better).

I'm currently trying to get a new design together that doesn't use a servo, slip drive, or usb power.

Thanks!

These instructions and the code, are of course provided "as is" :)