MovingLight is a moveable Neopixel-LED light with two stepper motors and is controlled via bluetooth and Blynk app.
Step 1: Idea and Motivation
There are many smart home lights in all sizes and shapes.But there is no app-controlled moving light yet. It is common in nature forlight to move. The sun, fire, northern lights, shooting stars or sunlightreflected from a water surface are just a few examples. This moving light has afascinating effect on us. MovingLight brings this fascination into the home.
Step 2: Design
Since MovingLight is a prototype, the design should be compact, material-saving and easily replaceable. The appearance is therefore characterized by the exposed electronics, wiring and screws. The 3D-printedparts have no form-giving function. They are purely functional.
To prevent the lamp from falling over when moving, the centre of gravity had to be as low and centred as possible. Therefore both motors lie directly on top of each other. The electronics are located in the base for easypower connection.
Almost all of the first sketches and models have a compact design. Nevertheless, versions with housing and longer axles were also checked.
Step 3: Hardware
The microcontroller and the motor driver are both feather boards from Adafruit. They are very suitable for this project due to theirsmall size. The LED ring is from Adafruit. The ring is equipped with 24 RGBWLEDs. Thus infinitely many colors and a natural white can be produced.
The motors are stepper motors, which are particularly suitable for soft and precise movements. In order to get the suitable 3D print file for other stepper motors with different dimensions, a parametric model is available on shapediver.com . Only individual dimensions of the motors have to be entered and the 3D model can then be downloaded as a stl file.
- Adafruit Feather Board 32u4 BLE
- Adafruit Feather DC Motor + Stepper Wing
- Adafruit Neopixel Ring 24 LEDs
- Two Stepper Motors
- Screw Coupler
- DC Jack Adapter 2,1 mm
- Power Supplies on MicroUSB and Jack 2,1 mm
- M3 Screws
- Screws 2,5 mm Diameter
- 3d Printed Parts
Step 4: Software
The code is written in Arduino. There are some libraries to install. The following libraries are required:
- Adafruit nRF51 BLE Library
- Adafruit AccelStepper Library
- Adafruit Motor Shield V2 Library
- Adafruit Neopixel Library
- Blynk Library
To build the app you need to log in to Blynk. Then create a new project and choose as device Arduino Uno. Select as connection type BLE. A token will be sent by e-mail. Insert this token in the code.
The settings for the individual buttons can be seen in the pictures.
Download the code here.
Step 5: Assembly
The assembly is simple.
- Screw the two upper arms to the couplers.
- Then mount the motors.
- Then screw the lower arm to the base and the feather boards.
- Screw the other two arms and connect the cables.
- Finally screw on the iris.
Step 6: Problems and Next Steps
The motors produce a very high and annoying sound as soon as they are screwed together. Like a kind of microvibration. Does anyone have a solution to the problem?
Arduino cannot execute two commands at the same time. Therefore, LED color changes are only possible when the motors are stopped. Is there a solution to execute motor movement and color change simultaneously?
In the next version the problems should be solved. More lighting scenes, color changes and different movements and movement speeds would be great.
For more infos
Step 7: Code and STL File
The code is written Arduino and the final file can be downloaded. Only a few libraries have to be installed.
On shapediver.com a parametric 3D model is available, where own dimensions of the motor can be entered.