The BlindBot is an Arduino-powered robot that opens and closes blinds on a timer so it's easier to wake up. It can be customized through a Bluetooth app and optionally uses a light sensor to open and close blinds according to the sun instead of time.
The basics of the motor and limit switch have been achieved! Currently, the motor spins until the limit switch is pressed once, and then stops forever:
in the gif below, the motor makes 1 full rotation, waits for 1 second, and repeats until the limit switch is pressed.
It can even tell us how many steps it took, which in the future can help us calibrate to the length of the blinds string.
This uses a NEMA 17 motor and a DM542 motor controller, which unfortunately is massive. We initially had a smaller one, but it shorted during testing :(
This week we began modeling and 3D printing the gear that will pull the cord to open/close the blinds.
The first iteration, in green, was based on a thingiverse project; however, the beads on the Caltech blinds are much smaller and the holes were too shallow to have any chance of applying actual force to the cable.
The second iteration, in light blue, made the holes deeper to account for this, but not enough tolerance was added, so the beads wouldn't go very far in and would get stuck if they did. The chamfers added to the slots to ensure the string didn't get caught on corners also were too small to 3D print correctly, rendering them useless.
The third (and current) iteration, in dark blue, added more tolerance to the holes and widened the slot for the string. It also has larger chamfers on the corners. This works great so far!