pörög a vezérhagyám, és most a fórum elé öntöm ötleteimet, kérdéseimet:
tehát a nünükém appropóját az adta, hogy kezd elérhető ára lenni a digitálisan címezhető-vezérelhető RGB LED chipek, és lehetővé válik a nagy darabszámú dekorációs alkalmazásk is.
robert is kínál 8x8 as mátrix panelt ,
a kinaiaktól pedig 50-100 dbos szériákat lehet rendelni
arra gondoltam, hogy még nem késő a karácsonyi (és egyéb) dekorációt új szintre emelni ezekkel az 'okos' ledekkel.
ha sima fénysort, ha valamilyen alakzatot alakítunk ki, a kigyújtani kívánt formációkat, animációkat létre kell hozni, vagy valamilyen tárolóból elő kell szedni.
tervezési ötletelés következik:
mit kellene tudnia egy ilyen kütyünek?
1. stand alone kiépítés kell. tudjon működni távol mindentől, csak a felprogramozáshoz használnék usb vagy egyéb uplinket a pc felé
2. valamilyen távvezérlés szükséges lenne. egy sima nyomógombtól az IR távirányítóig üzemmód, fényerő, program választásához
3. a megjelenített 'kép' előállítása , animálását elsőre két alapmódszert tudok elképzelni:
- algoritmussal generált, animált (nem tárolt) ábrák kiküldése
- tárolt 'frame'-k kiküldése valamilyen időzítéssel pl SD kártyából
3.1 - a fentiek ötvözése, két tárolt alakzat közötti algoritmikus áttűnés meghatározott számú és sebességű lépésben
kiindulásként egy 100 darabos WS2812B chipekből álló, három 2A-es tápegységes,
először algoritmus generált minták és animációk,
későbbiekben sd kártyán tárolt képeket megjelenítő led füzért építenék.
ami Samsung távirányítóval vezérelhető
hardver oldalról is van néhány megfontolandó dolog:
tápellátás: a ledek tápfeszültsége 5V. egy led 20mA-es fogyasztásával számolva egy 100db-os szalag esetén 100(chip)x3(rgb ledek)x20mA=6000mA, vagyis 6A(!) a szalag fogyasztása
ezt ajánlott több szegmensre bontva kisebb árammal táplálni
külön tápellátás kell a vezérlő táplálásához, hogy ne zavarjon be a ledfüzér által összeszedett zavarjel
előzetes anyaglista
- próbapanel uno vagy mega (esetleg egy okosabb ESP modul szintillesztővel?)
- 3db 5V 2A vagy 1 db 5V6A kapcsolóüzemű táp plsz egy kicsi 5V1A a vezérlő meghajtásához
- 100 db WS2812B chip, felhasználási területtől függően vízhatlan tokozásban
- esetleg IR vevő chip a vezérlő jelek fogadásához
- minták tárolásához SD kártya olvasó plusz kártya
- időzítéshez (talán)rtc modul, esetleg relé a nagy tápok indításához
- kellhet-e optokapus leválasztás a ledsor data pin meghajtásához?
adatmennyiség: véges számú ledchip köthető egy adatsorba, mivel a kommunikáció chipenként 24 bittel nő, nagy darabszám esetén az egyes chipek frissítési ideje túl nagy lesz. Róbert szerint "maximum 625 db LED lehet a villódzásmentes mozgókép kialakításához"
ezt egy darabig nem fogjuk elérni, azt hiszem.
adatok a memóriában:
ram:
egy led 3byte adatot foglal. érdemes ezt a 3 byteot egy elemi tömbként kezelni mint pixelt (3 byte)
100 db ledhez tehát minimm egy 100 pixelt tartalmazó tömböt kell létrehozni. érdemes a tömböt egyben kezelni mint frame-t (300 byte)
ezt a framet kell kiküldeni a led-sornak, hogy annk a tartalma szerint világítson
legalább még egy frame kell, hogy legyen, ha az előző állapotból akarják generálni a következő állapotot.
a két frame eddig 600 byte helyet foglal. zabálják a memóriát...
nagyon oda kell figyelni a megfelelő változótípusok alkalmazására, byte helyett ne használjunk floatot vagy longintet
vezérlőprogram:
a program memóriát is ésszel kell használni.
érdemes nagyon tömör programot készíteni
itt már nem biztos, hogy működik a lego építkezés, hogy ész nélkül bepakolunk mindent a programba, aztán hajrá!
nem szabad sokféle protokollt alkalmazni, úgy kell az egységeket összeválogatni, hogy azok lehetőleg egy buszon kommunikáljanak.
legalább kettő külön bsz így is lesz: egyszer a ledek vezérlése a saját formátumában, egyszer a többi eszköz kommnikációja pl IIC buszon keresztűl
itt egy durva "gányolásnak" nézünk elébe: ki kell dobálni a felhasználandó libekből a nekünk nem szükséges részeket. és mindezt úgy, hogy a maradék működjön
(pl az ir libben az ir adót megvalósító rész számunkra felesleges, tehát kuka.)
érdemes lenne az algoritmsos vezérlés neten található mintáit összeszedni,
érdemes lenne egy 'frame editor programot összeszedni, amivel az sd-kártya mintáit készítenénk el?
mások hogyan csinálják?
mint látszik, a dolog a brainstorming kezdeti állapotában van még semmi sincsen kőbe vésve.
de hol van még Karácsony?
érdekelne a véleményetek, ha van, tapasztalatotok, és minden egyéb, amit a témával kapcsolatban megosztanátok velünk!