» elektronika » Arduino »Bináris óra riasztással és időzítővel az Arduino Uno készüléken

Bináris óra riasztással és időzítővel az Arduino Uno-n


Kapott egy pár táblát Arduino, és különféle rádióelemekkel, hogy megismerhessék a mikrovezérlőket, a szerző úgy döntött, hogy készít valami érdekes és egyben hasznos dolgot. Rendelkezésre állva egy nagyszámú LED-ek, és ötletük volt egy bináris óra elkészítése.

Az elektronika oldalán a bináris óra nem különösebben bonyolult, de a szerző bonyolította a feladatot, és úgy döntött, hogy nem menti el a gombokat és a LED-eket. Kezdetben a projekt 22 LED, 6 gomb és egy hangszóró használatát szolgálta. Volt egy ötlet is, hogy nagyobb számú csap miatt összeállítsanak egy órát az Arduino Mega-ra, de a 74HC595 váltónyilvántartások megváltásnak bizonyultak.

anyagok:
- Arduino Uno
- 2 teljes méretű kenyérlemez
- piros LED-ek 7 db
- Zöld LED-ek 7 db
- Kék LED-ek 6 db
- 2 sárga és fehér LED
- Ellenállások 220 ohm 25 db
- Piezo hangjelző 1 db
- 6 gomb tapintógomb
- A Shift kimeneti regiszter a 74HC595-et DIP-16 csomagban tartalmazza, 3 db
- Csatlakozó vezetékek 90 db
- Valós idejű óramodul a DS1307 RTC chip alapján

Hogyan fog működni minden
Körülbelül 10 típusú bináris óra van. Egyesek az időt bináris decimális (BCD) formátumban mutatják, mások bináris számként. Mivel a szerző nem különösebben szereti a BCD-órát, úgy döntött, hogy tiszta bináris képet készít. Vannak, akiknek nehezebb olvasni, de a különbség nem nagy, mert a számok binárisról decimálisra fordítása egyszerű. Az óra készítőjének előfeltétele a másodpercek megadása is volt az órában.

Ezenkívül az órának 6 gombja van:
Set - felelős az óra / riasztás beállítási módért és a paraméter beállítás üzemmódban történő mentéséért.
Üzemmód - az óra, az ébresztés és az időzítő mód közötti váltásért felelős.
Fel - az óra / riasztás / időzítő beállításában növeli a paramétert egy-egy. Az ébresztőóra és az időzítő feladata a kiválasztott üzemmód be- és kikapcsolása. Egy jel bekapcsolásakor kikapcsolja a riasztás / időzítő jelet.
Lefelé - az óra / riasztás / időzítő beállításában egy paraméterrel csökkenti a paramétert. Az időzítő szünetelteti a visszaszámlálás visszaállítása nélkül. Amikor a riasztás kialszik, 5 percig továbbítja a jelet.
24/12 - változtassa meg az idő formátumát.
Dim - felelős a LED-ek be- és kikapcsolásáért (amikor a LED-ek nem világítanak, a többi gomb nem működik).
LED helymeghatározási ábra:
Bináris óra riasztással és időzítővel az Arduino Uno-n


Alkatrész csatlakoztatása
A szerző az összes LED-et sorban és ellenállással köti össze. Az ellenállás be van forrasztva a LED-ek egyik kivezetésére, nem számít, melyik. A LED-eket műszak-nyilvántartáson keresztül lehet csatlakoztatni, ez a chip 16 érintkezővel rendelkezik.Ez a csapok száma lehetővé teszi, hogy nagy számú csapot használjon, mindössze 3 tűt vegyen fel az Arduinón.

A Pinout 74HC595 műszak regisztrációja:
Q0-Q7 azoknak a nyilvántartásoknak a megállapításai, amelyekhez a LED-ek csatlakoznak.
Vcc - egy 5 V-os tápcsapot kell rávenni.
GND - föld kapcsolódik a GND-hez az Arduino-n.
OE - a csap felelős a csapok fordított aktiválásáért, de nem fogja használni, egyszerűen testzárlatos.
Az MR egy fordított regisztrációs elszámolás, nem szükséges ellenőrizni, ezért egy 5 V-os tápegységhez csatlakozik.
ST_CP - pin felelős a nyilvántartás állapotának frissítéséért. Az állapot rögzítésekor a LOW-t kell alkalmazni, a felvétel után - HIGH, hogy frissítse a kimenetek állapotát. Csatlakoztatni kell az Arduino csapjához. Ezt a tűt három regiszterben lehet párhuzamosan összekapcsolni.
SH_CP - pin, amely felelős az eltolásért a regiszter 1 bitjével. Csatlakoztatni kell az Arduino csapjához. Mikroáramkörökön is párhuzamosan vannak csatlakoztatva.
DS - adatokat küldünk erre a tűre, és összekapcsolják az Arduino-n lévő tűvel.
Q7 '- ezt a tűt a 74HC595 más regiszterekkel történő lépcsőzetes kapcsolathoz használják.

Kapcsolási rajz:


A piezo-hangjelző sorozatban csatlakozik a harmadik Arduino tűhöz az ellenálláshoz. Mielőtt beillesztette a tv-készüléket az áramkörbe, a szerző megvizsgálta, hogy melyik csapok támogatják a PWM-et, mivel ez számára kötelező. Az Arduino Uno készüléken a PWM 3, 5, 6, 9, 10 és 11 csapokat támogat.


