Fórum témák
» Több friss téma |
Cikkek » Programozható jelzőcsengő Programozható jelzőcsengő
Szerző: D Wye, idő: Okt 24, 2018, Olvasva: 9813, Oldal olvasási idő: kb. 3 perc
A Nextion programjának a kövekezőket kell tudnia:
A továbbiakban pedig az óra átállításának lehetősége. Mivel az egész szerkezet (a csengőt leszámítva) egy zárt dobozban van, így a program kinézete nem számít, illetve a képernyőnek sem kell működnie. Ez utóbbi végett bele kellett írnom egy figyelő rutint. Amennyiben nincs fizikai aktivitás, úgy 60 másodpercet követően lekapcsolja a képernyőt. Ez leginkább az esetleges áramszünetek végett fontos. A végleges program feltöltése már a dobozban készült. Az első példány tesztelés közben:
Az eszköz bekapcsolását követően egyből az első képernyő fogad, melyen csak az aktuális idő, dátum és nap van feltüntetve, mint változó elem, illetve ezeken kívül van egy Teszt gomb, amely ki-, illetve bekapcsolja a csengőt; egy azonnali "alvásra" felszólító gomb, ha nem akarjuk kivárni a 60 másodpercet; egy lehetőség az óra beállítására, és végül egy beálító gomb, amely ellép erről a képernyőről. A programban minden leüthető gombnak van effektje. A kezdőképenyő inicializálásnál kiolvassa az EEPROM-ot, amelyet a későbbiek során lehetőségünk lesz átírni, így az áramkimaradások nem törlik a beállított értékeket. Az egész csengetést erről a képernyőről irányítja a program, így ide kell minden esetben visszatérni. A működésért 4 időzítő a felelős, melyek az idő kiírását, az automatikus képernyő kikapcsolását, a csengetést, a csengetés idejét és az éjszakai leállást biztosítják. Utóbbira azért van szükség, hogy az EEPROM üresen hagyott területei végett ne csengessen éjfélkor. Az óra kiírása a csengetés percében szünetel, mert ugyanaz az időzítő felel a megjelenítésért, mint az EEPORM összehasonlítáásért a bevitt értékekkel, így a csengetésért is. Ha ez nem így lenne, egész perces csengetések lennének. Azonban - mivel ez nem látszik - teljesen mindegy, hogy szünetel-e a kiírás. Nem voltam elégedett a felülettel, ezért gyakorlatilag új felületet csináltam. A továbbiakat már az új felülettel mutatom be.
Az óra beállításákor meg kell érinteni a beállítani kívánt számot, mely villogással jelzi, hogy fogadja a módosítást. A hét aktuális napjának szöveges kijelzése automatikus, nem állítható.
A következő képernyőn lehet kiválasztani, melyik napon szeretnénk csöngetést beállítani. Mind az 5 gomb ugyan arra a képernyőre visz tovább, azonban a saját azonosítójukkal látnak el egy globálisra állított változót. Ez szükséges ahhoz, hogy a következő oldal tudja, hogy az EEPROM mely területét kell módosítani. Az "X" bevágással léphetünk vissza a kezdő oldalra.
A képernyő, amire tovább lép, egy táblázatot tartalmaz. 1-10-ig látható a csengetési idők sorrendje, azonban bármilyen sorrend engedélyezett. Jobbra közvetlen az óra, majd perc, és végül a csengetési időtartam látható, utóbbi másodperc formátumban. Ha belépünk erre a képernyőre, a BETÖLTÉS gombbal lehet behozni az EEPROM-ból az adott naphoz tartozó részt. Máskülönben a VISSZA gomb megnyomását követően gyári értékre áll vissza, ami ez esetben 0, vagyis minden csengetés kitörlődik. Ezt követően visszalép az előző képernyőre. Az 1-10-ig tartó számozás érintésérzékeny enyedül, ami átlép a beállító képernyőre. Ebben az esetben is minden képernyő ugyan az, csak azonosítót kap egy globális változó.
A beállító képernyőn az aktuálisan módosítandó szám villog. Az ENTER megnyomásával lép tovább a következő karakterre. A csengetési időtartam (másodperc) beállítása után visszatér az előző képernyőre. A képernyőn elkülönítve láthatjuk az adott csengetési idő sorszámát. A program gyakorlatilag ennyiből áll, kezelés szempontjából. Az utánépítéshez szükséges TFT fájlt itt találjátok. A felületet biztosító HMI fájlt pedig itt. Kérdésekre szívesen válaszolok, a Nextion saját topikjában. Akinek kedve támadt megépíteni, annak sok sikert kívánok! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |