(https://opendata-heilbronn.github.io/MateLight/)
API Documentation
The Matelight "API" is written in nodeJS and can be used in other scripts.
Some scripts have already been created. They are located at Raspberry_Pi/materix_API/api/scripts.
- fromBitmap.js
- Takes a bitmap and displays it on the Matelight
- testScroll.js
- Displays a scrolling text on the Matelight
- glediatorBridge.js
- Takes ArtNet packages and displays them on the matelight
- Every crate row is one ArtNet universe. The channels start in the top left and travel down line wise
- This mapping has to be set up in gLEDiator, or any other ArtNet sender
- pixelflut.js
- exposes a Pixelflut server on port 1337
Examples of how to launch the scripts can be found in the scripts README.
- HTTP API
- Create one central API that runs all the time and accepts input from multiple scripts
The centerpiece of the installation is a Raspberry Pi with a USB to Serial adapter and a 12V server power supply.
We didn't use the hardware serial of the Rapsberry Pi directly, because we already destroyed a Raspberry Pi by inducing voltage spikes or something like that.
The serial TX and 12V from the power supply get connected to the pins of a XLR plug like this:
- +12V
- GND
- Serial Data
This plug is then connected to the first crate.
We also made some intermediary cables to feed the power to multiple points in the matrix to reduce the current flowing through the XLR plugs.
These were built just like normal pass-through cables, but with an extra XLR plug added for injecting 12V.
Amount | Article | Approx. Price | Links |
---|---|---|---|
1 | Club Mate Crate | 4.50€ | |
1 | Arduino Pro Mini 5V | 1.50€ | AliExpress |
20/50 LEDs | 12mm WS2811 LED String | 5€ | AliExpress |
1 | LM2596S Step Down | 1€ | eBay |
1 | XLR panel mount jack male | 2€ | eBay |
1 | XLR panel mount jack female | 2€ | eBay |
1 | XLR microphone cable 0.5m | 3€ | eBay |
24/40 pins | Female header | 0.10€ | AliExpress |
Some | Plywood | ||
Some | Cardboard |
- Clean out all bottles
- Wrap the bottles in aluminum foil and secure it with tape
- Put a LED into each bottle following this pattern:
(seen from back, ↥ top ↥) ╔═══════════════════════════╗ ║ ○ → ○ ○ → ○ ○ ║ →{out} ║ ↑ ↓ ↑ ↓ ↑ ║ ║ ○ ○ ○ ○ ○ ║ ║ ↑ ↓ ↑ ↓ ↑ ║ ║ ○ ○ ○ ○ ○ ║ ║ ↑ ↓ ↑ ↓ ↑ ║ {in} → ║ ○ ○ → ○ ○ → ○ ║ ╚═══════════════════════════╝ (↧ bottom ↧)
- Solder female headers for the Arduino to a piece of prototyping board
- Build the wooden back plate (schematics coming soon)
- Drill holes and screw the XLR Sockets in (male left, female right)
- Glue the buck converter and prototyping board from the inside to the wood
- Follow the wiring steps
- Put cardboard padding between the bottles and the wood plate
- Screw the wood plate onto the crate
- Flash the firmware onto the Arduino
- chose the correct firmware from Crate_Arduino_Receiver by the amount of bottles in a crate
- Connect all crates together with XLR cables in a serpentine pattern like this:
(back side of array) [ ] → [ ] → [ ] → [ ] → [ ] → [ ] → [ ] ↑ [ ] ← [ ] ← [ ] ← [ ] ← [ ] ← [ ] ← [ ] (<- this row of crates is flipped 180°) ↑ {in} → [ ] → [ ] → [ ] → [ ] → [ ] → [ ] → [ ]