Led óra arduino nano-n. Saját kezűleg készítünk elektronikus órát Arduino-n. Kész óra az Arduino-n

A képen egy prototípus látható, amelyet az egész létesítményt kezelő program hibakeresésére állítottam össze. A kenyérlap jobb felső sarkában található második arduino nano nem a projekthez tartozik, és csak úgy kilóg, nem kell rá figyelni.

Kicsit a működési elvről: az Arduino adatokat vesz a DS323 időzítőről, feldolgozza, fotoellenállás segítségével meghatározza a fényerőt, majd mindent a MAX7219-re küld, és az viszont a kívánt szegmenseket a kívánt fényerővel világítja meg. Ezenkívül három gombbal tetszés szerint beállíthatja az évet, hónapot, napot és időt. A képen az indikátorok az időt és a hőmérsékletet mutatják, amelyet egy digitális hőmérséklet-érzékelőről vettek

A fő nehézség az én esetemben az, hogy a 2,7 hüvelykes indikátoroknak közös anódjuk van, és először is valahogy meg kellett barátkozniuk a max7219-el, amelyet közös katódú indikátorokhoz terveztek, másodszor pedig meg kellett oldani a problémát táp, mivel 7,2 volt kell az izzáshoz, amit a max7219 önmagában nem tud biztosítani. Egy fórumon segítséget kérve kaptam választ.

Megoldás a képernyőképen:


A max7219-ből a szegmensek kimeneteire egy mikroáramkör csatlakozik, ami invertálja a jelet, és mindegyik kimenetre három tranzisztorból álló áramkör, amit a kijelző közös katódjára kell kötni, ami szintén invertálja a jelét és növeli a jelet. feszültség. Így lehetőséget kapunk közös anóddal és 5 voltnál nagyobb tápfeszültségű kijelzők csatlakoztatására a max7219-hez

Egy jelzőt csatlakoztattam a teszthez, minden működik, semmi nem füstöl

Kezdjük a gyűjtést.

Úgy döntöttem, hogy az áramkört 2 részre osztom a nagy számú jumper miatt, amelyet a görbe mancsaim választottak el, ahol minden egy táblán volt. Az óra egy kijelző egységből, valamint egy táp- és vezérlőegységből áll majd. Úgy döntöttek, hogy először az utóbbit gyűjtik össze. Kérem az esztétákat és a tapasztalt rádióamatőröket, hogy ne ájuljanak el az alkatrészek kegyetlen kezelése miatt. Nincs kedvem nyomtatót venni a LUT kedvéért, ezért a régi módon csinálom - papíron gyakorolok, sablon szerint lyukakat fúrok, jelölővel pályákat rajzolok, majd marat.

Az indikátorok rögzítésének elve ugyanaz maradt, mint a készüléken.

Az indikátorok és alkatrészek helyzetét a kényelem kedvéért készített plexi sablon segítségével jelöljük meg.

Jelölési folyamat







Ezután egy sablon segítségével a megfelelő helyeken lyukakat fúrunk és az összes alkatrészt felpróbáljuk. Minden tökéletesen passzolt.

Ösvényeket rajzolunk és maratunk.




fürdés vas-kloridban

Kész!
vezérlőtábla:


jelzőtábla:


A vezérlőtábla remekül sikerült, a kijelzőtáblán lévő pálya nem evett kritikusan, javítható, ideje forrasztani. Ezúttal elvesztettem az SMD szüzességem, és 0805-ös komponenseket építettem be az áramkörbe. Legalább az első ellenállásokat és kondenzátorokat a helyükre forrasztották. Azt hiszem, jobb leszek, könnyebb lesz.
A forrasztáshoz folyasztószert használtam, amit vásároltam. Öröm vele forrasztani, ma már csak ónozáshoz használom az alkoholos gyantát.

Itt vannak a kész táblák. A vezérlőpanel rendelkezik egy Arduino nano-üléssel, egy órával, valamint a kijelzőpanelhez és az érzékelőkhöz való csatlakozáshoz szükséges kimenetekkel (fotoellenállás az automatikus fényerő-szabályozáshoz és egy ds18s20 digitális hőmérő), valamint egy tápegység állítható kimeneti feszültséggel (nagy méretekhez). hétszegmenses készülékek) és az óra és az Arduino tápellátására, a kijelzőpanelen találhatóak a kijelzők rögzítő aljzatai, a max2719 és az uln2003a aljzatok, megoldás négy nagy, hétszegmenses eszköz és egy csomó jumper táplálására.




hátsó vezérlőpanel

Hátsó kijelzőtábla:

Szörnyű smd telepítés:


Dob

Az összes kábel, gomb és érzékelő forrasztása után itt az ideje, hogy mindezt bekapcsolja. Az első indítás több problémát is feltárt. Az utolsó nagy jelzőfény nem világított, a többi pedig halványan világított. Az első problémát az SMD tranzisztor lábának forrasztásával, a másodikat pedig az lm317 által termelt feszültség beállításával kezeltem.
ÉLETBEN VAN!

