When I heard MIT's TechX was hosting the MakeMIT hardware hackathon, I was thrilled. Since my roommate moved out, I had plans to build two long desks in the newly open space. However, I didn't have nearly enough lamps to make these desks useful, so I took the hackathon opportunity to make some.
lampsOnRails is a motor-driven desk lamp system, which is essentially a lamp running along a rail. My original plan was to use servos and a linear rack inside the rail to drive the lamp and control it using IR sensors and emitters.
Along with limited 3D printer time and lasercutting facilities, MakeMIT provided us with a multitude of electrical and mechanical parts. Items of interest include Arduino Unos, an 81 RPM continuous motor, and an Arduino-compatible touchscreen LCD. We weren't able to get the touchscreen to communicate with our Arduinos, but I later found out that two other teams did.
My team of four freshmen went in with three objectives: make one proof-of-concept lamp, make the lamp in such a way that materials could be reused for future prototypes, and have fun. I was the only member of my team with CAD, soldering, and circuit experience, so we made a secondary objective of having everyone learn and play around with these tools.
The first hour was officially restricted to brainstorming only, but MakeMIT encouraged teams to use all resources around them to help the creative process. This included drawing schematics on windows with dry-erase marker.
The unusual range of materials available often demanded creative solutions. My team's first creative solution of the day was attaching the 81 RPM motor to the rail. The 80/20 compatible brackets were the wrong size for bolts fitting on the motor, so instead a system of bolt "clamps" and zip ties made the motor somewhat secure.
With only ~12 hours to work with and very long print queues, we turned to GrabCAD for help with the joints and lamp head. We used their dimensions to make CADing the base and lamp head faster and get our parts on the queue as quickly as possible, and cut balsa to the approximate size of the arms. The head only needed a slot inserted for our LED protoboard, but the base needed extensive modification to accept motors and sensors.
It turned out that the 3D printing facilities were unable to keep up with all the teams' requests, and my team's parts wouldn't be printed in time. I enlisted emergency help from my friends' personal printers for the small attachment bracket going to the base, but the lamp head was too large for their printers. I found myself in my lab's shop printing things at 7pm, with a project deadline at 11.
I initialized the print before checking the filament; it turned out that I would run out 1/4 of the way through. The MakerBot I was using isn't intelligent enough to pause printing for people to change cartridges, so I ended up feeding yellow filament to overlap the end of the purple. Probably not recommended, but luckily it worked!
Unfortunately, we couldn't use that print in time for the demonstration. Instead, we attached a Styrofoam cup as a substitute lamp head and lined it with granola bar wrappers -- another creative solution. The Styrofoam cup had too small dimensions to fit the component with our LEDS, so we cut a hole in the top of the cup and epoxied the parts together.
Note the foam-core substitute for a motor gear in the second photo below. We wrapped the inner diameter with rubber bands in hopes that friction would be enough to drive a pulley, since MakeMIT lacked in gears. Though the rope pulled taut when commands were sent to the motorbut the rope wasn't able to transfer enough force to overcome the lamp's friction (we were also missing bearings). Though the rope pulled tautWe attempted lubricating the rail with PAM and failed, but succeeded in making the presentation room smell like popcorn.
Overall, we deemed MakeMIT a success. Though our project wasn't able to move, I now have materials and CAD files to construct a second lampsOnRails and we had a great time.
Below: the lonely print that didn't finish in time.