Der er to rækker med pæle, med 2 × 12 pæle i hver (i alt 48 pæle) - controlleren sidder i midten af hver række, men hver række ses udefra som 24 sekventielle pæle. Hver pæl har 30 RGB-dioder, dvs der er i hver række 720 dioder, som alle kan kontrolleres individuelt.
Man skal bruge
Bemærk at 4 af pælene har monteret et voltmeter (et lille print med et display på). Disse er beregnet til at sidde sidst i rækken.
Stil pælene op og træk kabler imellem dem (J1 er indgang, J2 er udgang). Bemærk at nogle af kablerne er kraftigere end de andre - disse bør sættes tættest på controllerne (for at minimere spændingsfald).
Tilslut 230 V til controllerne. De forbinder nu automatisk til WiFi (SSID Vammen Camping). På displayet kan man se om de er forbundet.
Når controlleren tændes, kører den en række af animationer og skifter automatisk til en ny animation efter 60 sekunder. Når hele rækken af animationer er færdig, skiftes 'strip mode' (se nedenfor) osv. Det tager 51 minutter inden hele sekvensen gentages.
Ud over det kan man sende kommandoer til controlleren via UDP.
Controlleren indeholder en ESP32, som er på nettet via WiFi (kode: https://github.com/bullestock/ledpoles/tree/master/esp32/).
Kommandoer sendes til port 7890. De to bokse har adresserne displaydingo1.v.sman.dk
og displaydingo2.v.sman.dk
. OBS der er client-isolation på wifi, så brug en kablet forbindelse til at nå enhederne.
På github findes der en række Python-scripts, som man kan bruge til at styre pælene. Eksempler:
python3 setmode.py displaydingo1.v.sman.dk Emergency python3 freerun.py displaydingo1.v.sman.dk python3 setspeed.py displaydingo1.v.sman.dk 50 python3 setstripmode.py displaydingo1.v.sman.dk 1
De kommandoer som de forskellige scripts sender er beskrevet i detaljer nedenfor.
Denne kommando sender rå RGB-data til pælene. Hvis controlleren før kørte en automatisk animation, stopper dette. Eksempel: https://github.com/bullestock/ledpoles/blob/master/python/test.py
Denne kommando får controlleren til at køre den angivne animation. Eksempel: setmode.py
Gyldige værdier for animation_mode (case insensitive):
Bars Bounce BeatsPerMinute Chase ChaseMulti Confetti Cylon Emergency Fire Flicker Juggle Matrix PeriodicPalette Propeller Radiation Rainbow RandomBurst
Denne kommando har kun effekt hvis der kører en animation. Eksempel: setstripmode.py
Gyldige værdier for strip_mode
:
WholeStrip 0 Animationen bruger alle dioder. OnePoleCopy 1 Animationen bruger kun den første pæl, og alle andre pæle kopierer den første. OnePoleShiftCopy 2 Som OnePoleCopy, men mønsteret forskydes 3 dioder mellem hver pæl.
Denne kommando har kun effekt hvis der kører en animation. Eksempel: https://github.com/bullestock/ledpoles/blob/master/python/setspeed.py
Gyldige værdier for frames_per_second
: 1-50
Sætter lysstyrken.
Eksempel: setbrightness.py
Gyldige værdier for brightness
: 10-255
Pælene er forbundet med kabler på 10 meters længde. For at undgå problemer med spændingsfald føres der 12 V ud til pælene, og en regulator på hver pæl omdanner dette til 5V.
Kommunikationen foregår over RS-485 (da nogle af kablerne kun har tre ledere, er det i nogle tilfælde en ikke-balanceret afart af RS-485). Hardware: https://github.com/bullestock/ledpoles/tree/master/pcb