LED gravity balance
LED's and gravity ?? Sure ! In this project you will see how you can make LEDs react to gravity !
This project has no practical use at all, but was initiated as an exercise in implementing physics formulas related to gravity in C-code on an Arduino and to have some fun with LEDs. To make things visible, a neopixel LED-strip with 74 LEDs was used. The effect of the gravitational acceleration on an object is demonstrated by using a MPU-6050 module. This chip contains an 3-axis accelerometer and a 3-axis gyroscope chip. The MPU-6050 module is physically attached to the LED-strip, so when the LED-strip is held at a certain angle, the MPU-6050 acceleration data is used to calculate the angle of the LED strip and the Arduino uses this information to update the position of a virtual object as if it was a ball that is balanced on a beam and rolls from one side to the other if the beam is held at an angle. The position of the virtual object is indicated on the LED strip as a single LED that is illuminated. To update the position of a virtual object that is falling to the earth under the influence of gravity, we use the formula :
y = y0 + (V0 * t) + (0.5 * a * t^2)
y = travelled distance in meters
y0 = start distance in meters
v0 = start velocity in meters/second
a = acceleration (gravity) in meters/second^2
t = time in seconds
y = y0 + (V0 * t) + (0.5 * a * t^2)
y = travelled distance in meters
y0 = start distance in meters
v0 = start velocity in meters/second
a = acceleration (gravity) in meters/second^2
t = time in seconds
Updates van de auteur
Roel Arits 5 jaar geleden
Roel Arits 5 jaar geleden
The LEDMotion module i wrote myself, but the other modules are adapted library files.
You only need to install the Adafruit Neopixel library by Adafruit.
The parameters to control the velocity, acceleration, deceleration, bouncing are not optimal/perfect and can be tweaked further to make the LED strip behave like a real "ball on a beam".
Have fun.....