A controller and simulator for the three Plantoids which will be built for Burning Man 2018.
I created those apps with two objectives in mind: - simulate the plantoid, which are not finished yet, to be able to work on visual effects right away, - have a GUI to control the LED strips: choose visual effects, control which LED will be on and off (not every led of the LED strip must be lighten), etc.
The 3D model can be modified to fit any scupture and any LED strip configuration. The only requirement is that the names in the 3D blender file match with the ones in the configuration in main.js.
The number of LED can also be modified in the configuration.
Two effects (there could be many more) can be applied to the LED strips: - wave interpolation between two colors: choose two colors and a wave signal (sine, triangle or square, with its frequency and speed) to interpolate between those two colors, - gradient: create a gradient and choose the frequency and speed at which it will be appied to the LED strip.
Clicking on a LED will add / remove it from the ignore mask (ignored LED wont be lighten).
How does it work?
The controller sends all information to the server to websocket ; then the server dispatches is to the LED strips (controlled by ESP8266) also in websocket.
For the simulation, the app also listens to the websocket channels and use the data to properly color the LED.
Since no server can be run on github pages, the data is directly transmitted from the controller to the simulator (only on github pages).