Hőmérséklet, légynyomás és páratartalom kijelzőt csinálok a ház falára. A mért értékeket 2-3 másodpercenként frissítem ki egy 7 segmenses led kijelzőre, de hogy látható legyen melyik érték is van kint a kijelzőn éppen, egy 3 tagból álló 8x8-as ledmátrix kijelző sorra teszem ki szövegesen az eredmény leírását (Cfok->mbár->%). A program jól működik egy pár percig. Aztán elsötétül a matrix kijelző sor, mindhárom egyszerre. Hogy meddig működik, az véletlenszerű, van hogy 1-2 percig, de volt már 10perc is. A hétszegmenses számsoron közben szépen változnak az adatok, ahogyan kell, tehát a program fut.
A vezérléshez a ledcontrol.h könyvtárat használom. Így néz ki a program setup része:
#include "LedControl.h"
LedControl lc=LedControl(8,7,6,3);
..és így egy jellemző részlet az a ciklikus írásból:
lc.setColumn(0,7,B00000000);lc.setColumn(0,6,B00000000);lc.setColumn(0,5,B00000000);lc.setColumn(0,4,B00000000);
lc.setColumn(0,3,B00000000);lc.setColumn(0,2,B00000000);lc.setColumn(0,1,B00000000);lc.setColumn(0,0,B00000000);
lc.setColumn(1,7,B00000000);lc.setColumn(1,6,B00000000);lc.setColumn(1,5,B00000000);lc.setColumn(1,4,B01000110);
lc.setColumn(1,3,B00100110);lc.setColumn(1,2,B00010000);lc.setColumn(1,1,B11001000);lc.setColumn(1,0,B11000100);
Próbálkoztam azzal, hogy minden új információ kiíráskor a ciklusban újra ki és bekapcsolom a kijelzőket. Ez így néz ki:
lc.shutdown(0,true);lc.shutdown(1,true);lc.shutdown(2,true);
delay(20);
lc.shutdown(0,false);lc.shutdown(1,false);lc.shutdown(2,false);
delay(20);
A késleltetéseket már kínomban tettem bele a programba. Amióta a ki és bekapcsolás bekerült a programba, annyi változott a helyzet, hogy nem teljesen sötétül el a kijelző, néhány led világit folyamatosa (3-4db/modul).
Ez az időjárás kijelző már a második verzió. Az első elviekben ugyanígy épült fel, csak ott 4 mátrix modult kapcsoltam sorba. Már ott is volt némi probléma. Áramszünet után amikor újraindul a vezérlő, minden működni kezdett, kivéve a ledmátrix kijelzők. Ha azonban a működő berendezésben (egy Arduino nano a központi rész), nyomtam egy resetet, a kijelzők máris működni id kezdtek, és ez a működés tartósan fenn is maradt, akár hónapokon keresztül. Mindig csak akkor volt baj, ha áramszünetet követően visszajött a tápfesz. Mivel ez csk ritkán volt, nem foglalkoztam vele. Észre vettem, hogy nem működik, kiballagtam a berendezéshez, és nyomtam egy resetet!
Annyiban hasonlít a mostani helyzet erre, hogy reset hatására szintén működni kezdenek a kijelzők, de kis idő múlva kikapcsolnak, illetve a leírtak szerint néhány pont világít csak. Most viszont az "áramszünet" nem okoz problémát!
Kipróbáltam azt is, hogy a tápot rajta hagyom a kijező modulokon, de a nano felől érkező jelvezetékeket kihúzgáltam. Nyilván ekkor a kijelzőre fagy az utolsó kijelzett érték, hiszen nem kap új adatot! Épp most várakozok, hogy mi történik, de úgy tűnik, hogy nem alszanak el a ledek, folyamatosan olvasható az utolsó felirat. Tehát az új információk írása okoz valamilyen zavart a működésben.
Nincs valakinek ötlete, hogy mi lehet a baj. Esetleg tud valaki más programkönyvtárról, amire cserélhetném a jelenlegit? Avledcontrol könyvtárban lehet még valamit állítani? Vagy más ötlet, hogy mivel próbálkozzak? Már kifogytam mindenből. A "dobd a kukába.." nem hasznos tanács
Köszönettel
Bagi