Az egyik első projekt, amelyet a kezdők Arduino táblával építenek, egy egyszerű óra, amely megtartja az időt. Alapvetően az ilyen órák az Arduino-hoz csatlakoztatott RTC (Real Time Clock) modulon alapulnak. Ma már elektronikus alkatrészek is kaphatók a piacon különböző modellek Pontosságban és árban eltérő RTC-k. A gyakori modellek közé tartozik a DS1302, DS1307, DS3231.



De készíthet órát Arduino-n RTC használata nélkül, különösen, ha nem kap ilyen modulokat. Természetesen ebben az esetben a pontosság alacsony lesz, ezért a projektet inkább képzési projektnek kell tekinteni.


Az ilyen órák működési elve meglehetősen egyszerű. Minden alkalommal, amikor bekapcsolja ezt az Arduino órát, be kell állítania az aktuális időt, mint bármely analóg órát. Természetesen jobb, ha nem használ ilyen órákat Mindennapi élet tevékenységükkel hosszú ideig újraindítás és további konfiguráció nélkül, mivel a hosszú távú működés során jelentős lehet a deszinkronizálás az aktuális idővel.


Ez az óra normál kenyérsütőtáblára szerelhető, mivel nem igényel sok alkatrészt. A fő linkünk itt az Arduino Uno tábla lesz. Az idő megjelenítéséhez használhat egy 16x2-es LCD kijelzőt. Az időbeállítások módosításához két gombot kell csatlakoztatni (óra és perc). A gombok 10KΩ-os ellenállásokon keresztül csatlakoznak az Aduino-hoz. A kijelző fényerejének megváltoztatásához 10 kOhm-os potenciométerre lesz szüksége. Az alábbiakban bemutatjuk ezen összetevők és az Arduino Uno kártya csatlakozási rajzát.



Most programoznia kell az Arduinót. Az alábbiakban egy egyszerű kódot (vázlatot) adunk meg, amely lehetővé teszi az idő megjelenítését az LCD képernyőn.


#beleértve LiquidCrystal lcd(12,11,5,4,3,2); int h=12; int m; int s; int zászló; int TIME; const int hs=8; const int ms=9; int state1; int state2; void setup() ( lcd.begin(16,2); ) void loop() ( lcd.setCursor(0,0); s=s+1; lcd.print("TIME:"); lcd.print(h ); lcd.print(":"); lcd.print(m); lcd.print(":"); lcd.print(s); if(jelző<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); if(zászló==24)zászló=0; késleltetés(1000); lcd.clear(); if(s==60)(s=0; m=m+1; ) if(m==60) (m=0; h=h+1; zászló=zászló+1; ) if(h==13 ) ( h=1; ) lcd.setCursor(0,1); lcd.print("SZÉP NAPOT"); //-------Idő // beállítás-------// állapot1=digitalRead(hs); if(állapot1==1) ( h=ó+1; zászló=zászló+1; if(zászló<12)lcd.print("AM"); if(flag==12)lcd.print("PM"); if(flag>12)lcd.print("PM"); if(zászló==24)zászló=0; ha(h==13)h=1; ) state2=digitalRead(ms); if(állapot2==1)(s=0; m=m+1; ) )

   Köszönjük érdeklődését információs projekt weboldal.
   Ha azt szeretné, hogy érdekes és hasznos anyagok gyakrabban és kevesebb reklámmal jelenjenek meg,
    Projektünket bármilyen összeggel támogathatja fejlesztésére.

Óra LED háttérvilágítással és pulzáló percmutatóval egy Arduino mikrokontrolleren
Ez az egyedülálló, LED-es háttérvilágítással és pulzáló percmutatóval ellátott óra a TLC5940 PWM vezérlőchip segítségével készült. Fő feladata a PWM modulációs érintkezők számának bővítése. Az óra másik jellemzője, hogy az analóg voltmérőt perceket mérő eszközzé alakította át. Ehhez egy szabványos nyomtatóra új mérleget nyomtattak, és a régi tetejére ragasztották. Ennek megfelelően az 5. perc nem számít, csupán az ötödik percben az időszámláló mutatja a skála végére mutató nyilat (skálán kívül). A fő vezérlés az Arduino Uno mikrokontrolleren van megvalósítva.

Annak érdekében, hogy az óra háttérvilágítása ne világítson túl erősen egy sötét szobában, egy áramkört alkalmaztak, amely automatikusan beállítja a fényerőt a megvilágítástól függően (fotoellenállást használtak).

1. lépés: Szükséges alkatrészek



Íme, amire szüksége lesz:

  • 5V DC analóg voltmérő modul;
  • Arduino UNO mikrokontroller vagy más megfelelő Arduino;
  • Arduino áramköri lap (protokártya);
  • DS1307 valós idejű óra (RTC) modul;
  • Modul PWM vezérlővel TLC5940;
  • Szirom LED háttérvilágítás – 12 db.;
  • Alkatrészek automatikus fényerő-szabályozó (LDR) áramkör összeállításához.

