Tartalomjegyzék:

LEDura - analóg LED óra: 12 lépés (képekkel)
LEDura - analóg LED óra: 12 lépés (képekkel)

Videó: LEDura - analóg LED óra: 12 lépés (képekkel)

Videó: LEDura - analóg LED óra: 12 lépés (képekkel)
Videó: Электрочайник не включается (чистка термореле) 2024, November
Anonim
LEDura - analóg LED óra
LEDura - analóg LED óra
LEDura - analóg LED óra
LEDura - analóg LED óra
LEDura - analóg LED óra
LEDura - analóg LED óra

Tinkercad projektek »

Hosszú idő után, amikor csak különféle projekteket készítettem, úgy döntöttem, hogy magam is készítek egy tanulhatót. Az elsőben végigvezetem Önt a saját analóg óra készítésének folyamatán, félelmetes címezhető LED -gyűrűvel. A belső gyűrű az órákat, a külső gyűrű perceket és másodperceket mutat.

Az óra mutatja az idő mellett a szoba hőmérsékletét is, és nagyon szép dekoráció lehet a szobában. Az óra 15 percenként speciális effektusokat is készít - a videó mindet megmutatja, mindenképpen nézze meg. A 2 gomb és a potenciométer segítségével a felhasználó saját kívánsága szerint választhat a különböző módok és módosítható színek között. Azt is frissítettem, hogy automatikusan elsötétítse a LED -eket, ha sötétedik a szoba, így a felhasználót nem zavarják éjszaka.

Az óra elhelyezhető az asztalon, az asztalon, vagy felakasztható a falról.

Megjegyzés: A képek nem olyan jók, mint a valóságban a nagy fényerő miatt.

1. lépés: Hogyan kell elolvasni?

Hogyan kell elolvasni?
Hogyan kell elolvasni?

Az óra két gyűrűvel rendelkezik - egy kisebb az órák megjelenítéséhez, a nagyobb pedig a percek és másodpercek megjelenítéséhez. Néhány LED folyamatosan világít - úgynevezett iránytű, amely jelzi a fő óra pozíciókat. Óragyűrűn 3, 6, 9 és 12 óra, percenkénti 15, 30, 45 és 0 perc.

2. lépés: Mire lesz szüksége

Mire lesz szüksége?
Mire lesz szüksége?

Anyagok:

  • 1x Arduino Nano (bármilyen más Arduino -t is használhat)
  • 1x DS3231 RealTimeClock modul
  • 1x címezhető LED gyűrű - 60 LED
  • 1x címezhető LED gyűrű - 24 LED
  • 2x gomb (NEM - normál nyitva)
  • 1x 100kOhm potenciométer
  • 1x 5V -os tápegység (1 amper leadására képes)
  • 1x tápcsatlakozó
  • Néhány vezeték
  • 1x 10kOhm ellenállás
  • 1x fényellenállás
  • Előtábla (opcionális)
  • Sorkapocs vezetékes csatlakozók (opcionális)
  • 25 mm vastag fa, mérete legalább 22 cm x 22 cm
  • 1 mm vékony szőnyeg PVC műanyag, mérete 20 cm x 20 x m

Eszközök:

  • Alapvető eszközök az elektronika építéséhez (forrasztópáka, fogó, csavarhúzó, stb.)
  • Fúrógép
  • Ragasztópisztoly
  • Csiszolópapír és néhány falakk
  • CNC gép (talán van egy barátja)

3. lépés: Elektronikai alkatrészek - Háttér

Elektronikai alkatrészek - Háttér
Elektronikai alkatrészek - Háttér
Elektronikai alkatrészek - Háttér
Elektronikai alkatrészek - Háttér
Elektronikai alkatrészek - Háttér
Elektronikai alkatrészek - Háttér

DS3231

Az időt az Arduinos beépített oszcillátorával és időzítőjével határozhattuk meg, de úgy döntöttem, hogy dedikált Real Time Clock (RTC) modult használok, amely képes nyomon követni az időt akkor is, ha leválasztjuk az órát az áramforrásról. A DS3231 kártya akkumulátorral rendelkezik, amely áramot szolgáltat, ha a modul nincs csatlakoztatva a tápegységhez. Ez is pontosabb hosszabb ideig, mint az Arduinos óraforrás.

