The post includes Arduino code, Android app installing package and the illustration pictures of the developing process.
This is my final project for my master in UCL. It presents a novel tangible interface with three robotic autonomous wall lights, which can move in all directions within 180 degrees in three dimensions. It is controlled by an Android app through Bluetooth.
The projects I referred to are presented below:
1. MIT inventor 2 tutorial about multi-servo: http://mitappsinventor.blogspot.com/
3. 3D model pan-tilt head: https://www.thingiverse.com/thing:2467743/#comments
4. Screw structure: https://www.thingiverse.com/thing:2551817
5. GU5.3 lamp socket: https://www.thingiverse.com/thing:1247294
6. Customizable GoPro Tube clamp with standard or buckle mounts: https://www.thingiverse.com/thing:909819
Step 1: All Steps (for Now)
Step 1. I assembled and tested one group of actuated light. Thus, the circuit of one LED, two servos and one relay was first wired up. Meanwhile, three pan-tilts structured pieces including LED head, support and base were 3D printed and assembled. The set was then tried through a simple code to ensure the structure and wiring work fine.
Step 2. an Android mobile application was developed accordingly via MIT Inventor 2, which is an open-source web-based platform for beginners to develop Android apps. The APP allows an Android phone to connect with Arduino through Bluetooth. Using the application, the researcher is able to switch the LED on or off via a button and to rotate two servos along two axes.
Step 3. I used another power supply with bigger output and added three voltage regulators to the circuit before connecting other servos and LEDs to it. Since connecting more LEDs and servos to the circuit requires more power and current, I changed the 12v 1.5A power supply to the 12v 6A one. Additionally, as LEDs and servos draw different voltage (LED 12v, Servo 5v), three voltage regulators with 5v output are connected between power and six servos respectively. Each voltage regulator is in charge of 2 servos, which helps convert 12v input to 5v output.
Step 4. three groups of LEDs and servos were then all connected and assembled. Other two servos, one two-channel relay and two LEDs were linked to the circuit. Furthermore, in order to only use one cable to connect the whole device with the power, I soldered the Arduino board to the power supply as well, which might be the reason causing crashes in the pilot study. The issue was solved by using code to disconnect servos which currently are not on duty.
Step 5., the holder of the circuit and also the base of the whole device was cut out in a laser cutting machine. To ensure the spotlights are small and clear enough to point objects precisely, three cylinder-shaped covers were printed and screwed to light heads. Last, Six 3D-printed hooks were screwed to the box, which hanged the whole device to a cat bracket.
Step 6, the interface of the application was redesigned accordingly. It includes features of connecting Bluetooth, moving lights to the desired locations and adjusting the angle of each servo. To find the right angles of servos for each desired location, I divided the operating space into nine parts. Then I used sliders to move the spotlight to the intended location and recorded the number of each servo for each space. To match these spaces, nine buttons were then created accordingly with the angle programmed in the app. By pressing those buttons, the researcher is able to move the spotlight to the intended location accurately. Additionally, in order to remain flexible, sliders that answer to different servos were added below. To develop this part, I referred to a tutorial on blogger . Sliding the blocks can rotate servos to any angle within 180 degrees.