Ezenkívül a projekt néhány más összetevőjének előállításához kívánatos egy 3D nyomtató és egy lézervágó gép elérése. Feltételezhető, hogy rendelkezik ezzel a hozzáféréssel, ezért az utasítások a megfelelő szakaszokban gyártási rajzokat is tartalmaznak.

2. lépés: Tárcsázza




A számlap három, 3 mm-es MDF lemezből lézervágó gépen kivágott részből (rétegből) áll, amelyeket csavarokkal rögzítenek egymáshoz. Egy rés nélküli lemez (a képen jobbra lent) egy másik lemez alá kerül a LED-ek elhelyezéséhez (bal alsó). Ezután az egyes LED-eket a megfelelő nyílásokba helyezik, és az előlapot a tetejére helyezik (az ábrán felül). A számlap széle mentén négy lyuk van fúrva, amelyeken keresztül mindhárom alkatrész össze van csavarozva.

  • A LED-ek teljesítményének tesztelésére ebben a szakaszban CR2032 gombelemet használtak;
  • A LED-ek rögzítésére kisméretű ragasztószalag csíkokat használtak, amelyeket a LED-ek hátuljára ragasztottak;
  • Az összes LED-lábat ennek megfelelően előre hajlították;
  • A szélek mentén lévő lyukakat újrafúrták, amelyeken keresztül a csavarozást elvégezték. Kiderült, hogy ez sokkal kényelmesebb.

A számlaprészek műszaki rajza a következő címen érhető el:

3. lépés: Tervezze meg az áramkört



Ebben a szakaszban fejlesztették ki elektromos diagram. Erre a célra különféle tankönyveket és útmutatókat használtak. Nem fogunk mélyen beleásni ebbe a folyamatba; az alábbi két fájl bemutatja a projektben használt kész elektromos áramkört.

4. lépés: Az Arduino áramköri lap csatlakoztatása





  1. Az első lépés az összes tűérintkező kiforrasztása az áramköri lapokon és a szekciólapokon;
  2. Továbbá annak a ténynek köszönhetően, hogy az 5V-os tápfeszültséget és a GND-t oly sok tábla és perifériás eszközök, a megbízhatóság érdekében két vezetéket forrasztottak az 5V-hoz és a GND-hez az áramköri lapra;
  3. Ezt követően egy TLC5940 PWM vezérlőt telepítettek a használt érintkezők mellé;
  4. Ezután a TLC5940 vezérlőt a bekötési séma szerint csatlakoztatjuk;
  5. Az akkumulátor használatához az áramköri lap szélére egy RTC modult helyeztek el. Ha a tábla közepére forrasztja, a tűjelzések nem lesznek láthatóak;
  6. Az RTC modul csatlakoztatása a kapcsolási rajz szerint megtörtént;
  7. Automatikus fényerőszabályzó (LDR) áramkör került összeállításra, a linken megtekinthető
  8. A voltmérő vezetékeit úgy kell csatlakoztatni, hogy a vezetékeket a 6-os érintkezőhöz és a GND-hez csatlakoztatják.
  9. A végén 13 vezetéket forrasztottak a LED-ekhez (a gyakorlatban kiderült, hogy jobb ezt megtenni, mielőtt a 3. lépésre lépne).

5. lépés: Kód

Az alábbi kódot az interneten található különböző óraelemekből állították össze. Teljesen megtörtént a hibakeresés, és mára teljesen működőképes, és néhány meglehetősen részletes megjegyzés is hozzáadásra került. Mielőtt azonban betöltené a mikrokontrollerbe, vegye figyelembe a következő pontokat:

  • Az Arduino firmware felvillantása előtt törölnie kell az időt beállító sort:
    rtc.adjust(DátumIdő(__DATE__, __TIME__))
    Miután ezzel a sorral felvillantotta a vezérlőt (az idő be van állítva), újra megjegyzést kell tennie, és ismét villognia kell a vezérlőn. Ez lehetővé teszi az RTC modul számára, hogy az akkumulátor segítségével emlékezzen az időre, ha a fő tápellátás megszakad.
  • Minden alkalommal, amikor a "Tlc.set()"-t használja, a "Tlc.update"-t kell használnia.

6. lépés: Külső gyűrű

A külső óragyűrűt 3D-ben nyomtatták Replicator Z18 nyomtatóval. Az óra előlapján lévő csavarokkal rögzíthető az órához. Az alábbiakban egy fájl található a gyűrű 3D-s modelljével, amelyet 3D nyomtatón lehet nyomtatni.

7. lépés: Az óra összeszerelése


Az Arduino mikrokontroller az összes többi elektronikával az óra hátuljához volt rögzítve csavarokkal és anyákkal távtartóként. Ezután az összes LED-et, az analóg voltmérőt és az LDR-t csatlakoztattam azokhoz a vezetékekhez, amelyeket korábban az áramköri lapra forrasztottak. Az összes LED egy lábbal van összekötve, és a TLC5940 vezérlő VCC érintkezőjéhez csatlakozik (egy darab vezetéket egyszerűen körbe forrasztanak).

Egyelőre mindez nem túl jól szigetelve a rövidzárlatoktól, de a későbbi verziókban folytatódik a munka ezen a téren.




Top