A DS3231 RTC I2C interfészt használ a mikrovezérlővel való kommunikációhoz-nagyon egyszerű a használata, és mindössze 2 vezetékre van szükségünk a kommunikációhoz. A modul hőmérséklet -érzékelőt is tartalmaz, amelyet ebben a projektben fognak használni.

Fontos: Ha nem újratölthető akkumulátort tervez használni az RTC modulhoz, akkor forrasztania kell a 200 ohmos ellenállást vagy az 1N4148 diódát. Ellenkező esetben az akkumulátor felrobbanhat. További információk ezen a linken találhatók.

WS2812 LED gyűrű

Úgy döntöttem, hogy 60 LED -es gyűrűt használok a percek nyomon követésére, és 24 LED -es gyűrűt használok órákig. Megtalálhatja őket az Adafruit -on (neoPixel gyűrű) vagy néhány olcsó verzióban az eBay -en, az Aliexpress -en vagy más webáruházakban. A címezhető led szalagok között nagy a sokszínűség, és ha először játszik velük, javaslom, hogy olvassa el néhány használati leírást - itt van néhány hasznos link:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

A címezhető LED szalag 3 csatlakozóval rendelkezik: 5V, GND és DI/DO. Az első kettő a LED -ek táplálására szolgál, az utolsó az adatokra. Legyen óvatos, amikor a gyűrűt az Arduino -hoz csatlakoztatja - az adatvezetéket csatlakoztatni kell a DI (adat IN) tűhöz.

Arduino

Az Arduino Nano -t használom, mert kicsi és elégséges ehhez a projekthez. Szinte bármilyen más Arduino -t használhat, de akkor óvatosnak kell lennie, miközben mindent csatlakoztat. A gombok és a LED -gyűrűk ugyanazon a tűn lehetnek, de az I2C csatlakozók (RTC modulhoz) platformonként eltérőek lehetnek - nézze meg az adatlapjukat.

4. lépés: Elektronika - Tápegység

Elektronika - Tápegység
Elektronika - Tápegység

Az Arduino -t és a LED -szalagot egyaránt 5V -os tápegységgel kell ellátni, hogy tudjuk, melyik feszültségre van szükség. Mivel a LED csörög, elég sok erősítőt húz, nem tudjuk közvetlenül táplálni az Arduino -val, amely maximum 20 mA -t bír el digitális kimenetén. Méréseim szerint a LED -gyűrűk együttesen akár 500 mA -t is képesek felvenni. Ezért vettem egy adaptert, amely képes akár 1A tápellátásra is.

Ugyanazzal a tápegységgel szeretnénk táplálni az Arduino -t és a LED -eket - itt óvatosnak kell lennie.

Figyelem! Legyen különösen óvatos a LED szalag tesztelésekor - a hálózati adaptert NEM szabad az Arduino -hoz csatlakoztatni, ha az Arduino is USB -csatlakozóval van a számítógéphez csatlakoztatva (károsíthatja a számítógép USB -portját).

Megjegyzés: Az alábbi rajzokban normál kapcsolóval választottam ki, hogy az Arduino tápellátásról vagy USB -csatlakozóról kap -e áramot. De a perfboardon látható, hogy hozzáadtam egy pin fejlécet annak kiválasztásához, hogy az Arduino melyik áramforrásból táplálkozik.

5. lépés: Elektronika - forrasztás

Elektronika - Forrasztás
Elektronika - Forrasztás
Elektronika - Forrasztás
Elektronika - Forrasztás
Elektronika - Forrasztás
Elektronika - Forrasztás
Elektronika - Forrasztás
Elektronika - Forrasztás

Amikor összegyűjti az összes alkatrészt, ideje forrasztani őket.

Mivel a vezetékeket rendbe akartam hozni, a vezetékekhez perfboardot és néhány sorkapocs csatlakozót használtam, így módosítás esetén ki tudom húzni őket. Ez opcionális - a vezetékeket közvetlenül az Arduino -hoz is forraszthatja.

