Close

Project Reflection: Future Improvements

A project log for BlindBot

A sunlight-revealing window buddy

larkLark 2 days ago0 Comments

As we have completed this project, I just wanted to note some of the changes I would make if I were to do this project again. While this was a super fun project, and I'm very proud of how it turned out, as a software engineer, this was my first time making a physical object as part of a very small team, so there are definitely areas for improvement.


First and foremost, our bot wasn't actually able to operate on our window blinds--the ones at Caltech take a lot of force to operate, and even with the motor controller set to maximize torque, the motor was just slipping. This could be resolved either by buying a higher torque motor, or by designing a gearbox to improve the gear ratio.

Second, this is difficult to see in many of the pictures, but we had to add a ziptie "guide" to make sure the blinds actually hit the limit switch. This wasn't perfect, and in demos, the extended knob would sometimes catch on this, causing the motor to slip. This could and should be a 3d printed part that more smoothly guides the blinds towards the switch; this likely would need to be a part that attaches after the blinds have been fed in.

Also, the limit switch is apparently installed incorrectly! The way it is now, it is liable to being crushed. The switch should actually be vertical, so the blind stopper would basically slide up on the rolling part. Who knew.

Penultimately, in order to operate, this currently would need two cables plugged into wall power: the 24V motor controller power, and the USB C 5V (?) Arduino power. I think it should be possible to draw some power from the 24V through a relay (?) in order to power the Arduino through just one plug, for convenience. Having already fried one cheap component during this project, I didn't want to risk it, but I think this would be a nice feature.

Finally, I don't think I'd personally use this, but we initially intended to have a light sensor to make it optional to have the blinds rise and set with the sun. This definitely could be a neat feature to add. You could also probably add a scheduler on the Arduino Cloud to query for sunrise/sunset times each day at midnight, and then instead of using schedulers for opening + closing, just check the time every so often and run the functions at the times matching sunrise/sunset. This would be more robust against light level changes, such as gloomy days potentially not activating the light sensor, and wouldn't require any extra hardware.

Just as one more note, a major pain point/failure of this project was getting it on WiFi. Caltech has a really weird setup, and we never actually succeeded in connecting it, despite trying to register its MAC address. Apparently the WiFi module on the UNO R4 can have multiple MAC addresses, including one for Bluetooth, so I'm not sure we got the right one. But we also weren't able to get it to connect to a private WiFi, which should have worked fine, so who knows. We only got it working using my phone hotspot. I think investigating the way the WiFi module works would be a worthwhile use of time if I ever were to return to this project.

Discussions