First each kid is handed a smart ball, with a predefined color (Red, Green, Blue) when the ball is shaken (Accelerometer) the light inside the ball becomes stronger (RGB LED`s). The Light fixture is used as a mixer, it communicates with the balls and receives the value of how strong the light inside each of the smart balls mixing them and generating the mixed color.
The kids are then requested to shake the ball in sequence than in pairs generating all sorts of mixes and understanding how light is mixed and what colors are generated from the basic lights (Red, Green, Blue).
After that the participants get to play an interactive game, the game consists the same smart balls, and the Light fixture, but instead of just mixing the light, the Light fixture generates patterns based on how strong the balls are shaken. At first the light fixture shows all three colors filling up the central ball when the ball is filled up the colors are taking over the sequencing color until only one color remains and the winner is declared.
The smart juggling balls description can be found here: https://github.com/arkadiraf/Juggling_Balls_Public , or on my Hackaday project page: https://hackaday.io/project/5466-smart-juggling-balls.
The Light fixture consists of Arduino nano (compatible), Nrf24L01+ with SMA Antenna, Dc Dc converter to step down from 6-12 volts to 5 volts (meant to be used with external 12V power supply, or 2S lipo battery), Digital Addresable LED`s in a strip of 60 Leds/Meter with a total of 74 LED`s, Bluetooth module HC-05. Some capacitors, 3.3 voltage regulator and a schottky diode3A for reverse voltage protection. The arduino Nano is fed directly from the power supply (through the diode) and the DC DC converter is used for the LED strip. Currently I am using a pcb I designed with traces for the NRF module, Arduino nano (compatible) and the 3.3V regulator, around which I constructed the rest of the circuit). The files of the PCB are available on GitHub. The StL files for the Light fixture are also available on GitHub including both the codes for the smart balls and the Light fixture. https://github.com/arkadiraf/ShakeIt_Public
I am using the Accelerometer to measure how strong the ball is shaken by measuring the acceleration and filtering the results with a simple digital LPF Filter with a time constant of a few seconds.
The Light fixture uses the NRF module to communicate with the Smart balls, and the Bluetooth module is used to communicate with a Smartphone using it as an interface and changing the operation modes.
The code for the system is designed to interact with up to 15 Smart balls, starting by scanning which balls are active and then using a simple protocol to communicate with each of the active balls by sending a request for data and waiting for a response.