Tipp: könnyebb, ha kinyomtatja a vázlatokat, hogy forrasztás közben maga előtt legyen. És ellenőrizze mindent kétszer, mielőtt csatlakoztatja a tápegységhez.

6. lépés: Szoftver - Háttér

Arduino IDE

Az Arduino programozását dedikált szoftverével, az Arduino IDE -vel fogjuk végezni. Ha először játszik az Arduino -val, azt javaslom, hogy ellenőrizze az utasításokat, hogyan kell csinálni. A neten már rengeteg oktatóanyag található, ezért nem részletezem.

Könyvtár

Úgy döntöttem, hogy a FastLED könyvtárat használom a népszerű Adafruit helyett. Van néhány ügyes matematikai funkciója, amelyekkel nagyszerű hatásokat érhet el (remek a fejlesztőknek!). A könyvtárat megtalálhatja a GitHub lerakatukban, de hozzáadtam a kódhoz használt verzió.zip fájlt.

Ha kíváncsi, hogyan adhat hozzá külső könyvtárat az Arduino IDE -hez, ellenőrizheti a már elkészített utasításokat

Az óra modulhoz az Arduino könyvtárat használtam a DS3231 valós idejű órához (RTC) (link), amelyet könnyen telepíthet az Arduino IDE-be. Ha IDE -ben van, kattintson a Vázlat → Könyvtár felvétele → Könyvtárak kezelése… elemre, majd szűrje a keresést a fenti névvel.

Megjegyzés: Valamilyen oknál fogva jelenleg nem tudok hozzáadni.zip fájlokat. A könyvtárat megtalálhatod a GitHub lerakatomban.

7. lépés: Szoftver - kód

Szoftver - kód
Szoftver - kód
Szoftver - kód
Szoftver - kód

Szerkezet

Az alkalmazás 4 fájlból épül fel:

  • LEDclokc.ino Ez a fő Arduino alkalmazás, ahol megtalálhatja az egész óra vezérlésére szolgáló funkciókat - ezek a CLOCK_ előtaggal kezdődnek.
  • A LEDclokc.h itt tüskés csatlakozási meghatározásokat és néhány óra konfigurációt tartalmaz.
  • ring.cpp és ring.h itt a kódom a LED -gyűrűk vezérléséhez.

LEDóra.h

Itt megtalálja az összes óra definíciót. Kezdetben vannak definíciók a huzalozásra. Győződjön meg arról, hogy ugyanazok, mint a kapcsolatok. Aztán vannak órakonfigurációk - itt megtalálhatja az óra üzemmódjainak makróját.

LEDclock.ino

A diagramon a fő hurok látható. A kód először ellenőrzi, hogy nincs -e megnyomva valamelyik gomb. A kapcsolók jellegéből adódóan az értékek leolvasásához debbouncing módszert kell használnunk (erről bővebben a linken olvashat).

Ha megnyomja az 1 gombot, a változó mód 1 -rel emelkedik, a 2 gomb megnyomásakor a változó típusa emelkedik. Ezekkel a változókkal határozzuk meg, hogy melyik óra módot szeretnénk látni. Ha mindkét gombot egyszerre nyomja meg, a CLOCK_setTime () függvény meghívásra kerül, így módosíthatja az óra idejét.

A későbbi kód leolvassa a potenciométer értékét, és eltárolja változóba - ez a változó felhasználó megváltoztathatja az óra színeit, fényerejét stb.

Aztán van egy kapcsoló-eset nyilatkozat. Itt határozzuk meg, hogy az óra melyik üzemmódban van, és ebben a módban a megfelelő funkciót hívják meg, amely beállítja a LED -ek színeit. Hozzáadhat saját óra üzemmódokat, és újraírhatja vagy módosíthatja a funkciókat.

A FastLED könyvtárban leírtak szerint a végén meg kell hívnia a FastLED.show () függvényt, amely a LED -eket az előzőleg beállított színre változtatja.