A gombok az Arduino-ba beépített ellenállásokkal vannak összekötve, a gombok egyik oldala a talajhoz, a másik az Arduino csapjaihoz van csatlakoztatva.


Tehát a végső terv úgy néz ki:


Építsen a Breadboard-ra
További részletek megszerzése után a szerző elkezdett a sémáknak megfelelõen összeállítani a projektet a kenyérlemezre. A megjelenés már várható volt, mivel a kenyérvágó korlát korlátozza az alkatrészek elhelyezésének szabadságát, és a kiálló huzalok nem teremtettek esztétikai élvezetet. A kenyérvágódeszka elvégzése azonban a kenyérvágódeszka-modellek, de nem a kész eszközök számára.


Program kód.
Mivel hozzáért a programozáshoz, a szerző úgy döntött, hogy saját magának írja a kódot, anélkül, hogy mások fejleményeit használta volna. Az első lépés egy alprogram kidolgozása volt, amelynek feladata az összes dióda villogása és a piezo jel bekapcsolásakor. Ez a funkció segíti az áramkör integritásának ellenőrzését, hasonlóan a sok eszközön végrehajtotthoz.

A vázlat meglehetősen nagy volt, akkor megfontolhatja annak főbb jellemzőit.

LED munka.
Mivel a LED-ekhez a műszaknyilvántartáson keresztül lehet hozzáférni, mindenekelőtt több rutinot kellett végrehajtani a LED-ek számára. A diódákkal való könnyebb működés érdekében számos további funkciót valósítottak meg. A diódák animációjának különféle hatásai valósulnak meg. Ha nincs beállítva az óra, akkor az órákért és percekért felelős diódák villogni kezdenek (mivel normál óra villog, ha nincs beállítva). A másodpercekért felelős LED-eknek saját animációjuk is van, a dióda balra és jobbra is működhet riasztási módban vagy az órabeállítási módban.

Fő hurok.
A program úgy van konfigurálva, hogy az alábbiak szerint működjön: az óra az aktuális állapottól függően jeleníti meg az információt, az állapotát pedig a gombok és az események használata függvényében változtathatja meg. Úgy néz ki, mint egy jelentős számú beágyazott körülmény. A diódák állapotát minden alkalommal frissítjük, miután ellenőriztük az időzítők és gombok állapotát, és felhívtuk a kezelőt.

Emellett a szerző nagy munkát végzett a beviteli gombok és az időzítők helyes működése érdekében. A vázlat forráskódja a cikk alatt letölthető.


Indítsa el az elrendezést
A projekt bekapcsolása után első pillantásra az eszköz megfelelően és stabilan működött. De a szerző hibát talált, az óra óránként egy másodperccel elmaradt, hosszú ideig nagy hiba lenne.


Megvizsgálva ezt a problémát, kiderült, hogy az eredeti Arduino Uno kerámia rezonátort használ, és nincs pontos a hosszú időméréshez. A legésszerűbb megoldás egy valós idejű óra vásárlása volt, plusz ennek a modulnak köszönhetően, ha az órát kikapcsolják, az nem fog eltévedni. A szerző megvásárolta a Grove RTC modult a Seeed Studio-tól. Ez egy kész tábla óralapral. A szerző az SDA és az SCL modul csapjait az Arduino-hoz csatlakoztatta az A4 és A5, GND érintkezőkkel a földhöz. Mivel az 5 V-os tápfeszültséget az órák táblája foglalja el, nem volt sehol a modul csatlakoztatása. A szerző úgy döntött, hogy a modult az egyik digitális érintkezőről táplálja, amely folyamatosan feszültség alatt áll.A szerzőnek emellett módosítania kellett a forráskódot, és hozzáadnia kellett egy valós idejű órák könyvtárát.


Nézd összeszerelés
Miután hosszú munkát végeztünk a kóddal kapcsolatban, itt az ideje, hogy teljes kinézetet adjon az eszköznek, és átvigye a kenyérlemezről a nyomtatott áramköri lapra. Először is meg kellett készíteni a táblát a huzalozásról. Erre a fritzselésre került sor, mivel a szerzőnek már volt ötlete az óra megjelenéséről, és elkészítette az eszköz diagramját. A szerző manuálisan követte a táblát is, sok időbe telt.
Nyomtatott áramköri lapok gyártási projektje:


A PCB gyártását megrendelték Kínában. A Seeed Studio rendelkezik Fusion PCB kártya szolgáltatással. A Fritzing révén a fájlt az Extended Gerber formátumba exportálták, sok fórumgyártó dolgozik vele. Két héttel később a szerző megkapta a régóta várt díjat az e-mailben.


Csak egy apró poros alkatrész forrasztása maradt a táblára. A kész eredmény forrasztás után sokkal jobbnak tűnt, mint a kenyérvágódeszka elrendezése.


A projekt szerzője hosszú ideig keményen dolgozott, és megkapta, amit akart - egyedülálló bináris órát egy időzítővel és egy ébresztőórát. Az elemtartó használatával az órát bárhol elhelyezheti. Arduino teljesítette az elvárásokat, és teljes mértékben megbirkózott a feladattal.

binclock-master.zip [23.53 Kb] (letöltések: 175)
10
10
10

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...