Az óra akkor jeleníti meg az aktuális tartalmat a kijelzőn, ha az X és Y irányú gyorsulás érték egy előre meghatározott ablakban van. Mivel az óra gravitációs térben helyezkedik el, így az X, Y irányú gyorsulási érték azt jelenti, hogy az óra milyen térbeli helyzetben van. A jelenlegi beállításokkal a vízszintes-közeli a kitüntetett helyzet, de ez a kódból változtatható. Amikor megszűnik valamelyik feltétel, akkor – egy előre megadott, de - menüből - módosítható ideig (alap beállítás 3 mp) – még látható a tartalom, majd a uC kikapcsolja az OLED-et és sleep módba vált. Olyan alvó üzemmódot választottam, amiben a uC fő órajele leáll, csak a Timer2 működik aszinkron módban (ide kapcsolódik az órakvarc) úgy, hogy 1 másodpercenként egy megszakítást generál, aminek hatására a uC felébred az alvásból, átparaméterezi a gyorsulásmérőt és lekérdezi a 3 tengelyirányú mért adatait. Ha az X és Y érték benne van az ablakban, akkor megjeleníti a kijelzőn a tartalmat.
Amikor a kijelzőn van tartalom, akkor koppintással lehet valamilyen akciót kiváltani, ha szükséges.
Azért, hogy egyértelmű legyen a különböző irányok értelmezése, képzeljük el az órát magunk előtt az asztalon, olyan állásban, hogy le lehessen olvasni. Ekkor a függőleges tengely a "Z", a testünkre merőleges az "X", míg a mellkasunkkal párhuzamos az "Y" irány, a későbbiekben ezekre fogok hivatkozni, amikor a koppintások irányát adom meg.
Alapesetben az időt mutatja az óra, a következő üzemmódok egyikében:
- Digitális
- Bináris
- Analóg
- Szöveges
Digitális:
Az óra ÓÓP alakban megjeleníti az időt nagy karakterekkel, hogy könnyen le lehessen olvasni, de a másodpercek is láthatók, csak kicsi betűmérettel.
Bináris:
A szokásos, nehezen értelmezhető óra, mely 6 oszlopban mutatja az időt. Az oszlopok értelmezése és helyiértéke balról jobbra: 10óra, óra, 10perc, perc, 10mp, mp. A sorok pedig bináris értékeket adják: 1, 2, 4, 8. A leolvasás menete: az egyes oszlopokban lévő "tele" pöttyök - bináris - értékeinek összeadása majd az összeg szorozva az oszlop jelentésével. A mellékelt képen látható idő: 10:43:03.
Analóg:
A mindenki által ismert "archaikus" óra.
Szöveges:
Ebben a módban az óra kiírja szövegesen az időt, pl. öt perc múlva lesz tizenegy óra"
Akciók áttekintése:
- Az egyes óra megjelenítések között "Z" irányú két koppintással lehet váltani.
- A menüt "Y" irányú két koppintással lehet előhívni.
- A menüben az OK megfelelője a "Z" irányú két koppintás
- Növelni valamely értéket "X" irányú egy koppintással lehet
- Csökkenteni egy értéket "Y" irányú egy koppintással lehet
- Navigálás jobbra: "X" irányú két koppintással lehet
- Navigálás balra: "Y" irányú két koppintással lehet
Koppintás után hosszabb ideig - 10 másodpercig - nem tűnik el a kijelzés akkor sem, ha nem állnak fenn a megjelenítés feltételei.
A menü:
- EXIT (kilépés)
- SET TIME (idő beállítása)
- SET DATE (dátum beállítása)
- SET CONT (kontraszt beállítás)
- LIGHT LEN (világítás hosszának beállítása)
- TECH (gyorsulás és akku feszültség értékek kijelzése)
Vannak, akiknek kifejezetten rosszul esik a nem magyar szöveg látványa. Nekik, ha megépítik ezt az órát, lehetőségük lesz magyar szövegek definiálására.
EXIT: Azért került az első helyre a menüből történő kilépés, hogy egy esetleges téves belépésből egyszerűbben vissza lehessen térni. Az "X" irányú egy koppintással lehet a menüben lefelé lépkedni és "Y" irányú egy koppintással felfelé haladni (lásd, az "Akciók áttekintése:" 4., 5. pont).
SET TIME: Az idő formátuma HH:MM alakban látható a kijelzőn. Az aláhúzott érték növelhető "X" irányú egy koppintással, míg csökkenthető "Y" irányú egy koppintással. A kijelölés mozgatására az "X" és "Y" irányú két koppintás szolgál, "X" jobbra, az "Y" balra mozgatja a kijelölést, majd a kijelölt elem növelése csökkentése az előző mondatban leírtak szerint történik. Amikor "Z" irányú két koppintással elfogadjuk az értéket, akkor az óra, perc átíródik az éles változókba, a másodperc null lesz, és visszajutunk a menübe.
SET DATE: A dátum formátuma YY.MM.DD lesz, ahol a YY a 2000 utáni évek számát, a MM a hónapokat, a DD a napokat jelenti. Az értékek ugyanúgy változtathatók, mint ahogyan az idő esetében.
SET CONT: A kijelző fényereje állítható be 0 és 25 között.
TECH: Ebben a menüpontban meg lehet nézni az akkumulátor feszültségét, és folyamatosan látható az X, Y, Z irányú gyorsulás értéke. Ez egy szerviz jellegű menüpont, ami a fejlesztéskor keletkezett, de benne hagytam a végleges programban.
Egyéb tulajdonságok:
- A uC folyamatosan méri az akkumulátor feszültségét és ennek megfelelő szimbólumot tesz ki a jobb felső sarokba (tisztában vagyok vele, hogy az akku feszültségéből nem lehet teljes bizonyossággal következtetni a töltöttségére, de a semminél jobb).
- Ha a feszültség kisebb, mint 3,6 V, akkor nem jeleníti meg az órát, csak a villogó akkumulátor szimbólumot a jobb felső sarokban.
- Ha a feszültség kisebb, mint 3,3 V, és ez az állapot 60 másodpercen keresztül fennáll, akkor a uC kikapcsolja a tápellátást, vele a saját ellátását is, de előtte az EPROM-ba írja a beállítási adatokat.
- Ha alacsony akku feszültség miatt kikapcsolt az óra, akkor a töltőre rátéve vissza fog kapcsolni. Természetesen ez után be kell állítani az időt és a dátumot, a többi paramétert azonban az EPROM-ból visszatölti.
A cikk még nem ért véget, lapozz!
Értékeléshez bejelentkezés szükséges!