Sokkal részletesebb leírásokat találhat a kódsorok között

A teljes kód az alábbi fájlokban található.

TIPP: A teljes projekt megtalálható a GitHub tárolómban. Itt a kód is frissül, ha bármilyen változtatást teszek hozzá.

8. lépés: Készítse el az órát

Készítse el az órát
Készítse el az órát
Készítse el az órát
Készítse el az órát
Készítse el az órát
Készítse el az órát

Órakeret

Az óra keretét CNC gép és 25 mm vastag fa felhasználásával építettem. A vázlatot a ProgeCAD programban csatolva találja. A LED -gyűrű nyílásai valamivel nagyobbak, mivel a gyártók csak a külső átmérőt adják meg - a belső meglehetősen eltérő lehet … Az óra hátoldalán sok hely van az elektronikának és a vezetékeknek.

PVC gyűrűk

Mivel a LED -ek elég fényesek, jó, ha valahogy eloszlatják őket. Először átlátszó szilikonnal próbáltam, ami eloszlatja a feladatát, de elég rendetlen, és nehéz simára tenni a tetejét. Ezért rendeltem egy 20x20 cm -es darab „tej” PVC műanyagot, és vágtam bele két gyűrűt CNC géppel. Csiszolópapírral lágyíthatja a széleket, hogy a gyűrűk belesimuljanak a résekbe.

Oldalsó lyukak

Akkor ideje lyukakat fúrni a gombok, a potenciométer és a tápegység csatlakozói számára. Először rajzoljon minden pozíciót ceruzával, majd fúrja be a lyukat. Itt attól függ, hogy milyen típusú gombjai vannak - enyhén ívelt fejű nyomógombokkal mentem. 16 mm átmérőjűek, ezért ilyen méretű fafúrót használtam. Ugyanez vonatkozik a potenciométerre és a tápcsatlakozóra is. Feltétlenül törölje az összes ceruzarajzot utána.

9. lépés: Rajzoljon a fába

Rajzolj a fába
Rajzolj a fába
Rajzolj a fába
Rajzolj a fába
Rajzolj a fába
Rajzolj a fába

Úgy döntöttem, hogy néhány órajelzőt rajzolok a fába - itt használhatja fantáziáját, és megtervezheti sajátját. A fát forrasztópáka segítségével égettem, maximális hőmérsékletre melegítve.

Ahhoz, hogy a körök szépen gömbölyűek legyenek, egy darab alumíniumot használtam, lyukat fúrtam belé, és forrasztóvassal követtem a lyuk széleit (nézd meg a képet). Győződjön meg arról, hogy szilárdan tartja az alumíniumot, hogy ne csússzon rajzolás közben. És óvatosan járjon el, hogy elkerülje a sérüléseket.

Ha rajzokat készít, és szeretné, hogy azok jól illeszkedjenek az óra pixeleihez, használhatja a „Karbantartási módot”, amely megmutatja, hogy hol lesznek a képpontok (lásd az Összeszerelés fejezetet).

Védje a fát

Ha elégedett az órával, ideje csiszolni és falakkal védeni. Nagyon puha (500 -as értékű) csiszolópapírt használtam a szélek lágyítására. Azt javaslom, hogy használjon átlátszó falakkot, így a fa színe nem változik. Tegyen egy kis lakkot az ecsetre, és húzza a fában az egynyári növények irányába. Ismételje meg legalább 2 alkalommal.

10. lépés: Összeszerelés

Assamble
Assamble
Assamble
Assamble
Assamble
Assamble

A fenyők a gombokat és a potenciométert a helyükre teszik - ha a lyukak túl nagyok, forró ragasztóval rögzítheti őket a helyükön. Ezután helyezze a gyűrűs csíkot a nyílásaiba, és csatlakoztassa a vezetékeket az Arduino -hoz. Mielőtt a LED -gyűrűt a helyére ragasztaná, jó meggyőződni arról, hogy a LED -képpontok a megfelelő helyen vannak - középre helyezve és a rajzhoz igazítva. Ebből a célból hozzáadtam az úgynevezett karbantartási módot, amely megjeleníti az összes fontos képpontot (0, 5, 10, 15,… perc csengésnél és 3, 6, 9 és 12 óra csengetésnél). Ebbe az üzemmódba léphet, ha mindkét gombot lenyomva tartja, mielőtt csatlakoztatja a tápegységet a csatlakozóhoz. Ebből az üzemmódból bármelyik gomb megnyomásával kiléphet.

