Tento projekt je ideálny pre vašu pracovnú oblasť, alebo v garáži kde sa vyvíjate DIY, Ukončený projekt v jednom module obsahuje mnoho funkcií: hodiny so zobrazením dátumu a času, stopky, budík, sledovanie pohybu (na automatické vypnutie, keď nie ste na mieste).
materiály:
- Arduino Uno
- LCD štít (s tlačidlami, projekt používa štít z DFRobot)
- Krabica na bývanie
- bzučiak
- Infračervený snímač pohybu (PIR)
- prepojovacie vodiče (matka / matka)
- zdvihák 2,1 mm
- Adaptér pre korunku 9V 2,1 mm / 5,5 mm
- Krona 9 V
- Hodiny v reálnom čase
Prvý krok. Modul hodín v reálnom čase.
Modul hodín sa často dodáva vo forme návrhára, ktorý musíte zostaviť sami. Zvyčajne montáž nespôsobuje problémy a výrobcovia vydávajú pokyny na montáž ich modulu. Batéria sa dodáva aj s hodinami, vydrží vyše tri roky.
Krok dva Napájací konektor
Na zjednodušenie prepojenia dizajnu s Arduino používa autor konektor 2,1 mm so spájkovanými kontaktmi. V krabici sa vytvorí otvor a zdvihák sa pripevní lepidlom. Pripojenie k Arduinu teda nebude problémom. Koruna sa jednoducho nainštaluje na zadnú časť škatule. Ak sa pozriete bližšie, všimnete si ďalšiu dieru v rámčeku. To sa nemusí robiť, je to jednoducho neúspešný pokus o vytvorenie diery, zdvihák sa do nej jednoducho nezmestil.
Krok tri Drôtové pripojenie.
Autor kúpil viacfarebné drôty matka / matka. Stojí to lacno, ale značne uľahčili proces montáže. Vodiče sú spojené s bzučiakom, pohybovým senzorom PIR, hodinovým modulom, takže toto všetko neskôr môže byť pripojené k LCD štítu.
Štvrtý krok. Pripojenie na LCD štít.
Na štíte je 5 radov kontaktov, ich kolíky na Arduino 1-5, resp. K dispozícii je kontakt pre 5 V a GND, to všetko bolo použité na pripojenie. Na prenos údajov pomocou bzučiaka, senzora a hodín v reálnom čase sa používajú analógové piny Arduino. Senzor s hodinami bol samozrejme pripojený k zemi a napájaniu.
Krok 5 Inštalácia v krabici.
V tomto kroku je štruktúra umiestnená v samostatnom rámčeku.V prvom rade sú káble zo štítu LCD položené v krabici. Arduino je zaistené skrutkou na spodnej pravej strane puzdra. Na pridržanie mikrokontroléra stačí jedna skrutka, najmä preto, že autor používa krabicu, v ktorej sú namiesto otvorov pre ďalšie dve skrutky umiestnené výstužné rebrá. Ďalej je na Arduino nainštalovaný štít LCD, ktorého káble obklopujú dosku na pravej strane (pozri obrázok nižšie). Modul hodiniek je vynikajúci na inštaláciu do ľavého dolného rohu, na jeho upevnenie sa používa jedna skrutka. Táto inštalácia komponentov vám umožní ľahko pripojiť 2,1 mm konektor k Arduino. Pohybový senzor je nastavený tak, aby bolo možné ho odstrániť, pretože narúša pripojenie USB kábla k doske.
Krok 6 Programovanie.
Ako je uvedené na začiatku článku, hodiny by nemali zobrazovať iba čas a dátum, ale aj časovač s alarmom. Na tienidle je 5 programovateľných tlačidiel. Budú použité na rôzne hodiny prevádzky. Bzučiak bude fungovať po každom stlačení každého tlačidla a keď je spustený alarm, vydá niekoľko signálov.
Skica pre Arduino.
Autor vzal náčrt od Adafruit ako základ, bol vyvinutý pre hodiny v reálnom čase. Používa knižnicu RTClib. Ďalej autor pridal časť kódu pre tienenie LCD z DFRobotu (možnosť ovládania pomocou tlačidla). A sám od seba pridal časť kódu výlučne pre tento projekt. Konečnú verziu kódu si môžete stiahnuť v článku. Nižšie sú uvedené fotografie s rôznymi režimami pozerania.
Siedmy krok. Funkcie tlačidiel.
Ako vidíte na fotografii nižšie, každé tlačidlo na štíte je podpísané, päť z nich bolo naprogramovaných nasledovne:
- Prvým tlačidlom (SELECT) je ponuka. Tlačidlo zobrazuje rolovanie dostupných funkcií (časovač, budík).
- Druhé tlačidlo (Vľavo) - toto tlačidlo je zodpovedné za výber funkcie. Ďalšou funkciou tlačidla je zvýšenie hodnoty o 10 po zadaní hodín a minút.
- Tretie a štvrté tlačidlo (NAHOR, NADOL) - slúžia na zvýšenie a zníženie hodnôt hodín a minút pri nastavovaní budíka a časovača. Doplnková funkcia tlačidiel na prepínanie času AM a PM.
- Piate tlačidlo (DOPRAVA) je tlačidlo Enter. Používa sa na prijatie hodnoty (nakonfigurovaný čas, hodiny).
- Šieste tlačidlo (RST) - tlačidlo sa používa na reštartovanie Arduina.