Neither of us had ever used Arduino or messed around with circuitry before, so we began with some basic tests to learn the fundamentals of Arduino. This is a simple LED control that increases the amount of short blinks by one for each loop.
As we began buying parts and getting acquainted with Arduino, we started practicing with different inputs and outputs for motor control. This prototype involves four infrared sensors, an infrared LED, and two axes of servo motors. We programmed the servo motors to turn in different directions based on which sensors recorded the highest infrared readings from the LED.
For this phase, we built a cardboard prototype to house the electronics and sensors, in order to test out actual motion tracking with infrared light. We got a stronger infrared light in order to control movement from across a room, and calibrated the movement to closely track the movement of infrared light.
The head piece is made up of three 3D printed parts that house all the electronics and glide smoothly around the globe. I modeled all the parts in Solidworks, 3D printed and sanded it down, covered it with a smoothing coating, and spray painted it black to match the globe.
We used laser cut plywood for the bulk of the interior pieces, as well as for housing the external electronics and power sources. We went through a bunch of iterations before landing on designs that were both strong and lightweight.
In order to make disassembly and reassembly convenient, we built a twisting lock to connect the arm to the head using custom 3D printed and laser cut pieces. The arm fits into the slot and locks tight with a 90 degree twist, while allowing room for cords to fit through the center hole.
In order to allow the lamp to spin 360 degrees, I modified one of our 180 degree servo motors to rotate continuously. I disassembled the motor, took apart the gears, and grinded down some metal pin stops and slots with a drill press.
I also removed the internal 5k pontentiometer and replaced it by soldering two 2.2k resistors onto the internal circuit board in its place. This allows for a continuous velocity input instead of inputting specific angles.