Ha a LED -gyűrűket igazította, vigyen fel néhány forró ragasztót, és tartsa őket, amíg a ragasztó megszilárdul. Ezután vegye fel a PVC -gyűrűket és ismét: vigyen fel forró ragasztót a LED -ekre, gyorsan helyezze el őket, és tartsa őket néhány másodpercig. Végül, ha biztos abban, hogy minden működik, forró ragasztóval rögzítheti a táblára (vagy Arduino -ra) a fát. Tipp: ne alkalmazza sok ragasztóra. Csak egy kis mennyiség, így egy helyen elfér, de könnyen eltávolíthatja, ha később szeretne valamit megváltoztatni.

A legvégén helyezze be a gombelemet a tartójába.

11. lépés: Frissítés - fotorezisztor

Frissítés - fotorezisztor
Frissítés - fotorezisztor
Frissítés - fotorezisztor
Frissítés - fotorezisztor
Frissítés - fotorezisztor
Frissítés - fotorezisztor

Az órahatások különösen szépek sötétben. De ez zavarhatja a felhasználót éjszaka, miközben ő alszik. Ezért úgy döntöttem, hogy frissítem az órát az automatikus fényerő -korrekcióval - amikor a szoba sötétedik; az óra kikapcsolja a LED -eit.

Ebből a célból a fényérzékelőt - fotóellenállást - használtam. Ellenállása jelentősen megnő; akár néhány mega ohm sötétben, és csak néhány száz ohm lesz, ha fény ragyog rajta. Egy normál ellenállással együtt képezik a feszültségosztót. Tehát amikor a fényérzékelő ellenállása megváltozik, akkor az Arduino analóg tüskén lévő feszültség is megváltozik (ezt meg tudjuk mérni).

Bármely áramkör forrasztása és összeszerelése előtt bölcs dolog először szimulálni, így láthatja a viselkedést és javíthat. Az Autocad Tinkercad segítségével pontosan ezt teheti meg! Néhány kattintással hozzáadtam az alkatrészeket, csatlakoztattam őket és megírtam a kódot. A szimulációban láthatja, hogyan változik a LED -ek fényereje a fotóellenállás értékének megfelelően. Nagyon egyszerű és egyszerű - szívesen játszunk az áramkörrel.

A szimuláció után ideje volt hozzáadni a funkciót az órához. Lyukat fúrtam az óra közepére, ragasztottam a fotóellenállást, úgy kötöttem össze, mint az áramkörön, és hozzáadtam néhány sor kódot. A LEDclock.h fájlban engedélyeznie kell ezt a funkciót, ha a USE_PHOTO_RESISTOR értéket 1. -ként deklarálja. A CLOCK_PHOTO_TRESHOLD érték megváltoztatásával azt is megváltoztathatja, hogy az óra melyik szoba fényerejével tompítja a LED -eket.

12. lépés: Élvezze

Az első bekapcsoláskor az óra véletlenszerű időt mutat. A két gomb egyidejű megnyomásával állíthatja be. Forgassa el a gombot a megfelelő idő kiválasztásához, és erősítse meg bármelyik gomb megnyomásával.

Inspirációt találtam egy nagyon ügyes projektben az interneten. Ha úgy dönt, hogy saját maga készíti el az órát, nézze meg őket is! (NeoClock, Wol Clock, Arduino Colorful Clock) Ha valaha is úgy dönt, hogy megpróbálja követni az utasításokat, remélem, hogy olyan élvezetes lesz, mint én.

Ha bármi bajba ütközik az elkészítés folyamán, nyugodtan tegyen fel bármilyen kérdést a megjegyzésekben - szívesen válaszolok!

Ajánlott: