***This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com).***
Welcome to building your own Octoglobe!
The Octoglobe is a cool and unique spinning light system that has arms and LEDs! It is based on 3D printed parts and utilizes arduino microcontrollers, 433Mhz FM transmitters, AC motor, Neopixles, relay, PVC, 18650 batteries and a servo.
You will need:
1 large project box (black)
2 Arduino Unos
1 Arduino Nano
6 18650 batteries
3D printer or access to one
1 metal gear servo
Box fan motor
5V phone usb charger
2 433Mhz receiver modules
1 433Mhz transmitter module
1 4x4 keypad
1 small project box (black)
2 4" PVC end caps (thinwalled)
3" piece of 4" PVC pipe (thinwalled)
Hot glue gun, glue
AC light dimmer
Step 1: Print the Materials
See the files attached for printed design files. Later you will see I took the arms and cut them in half to reduce weight. If you are proficient in a 3DCAD software I would recommend making a lighter version of the arms.
Step 2: Assemble Box and Main Spin Housing
Take out the motor from a box fan. Mount the fan motor in the black project box. I used rubber washers to rest it on the bottom in an attempt to reduce spin vibrations.
Next I melted a hole in the bottom on a 4" pvc (thinwalled) pipe cap and press fit it to the shaft of the box fan motor. This will form to the keyed notch. Inside the cap I added hotglue to reinforce the mounting.
Cut a 3" piece of 4" thinwalled PVC pipe and insert it into the cap.
Step 3: Spin Control and Wireless Start
I used a dimmer switch to control the spin speed of the box fan motor. For a wireless turn on I used a arduino nano and an AC relay to turn on the electricity to the motor (through the dimmer) after receiving an input from the FM receiver to the arduino (see schematic photo) The FM receiver data line goes to D11 and the relay data line is attached to D9 of the Nano. To power the arduino I just used a little usb phone charger plug attached to the incoming AC lines. See the base receiver code attached.
Step 4: Build Main Spin Body With Servo
I used 18650 cells to supply power to the servo inside the main spin housing. See schematic for wiring 6 cells to achieve ~7.5V. These attach to the servo +/-.
Attach the 3D printed top to the second 4" pvc cap by cutting a hole in the top and the cap then screwing everything together. The servo should be positioned in about the center of the top. I added some extra holes on each side to feed the LED wires and servo wires through.
Step 5: Build Arms and Attach Neopixels
Getting this right is the most complicated step. I cut the original arms in half and used small tubing as the string channels down each arm. At the arm joints I drilled new holes and used a thin nail as a pivot point. This system works similar to the popular 3D printed hands that use a string to pull the fingers in towards the palm. The tubing channel acts as a stop when the arms are pulled in to the desired location. I hotglued the tubing to the inside of the arms and adjusted the lengths of the tubing as needed.
Next wire and attach the neopixels down each arm using hot glue. There are 9 pixels per arm that I wired about an inch apart. Feed the lines into the top housing.
Step 6: Aattach the Arms to the Main Spin Housing
Using the nails drill holes into the 3D printed top and screw the adjoining side together to attach the arms to the top. Make sure the arms move freely up and down. I hotglued a receiver to the top to get the best signal possible for wireless control. Feed a string through the tubing and attach it to the servo arms using small hooks (i made them out of some stiff wire). Adjust the string so that when the servo rotates 180 degrees the arms are pulled up and towards the main housing.
Step 7: The Main Control Circuit
For simplicity I had room to breadboard the circuit and insert the whole breadboard into the housing. Ideally this should be placed on a vector board. Connect the Neopixels, servo (data pin) and receiver as detailed in the schematic. The arduino its self is powered with a 9V battery. I found that powering the servo and the arduino separately and then star grounding them gave a better control over the servo pulses then running off the same battery. Make sure that the ground of the arduino and the servo are connected as well as receiver and neopixels. Flash using the attached sketch. (note: I modified the servo/ radio head libraries so that they don't use the same timers, you will either need to change the timers for one of them to compile or used the attached modified ones.)
Step 8: Wireless Controller (Transmitter)
The controller interfaces with a 4x4 keypad and a 433Mhz transmitter. The schematic is attached as well as code for the transmitter. The transmitter sends out A, B, C, 1, 2, 3 and 0 but if you would like additional transmissions just add them as is done in the sketch currently. I stored the breadboarded circuit and the arduino uno in a small project box.
Step 9: Finish
Place the top of the housing on the main housing with the batteries plugged in. Test out using the remote. Current the code works as follows from the remote to the uno in both the housing and base:
Send 0: Everything off
Send A: Position 1 (flat angled tips), spin on
Send B: Position 2 (first 2 arms tilted), spin on
Send C: Position 3 (all 3 arms up), spin on
Send 1, 2, or 3: Red/ blue/ green Neopixels, spin not effected
See the final video for a basic rundown. The last few seconds show the finished project in the dark! I ended up spray painting it black for looks.