Tartalomjegyzék:
- 1. lépés: Szerezd meg a dolgaidat
- 2. lépés: Vágja le az elülső és a hátsó panelt
- 3. lépés: Fejezze be a hátsó panelt
- 4. lépés: Készítse el a LED panelt
- 5. lépés: Készítsen fényvezetőt
- 6. lépés: Készítse el a gombkeretet
- 7. lépés: Forrasztja a fő NYÁK -t
- 8. lépés: Szerelje össze az órát
- 9. lépés: Töltse fel a kódot és kalibrálja a fényérzékelőt
- 10. lépés: A bináris rendszer gyors bemutatása
- 11. lépés: A bináris ébresztőóra használata
- 12. lépés: A kód megértése (nem kötelező)
- 13. lépés: Utolsó szavak
Videó: Arduino alapú bináris ébresztőóra: 13 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Kövesse a szerző további információit:
Névjegy: Szia, a nevem Jan, és készítő vagyok, szeretek építeni és alkotni, és nagyon jó vagyok a javításban is. Mivel azt hiszem, mindig is szerettem új dolgokat alkotni, és ezt folytatom mindaddig, amíg… Tovább a Basement Engineeringről »
Hé, ma szeretném megmutatni, hogyan kell felépíteni egyik legújabb projektemet, a bináris ébresztőórámat.
Rengeteg különböző bináris óra található az interneten, de valójában ez lehet az első, színes címezhető LED -ek csíkjából készült, amely riasztási funkcióval és érintőgombokkal is rendelkezik, például az idő és a szín beállításához.
Kérjük, ne hagyja, hogy a bonyolult megjelenés elriasztja. Egy kis magyarázattal a bináris olvasása valójában nem olyan nehéz, mint amilyennek látszik. És ha hajlandó újat tanulni, szeretnék segíteni a későbbiekben.
Hadd meséljek egy kicsit a projekt hátteréről:
Eredetileg egy "normál" óra építését terveztem, amely LED -eket használ a kezekhez, de nem volt elég kéznél.
Mi a teendő, ha a lehető legkevesebb LED -del szeretné megjeleníteni az időt?
Ön bináris, és pontosan ezt tettem itt.
Ez az óra a harmadik verzió a maga nemében. Egy nagyon egyszerű prototípust építettem rögtön azután, hogy a projektötlet megütött, és elvittem a hannoveri Maker Faire -hez, hogy megnézzem, mit gondolnak róla az emberek. Amíg ott voltam, sok nagyon pozitív és érdekes visszajelzést kaptam, valamint fejlesztési ötleteket.
Mindezek az ötletek és a sok órányi gondolkodás, bütykölés és programozás eredménye ez az meglehetősen érdekes kinézetű kis ébresztőóra, amely sokkal több funkcióval rendelkezik, mint az 1.0 -ás verzió, és ma az építési folyamat minden lépését végigjárjuk, így könnyen építhetsz egyet magadnak.
Van egy nagyon részletes videó is a Youtube -on, ha nem akar mindent elolvasni.
1. lépés: Szerezd meg a dolgaidat
Itt van egy kis lista az összes összetevőről és eszközről, amelyekre szüksége lesz saját bináris órájának felépítéséhez.
Elektronika:
- 18 címzett Ws2811 LED (pl. Neopixels) egy szalagon, 60 LED / m (ebay)
- Arduino Nano (ATMega328 processzorral) (ebay)
- 1307 RTC modul (ebay)
- 4X kapacitív érintőgombok (ebay)
- bs18b20 digitális hőmérséklet -érzékelő (ebay)
- LDR (ebay)
- laptop/okostelefon hangszóró vagy piezo hangjelző
- 2222A NPN tranzisztor (vagy valami hasonló)
- férfi fejlécek
- szögletes női fejlécek (ebay)
- 1 kOhm ellenállás
- 4, 7 kOhm ellenállás
- 10 kOhm ellenállás
- Vezetékek
- 7x5cm prototípus NYÁK 24x18 lyukú (ebay)
- ezüst huzal (ékszerdrót) (ebay)
- 90 ° -os mini usb adapter (ebay)
Más anyagok
- Vinil csomagolás
- 4X 45mm m4 karimafejű csavarok (ebay)
- 32X m4 fém alátétek
- 4X m4 rögzítőanya
- 28X m4 anya
- 4X 10mm m3 sárgaréz NYÁK -állvány (ebay)
- 8X 8mm m3 csavar (ebay)
- alumínium lemez
- 2 mm -es tejes akril lap
- 2 mm átlátszó akril lap
- 3 mm -es MDF lemez
- kétoldalú ragasztó
Eszközök
- mini USB kábel
- az Arduino IDE -t futtató számítógép
- 3,5 mm -es fúrószár
- 4, 5 mm -es fúrószár
- villanyfúró
- vágókés
- megküzdő fűrész
- forrasztóion
- fémvágó olló
- fájlt
- csiszolópapír
Sablonok (most méretekkel)
- Ingyenes Office Draw
Kód
- Vázlatok
- Gombkönyvtár
- Időzítő könyvtár
- Jukebox könyvtár
- Módosított RTClib
- Adafruit Neopixel könyvtár
- Arduino-hőmérséklet-szabályozó-könyvtár
2. lépés: Vágja le az elülső és a hátsó panelt
Az első darab az akril előlap. Jelöljük, hová szeretnénk vágni, miközben szem előtt tartjuk, hogy szeretnénk egy kis toleranciát a csiszoláshoz. Ezután egyszerűen vágjuk le az akrilt a vágókésünkkel. Miután ezt 10-20 alkalommal megtettük, van egy hornyunk. Ezt a ligetet az asztal szélére helyezhetjük, és addig hajlíthatjuk az akrilt, amíg el nem törik.
Miután az előlapot méretre vágták, kivágjuk a hátsó panelt egy MDF -darabból. Ehhez használhatjuk a fűrészt, de egy vágókés is működik. Csak rá kell szorítanunk az MDF -t egy fadarabra, és meg kell kaparni a vágókésünkkel, amíg a penge átmegy, és két különálló darabunk van.
Most összerakjuk a két panelt, és mindkét oldalát csiszoljuk, hogy tökéletesen illeszkedjenek.
Miután ez megtörtént, kivágjuk az első sablont, és ragasztószalaggal ráhelyezzük a két panelre, és elkezdjük fúrni a megjelölt lyukakat.
Először 4, 5 mm -es lyukat fúrunk a 4 sarok mindegyikébe. Mivel az akril nagyon törékeny, és nem akarjuk, hogy eltörjön, egy kis fúróval kezdjük, és haladunk felfelé, amíg el nem érjük a kívánt furatátmérőt. Ezután a sablon segítségével csiszoljuk a sarkokat a megfelelő formára.
3. lépés: Fejezze be a hátsó panelt
Egyelőre tehetjük félre az előlapot, és ragaszthatjuk a második sablont a hátlapra, ahol egy 3, 5 mm -es fúrószárral kell fúrni a lyukakat a 4 db -os leállásunkhoz, valamint 4 lyukat, amelyek jelzik a széleket a kis hátsó ablakhoz.
Ezt követően a reszelőfűrésszel vágjuk ki az ablakot és simítsuk le a széleket egy reszelővel. Azt sem szeretné elfelejteni, hogy fúrja ki a lyukat a mini USB -kábelhez (hallottam egy nem annyira fókuszált gyártótól, amely hajlamos ilyesmire: D).
Ahogy befejeztük a hátlap vágását, folytathatjuk a vinil csomagolásba való csomagolást. Egyszerűen két darabot vágunk a megfelelő méretre, és az elsőt az egyik oldalra alkalmazzuk. Ezután levágjuk a felniket és kiszabadítjuk az ablakot. A hajszárító segíthet az összes lyuk láthatóvá tételében, így kivághatjuk őket. Miután ugyanezt elvégeztük a másik oldalon is, a következő sablonunkat és a kaparási és törési technikánkat használva készítjük el a kis akril ablakot a hátlapunkhoz.
4. lépés: Készítse el a LED panelt
Most ennek a projektnek a fénypontja következik, a szó legszorosabb értelmében. A LED panel.
Fémvágó ollóval 12, 2 cm és 8 cm méretű darabokat vágunk ki egy fémlemezből. Legyen óvatos, miközben ezt teszi, mivel az olló nagyon éles széleket hoz létre. Fájlunkkal és csiszolópapírral simítjuk őket. Ezután hozzáadjuk a következő sablont, hogy lyukakat fúrjunk a csavarokhoz és a vezetékekhez.
Ideje előkészíteni a tényleges LED -eket.
Először három, egyenként 6 LED -es csíkra vágjuk őket. A LED -szalagok egy része nagyon vékony ragasztóréteggel rendelkezik, vagy egyáltalán nincs ragasztó, ezért a csíkokat egy kétoldalas szalagra ragasztjuk, és késsel méretre vágjuk. Így a fémlemezhez tapad, és bár ez nem professzionális megoldás, szigeteli a rézpárnákat az alatta lévő fémfelülettől.
Mielőtt a csíkokat a panelre ragasztanánk, alkohollal tisztítsuk meg. Miközben rögzítjük a LED -eket, meg kell győződnünk arról, hogy a megfelelő helyre és a megfelelő irányba helyezzük el őket. A LED -szalagon lévő kis nyilak azt az irányt jelzik, amelyben az adatok a szalagon keresztül haladnak.
Amint az ötödik képen is látható, az adatsoraink a panel bal felső sarkából származnak, átmegy az első csíkon egészen a jobb oldalig, majd vissza a következő csík elejére bal oldalon és így tovább. Tehát minden nyílunknak a jobb oldalra kell mutatnia.
Melegítsük fel forrasztóionunkat, és tegyünk ónot a rézpárnákra, valamint a drótra. Az adatvonalak össze vannak kötve az imént leírtak szerint, miközben egyszerűen párhuzamosan rögzítjük a szalag plusz és mínusz párnáit.
A csíkok bekötése után késünkkel óvatosan emeljük fel mindegyik szalag végét, miközben lenyomva tartjuk a LED -eket, így továbbra is felfelé mutatnak. Ezután forró ragasztót teszünk alá, hogy szigeteljük a forrasztási kötéseket.
Miután ez megtörtént, és hozzáadunk néhány fejlécet a NYÁK -hoz vezető vezetékekhez. Ezeknek a vezetékeknek körülbelül 16 cm hosszúnak kell lenniük. Annak érdekében, hogy a fémpanel ne zárja rövidre, multiméterrel mérjük az összes csap közötti ellenállást. Ha 1 kOhm felett mutat valamit, minden rendben van.
Most csatlakoztathatjuk egy Arduino -hoz, futtathatunk egy szálkatesztet és élvezhetjük a színeket.
5. lépés: Készítsen fényvezetőt
Ha közvetlenül a tejes akril mögé tesszük a ledpanelt, meglehetősen bonyolult lehet megkülönböztetni az egyes LED -eket. Ez még nehezebbé tenné az óránk olvasását, mint amilyen.
Ennek a problémának a megoldására egy kis fényvezetővel készülünk. Ehhez egyszerűen kivágunk egy másik MDF -darabot, amely ugyanolyan méretű, mint az előlap. Ezután újabb sablont adunk hozzá, és tizennyolc 3, 5 mm -es lyukat fúrunk a LED -ekhez, valamint négy 4, 5 mm -es lyukat a csavarokhoz. Ezután rögzíthetjük az előlapra, és csiszolópapírral igazíthatjuk a kettőt.
Amint az utolsó képen is látszik, a fény most sokkal koncentráltabbnak tűnik.
6. lépés: Készítse el a gombkeretet
Az utolsó házrész, amelyet elkészítünk, a gombkeret.
Mi, egyek, vágunk egy darab MDF -et a megfelelő méretre, és adunk hozzá egy sablont, majd fúrunk minden szükséges lyukat, és a fűrész segítségével kivágjuk a középső részt.
A keretünknek a helyén kell tartania a 4 érintőgombot, a fényérzékelőt és a kis hangszórónkat. Mielőtt rögzítenénk őket a kerethez, vágjunk ki néhány kisebb fedődarabot az MDF -ből. Ezután ragasztjuk fel alkatrészeinket ezekre a burkolatokra, és adjunk hozzá vezetékeket.
Az érintőgomb tápegységei párhuzamosan vannak összekötve, miközben minden kimeneti sor külön vezetéket kap. Ez egy jó pillanat arra is, hogy tesztelje, hogy mindegyik működik -e. Mivel a fényérzékelőnek 5 voltra van szüksége az egyik oldalon, egyszerűen csatlakoztathatjuk a riasztógombok VCC padjához, és forraszthatunk egy vezetéket a másik lábhoz.
A panelek előkészítése után belevágunk a keret oldalába, hogy helyet adjunk nekik és a vezetékeknek.
Ezután porszívóval eltávolítjuk a faport az összes darabból, és lefedjük őket.
A precíziós késsel eltávolítjuk a vinil darabokat, közvetlenül az érintőmoduljaink érzékeny területei felett. Néhány kétoldalas ragasztószalaggal saját gombjainkat rögzíthetjük az MDF -hez. A gombjaimat gumiból készítettem, ami kellemes, lágy állagot kölcsönöz nekik, de bármilyen nem fémes anyagot használhat.
A kereten késünkkel ismét felszabadítunk egy kicsit az MDF -ből, ami tapadós felületet biztosít a forró ragasztó számára. Ezután végre ragaszthatjuk az alkatrészeket a keretünk oldalához.
7. lépés: Forrasztja a fő NYÁK -t
Hagyjuk a keretet a jelenlegi állapotában, és lépjünk tovább a NYÁK -ra. A PCB elrendezést az első képen láthatja.
Kezdjük azzal, hogy a legalacsonyabb profilú alkatrészeket helyezzük az áramköri lapra. A legkisebb alkatrészek a dróthidak, amelyekre egy kicsit későn emlékeztem, ezért az ellenállásokkal kezdtem. A helyére forrasztjuk az alkatrészeket, és továbblépünk a következő magasabb komponenskészlethez.
Következnek a női fejlécek. A helytakarékosság és az elektronika oldalról történő csatlakoztatása érdekében ezeket 90 fokos szögben szereljük fel.
A tranzisztorok nem igazán illeszkednek a PCB -nk 2, 54 mm -es lyukatávolságához, ezért fogóinkkal gondosan hajlítsuk lábaikat a második képen látható alakhoz. Először forrasztjuk az egyik lábukat a helyükre, és fordítsuk meg a NYÁK -ot. Ezután felmelegítjük a forrasztókötést, és ujjunkkal vagy fogóval párosítjuk az alkatrészt. Most a másik két lábat a helyére forraszthatjuk.
Az összes apró alkatrész után a helyére forrasztjuk az Arduino -t és a valós idejű óramodult. Az RTC modul szintén nem illeszkedik olyan jól a lyukközhöz, ezért csak azt az oldalt fogjuk felszerelni, amely 7 forrasztópázzal rendelkezik, fejrészekkel. Ezenkívül ragasztószalagot helyezünk alá, hogy megakadályozzuk a rövidzárlatot.
Mivel minden alkatrészünk a helyére van forrasztva, itt az ideje, hogy elvégezze a csatlakozásokat a tábla másik oldalán. Ehhez ki kell venni a nem szigetelt huzalunkat. Egy fogóval lehet egyengetni. Ezután a huzalt kisebb darabokra vágjuk, és forrasztjuk a NYÁK -ra.
A csatlakozáshoz felmelegítünk egy forrasztókötést, és behelyezzük a vezetéket. Ezután a forrasztóiont rajta tartjuk, amíg el nem éri a megfelelő hőmérsékletet, és a forrasztóanyag be nem zárja, és olyan kötést kapunk, amely úgy néz ki, mint a képen. Ha nem melegítjük fel a vezetéket, akkor hideg kötést kapunk, amely hasonló a másik példához, és nem vezet túl jól. Használhatjuk a drótvágónkat, hogy forrasztás közben nyomjuk le a vezetéket, és győződjünk meg arról, hogy az simán fekszik a NYÁK -on. Hosszabb csatlakozási utakon 5-6 lyukonként egyetlen betéthez forrasztjuk, amíg el nem érjük a sarkot vagy a következő alkatrészt.
Egy sarokban levágjuk a drótot a forrasztópárna első fele fölött, és a végét forrasztjuk rá. Ezután veszünk egy új drótdarabot, és onnan megyünk tovább derékszögben.
Az üres huzalcsatlakozások elkészítése meglehetősen bonyolult és bizonyos készségeket igényel, így ha ezt először teszi meg, mindenképpen nem rossz ötlet, ha a nyers PCB -n gyakorolja, mielőtt megpróbálja megcsinálni.
A forrasztás befejezése után ismét ellenőrizzük a csatlakozásokat, és győződjünk meg arról, hogy nem okozott -e rövidzárlatot. Ezután a NYÁK -ot a gombkeret belsejébe tehetjük, és referenciaként használhatjuk a szükséges kerethuzalok hosszához. Ezután elvágjuk ezeket a huzalokat a megfelelő hosszúságúra, és hozzáadunk hozzájuk dugófejű csapokat.
Az érintőgombok összes 5 V -os és földelt csatlakozója egy 2 tűs csatlakozóba kerül. A 4 kimeneti vezeték 4 tűs csatlakozót kap, a fényérzékelő vonal, valamint a két hangszóró vezeték három érintkezős csatlakozóba olvad. Ne felejtse el megjelölni minden aljzat és csatlakozó egyik oldalát élesítővel vagy valamilyen szalaggal, hogy véletlenül ne dugja be őket rossz módon.
8. lépés: Szerelje össze az órát
Ezt követően visszatértem az előlapra, és óvatosan felragasztottam egy matricát, amely átlátszó lézernyomtató fóliából készült.
Annak ellenére, hogy nagyon óvatosan alkalmaztam, nem tudtam buborékmentes eredményt elérni, ami sajnos alaposan megvizsgálva jól látható. A fólia nem nagyon tapad a sarkokhoz, így nem igazán tudom ajánlani ezt a megoldást.
Valószínűleg jobb matricával is meg lehetne csinálni, vagy ha jól rajzol, akkor a számokat egy élesítővel egészítheti ki.
Most már minden alkatrész megvan, és összeállíthatjuk az órát.
Először a fényvezető és az előlap összerakásával kezdjük. Miután mind a 4 csavar be van húzva, igazítjuk a két panelt, majd húzzuk meg őket. Pár dió később jön a fénypanel, ahol meg kell nézni az irányt. A kábelnek felül kell lennie.
A harmadik darab a gombkeret. Ne feledje, hogy elölről nézve a hangszórónak az óra jobb oldalán kell lennie. Húzza át a led panel kábelét a keret közepén, mielőtt a helyére rögzítené.
Most rátesszük az elülső szerelési segédeszközt, és továbblépünk a hátsó panelhez. A képen látható a gyönyörű, saját készítésű 90 fokos mini USB adapter is. Linkeltem neked egy megfelelő adaptert, így nem kell megküzdened ezzel a fajta rendetlenséggel. Egyszerűen csatlakoztathatja az adaptert, és átvezetheti a kábelt a hátsó panelen lévő lyukon.
Fogjuk az M3 csavarjainkat és a PCB távtartóinkat a kis ablak rögzítéséhez. Fontos, hogy óvatosan húzza meg a csavarokat, mivel nem akarjuk károsítani az akrilunkat. Ezután fogjuk a PCB -t, csatlakoztassuk az adaptert és csavarjuk rá a távtartókra. Az alkatrészoldalnak az ablak felé kell néznie, míg az Arduino USB -portja az óra aljára néz.
Ezután csatlakoztassa az összes csatlakozót az elülső szerelvényből, miközben szem előtt tartja a polaritást, és óvatosan nyomja össze az összes vezetéket az órában. Ezután bezárhatjuk a hátsó panellel, és meghúzzuk a 4 fennmaradó rögzítőanyát.
A végén azt szeretné, hogy minden panel minden oldalán legyen egy alátét, míg a fényvezető közvetlenül az előlap mögött helyezkedik el. Van egy anya a fényvezető és a led panel között, és még kettő, elválasztva azt a gomb keretétől. Ezt láthatod az utolsó képen is.
Mivel rövid, 40 mm hosszú csavarokat használtam, csak 3 anyám van, amelyek távol tartják a hátlapot és a keretet. A megfelelő 45 mm -es csavarokkal még egy anyát adhat hozzá, valamint egy vagy két extra alátétet. Az összeszerelés végén megvan a záróanyánk, így minden a helyén marad.
9. lépés: Töltse fel a kódot és kalibrálja a fényérzékelőt
Ideje feltölteni a kódunkat.
Először töltsük le az összes szükséges fájlt, és bontsuk ki őket. Ezután megnyitjuk az Arduino könyvtárak mappát, és az összes új könyvtárat belehelyezzük.
Most megnyitjuk a fényérzékelő kalibrálási vázlatát, amely megkapja az óra automatikus dimmer funkciójának világos és sötét értékeit. Feltöltjük, megnyitjuk a soros monitort, és követjük a képernyőn megjelenő utasításokat.
Ezt követően megnyitjuk a bináris órák aktuális kódját, és a két értéket lecseréljük azokra, amelyeket éppen mértünk.
Bezárunk minden más ablakot, feltöltjük a kódot az óránkba, és kész.
Ideje játszani az új szerkentyűvel.
10. lépés: A bináris rendszer gyors bemutatása
Mielőtt folytatnánk, szeretnék válaszolni egy kérdésre, amely valószínűleg már megfordult a fejében, - Hogy a világon olvassa ezt az órát?
Nos, ehhez szeretnék röviden bemutatni a bináris rendszert.
Mindannyian ismerjük a tizedes rendszert, ahol minden számjegynek 10 különböző állapota lehet, 0 és 9 között. bináris szám megjelenítése.
A 9 -nél nagyobb tizedes számok megjelenítéséhez további számjegyeket adunk hozzá. Minden számjegyhez tartozik egy bizonyos szorzó. A jobb oldali első számjegy 1 -es szorzót tartalmaz, a következő 10, a következő pedig 100. Minden új számjegynél a szorzó tízszer akkora, mint az előző számjegy. Tehát tudjuk, hogy a kettes számjegy egy számjegyet balra helyez, a 20. számot jelöli. Míg két számjegy balra, 200 -at jelent.
A bináris rendszerben minden számjegyhez szorzó is tartozik. Mivel azonban minden számjegynek csak két különböző állapota lehet, minden új szorzó kétszer akkora, mint az előző. Ja és egyébként a bináris számjegyeket biteknek hívják. Nézzük tehát az első példánkat, ha az 1 -t a legalacsonyabb pozícióba helyezzük, akkor egyszerű 1, de ha a következő magasabb pozícióra helyezzük, ahol szorzónk 2, akkor a bináris szám 2 -es számát képviseli.
Mit szólnál egy kicsit trükkösebb példához a kép alján. A harmadik és az első bit be van kapcsolva. Az itt ábrázolt tizedes szám megszerzéséhez egyszerűen hozzá kell adnunk a két bit értékét. Tehát 4 * 1 + 1 * 1 vagy 4 + 1 az 5 -ös számot adja.
8 bitre bájtként hivatkozunk, ezért nézzük meg, hogy milyen számot kapunk, ha eggyel kitöltünk egy bájtot.1+2+4+8+16+32+64+128, azaz 255, ami a legmagasabb érték egyetlen bájtban.
Mellesleg, míg a tizedes rendszerben mindig a legnagyobb szorzóval rendelkező számjegy az első, addig kétféleképpen írhat le egy számot binárisan. Ezt a két módszert nevezik legkevésbé szignifikáns bájt elsőnek (LSB) és legjelentősebb bájt elsőnek (MSB). Ha bináris számot szeretne olvasni, akkor tudnia kell, hogy a két formátum közül melyiket használja. Mivel közelebb áll a tizedesrendszerhez, bináris óránk az MSB változatot használja.
Térjünk vissza valós példánkhoz. Amint azt a hatodik kép is kiemeli, az óránk 4 bittel rendelkezik az óra megjelenítéséhez. Nekünk 6 bitünk van a percre, és 6 bit a másodpercre. Továbbá van egy am/pm bitünk.
Rendben, mondd meg, hány óra van a 6. képen, majd ugorj az utolsóra.. ….
az óra szakaszban 2+1 van, ami 3 és a pm bit be van kapcsolva, így este van. Következzen a 32+8 perc, azaz 40. A másodpercekhez 8+4+2, azaz 14. Tehát 15:40:14 vagy 15:40:14.
Gratulálok, most tanult meg bináris órát olvasni. Természetesen némi megszokást igényel, és kezdetben össze kell adnia a számokat, minden alkalommal, amikor tudni akarja, hány óra van, de hasonlóan a számlap nélküli analóg órához, megszokja a LED mintáit idő.
És ez része ennek a projektnek is, és a bináris rendszerhez hasonlóan elvont dolgokat a valós világba vitt és jobban megismert.
11. lépés: A bináris ébresztőóra használata
Most végre szeretnénk játszani az órával, ezért vessünk egy gyors pillantást a kezelőszervekre.
A szoftver képes megkülönböztetni egyetlen gombnyomást, dupla koppintást és hosszú koppintást. Így minden gomb több műveletre is használható.
A fel vagy le gomb kétszeri megérintése megváltoztatja a LED színmódját. Választhat a különböző statikus és halványuló színmódok, valamint a hőmérsékleti mód között. Ha valamelyik statikus színmódban van, a fel vagy le gomb lenyomva tartásával megváltoztathatja a színt. Fading módban egyetlen érintés megváltoztatja az animációk sebességét.
A dimmer mód beállításához koppintson duplán az OK gombra. A led panel többször villogva jelzi a beállított módot.
- Egyszer azt jelenti, hogy nincs fényerő.
- Kétszer azt jelenti, hogy a fényerőt a fényérzékelő szabályozza.
- Háromszor, és a LED automatikusan kikapcsol 10 másodperc tétlenség után.
- Négyszer és mindkét dimmer mód kombinálva.
Az OK gomb hosszan tartó megnyomásával belép az időbeállítási módba, ahol a fel és le nyilak segítségével módosíthatja a számot. Az ok gomb egyetlen érintésével az órákról a percekre léphet, még egy koppintással beállíthatja a másodperceket. Ezt követően egy utolsó koppintás menti az új időt. Ha véletlenül belép az időbeállítási módba, akkor várjon 10 másodpercet, és az óra automatikusan kilép.
Az ok gombhoz hasonlóan a riasztás gomb hosszú megnyomásával beállíthatja az ébresztést. A riasztás gomb kétszeri megérintése be- vagy kikapcsolja a riasztást.
Ha csörög az óra, akkor csak egyszer érintse meg a riasztás gombot, hogy 5 percre alvó állapotba küldje, vagy tartsa lenyomva, hogy kikapcsolja a riasztást.
Ez volt az óra összes funkciója. Lehet, hogy a jövőben még többet is hozzáadhatok, ha letöltheti a legújabb firmware verziót.
12. lépés: A kód megértése (nem kötelező)
Tudom, hogy sokan nem szeretik a programozást. Szerencsére ezeknek az embereknek a programozási ismerete nem szükséges a bináris óra felépítéséhez és használatához. Ha tehát nem törődik a programozási oldallal, egyszerűen kihagyhatja ezt a lépést.
Ha azonban érdekli a kódolási rész, szeretnék általános áttekintést adni a programról.
Az órajel minden apró részletének elmagyarázása önmagában Instructable lenne, ezért egyszerű leszek, ha a programot objektumorientált módon magyarázom.
Ha nem tudja, mit jelent ez, az objektumorientált programozás (OOP) a legtöbb modern programozási nyelv, például a C ++ fogalma. Lehetővé teszi, hogy különböző függvényeket és változókat úgynevezett osztályokba rendezzen. Az osztály egy sablon, amelyből egy vagy több objektumot hozhat létre. Ezen objektumok mindegyike kap nevet és saját változóhalmazt.
Például az óra kódja használ néhány MultiTouchButton objektumot, például a alarmButton. Ezek a MultiTouchButton osztály objektumai, amelyek a Button könyvtárom részét képezik. A legjobb dolog ezekben az objektumokban az, hogy a valós világhoz hasonló módon kezelheti őket. Például ellenőrizhetjük, hogy duplán koppintott -e a riasztás gombra a alarmButton.wasDoubleTapped () meghívásával. Ezenkívül ennek a funkciónak a megvalósítása szépen el van rejtve egy másik fájlban, és nem kell tartanunk attól, hogy megtörjük, ha bármi mást megváltoztatunk a kódunkban. Gyors belépés az objektumorientált programozás világába, megtalálható az Adafruit weboldalán.
Amint az a fenti ábrán látható, az órák program egy csomó különböző objektumot tartalmaz.
Most beszéltünk a gombobjektumokról, amelyek a bemeneti jeleket csapként, dupla koppintásként vagy hosszú megnyomásként értelmezhetik.
A zenegép, ahogy a neve is sugallja, zajt kelthet. Több dallamot tartalmaz, amelyeket egy kis hangszórón keresztül lehet lejátszani.
A binaryClock objektum kezeli az időt és az ébresztési beállítást, valamint a riasztásfigyelést. Ezenkívül megkapja az időt az rtc modulból, és bináris információpufferré alakítja a ledPanel számára.
A colorController magában foglalja az összes színhatás funkciót, és biztosítja a colorBuffert a ledpanel számára. Ez is menti az állapotát az Arduinos EEPromban.
A fényerő -szabályozó gondoskodik az óra fényerejéről. Különböző üzemmódokkal rendelkezik, amelyeken a felhasználó át tud lépni. Az aktuális üzemmód az EEProm -ban is mentésre kerül.
A ledPanel különböző puffereket kezel az egyes LED -ek színértéke, fényereje és bináris állapota alapján. Amikor a pushToStrip () függvényt meghívják, átfedi azokat, és elküldi őket a led szalagra.
Az összes objektum a főkapcsolaton keresztül kapcsolódik (a beállítási és ciklusfunkciókkal rendelkező fájl), amely csak néhány funkciót tartalmaz 3 alapvető feladat végrehajtásához.
- Felhasználói bemenet értelmezése - Ez a bemenet a 4 gombos objektumtól, és logikán keresztül teszi őket. Ez a logika ellenőrzi az óra aktuális állapotát, hogy megállapítsa, az óra normál, időbeállítási vagy csengetési módban van -e, és ennek megfelelően hívja le a többi objektumtól a különböző funkciókat.
- Objektumok közötti kommunikáció kezelése - Folyamatosan megkérdezi a binaryClock objektumot, hogy van -e új információja, vagy ha a riasztás csenget (). Ha új információval rendelkezik, akkor a informationBuffert a binaryClock -tól kapja, és elküldi a ledPanel objektumnak. Ha az óra csörög, elindítja a zenegépet.
- Objektumok frissítése - A program minden objektumának van egy frissítési eljárása, amelyet például a bemenetek ellenőrzésére vagy a LED színeinek megváltoztatására használnak. Ezeket többször meg kell hívni a hurok funkcióban, hogy az óra megfelelően működjön.
Ennek általános megértést kell adnia arról, hogyan működnek együtt az egyes kódrészletek. Ha konkrétabb kérdései vannak, egyszerűen megteheti.
Mivel a kódom messze nem tökéletes, a jövőben tovább fogom fejleszteni, így néhány funkció megváltozhat. A jó dolog az OOP -ban az, hogy továbbra is nagyon hasonló módon fog működni, és továbbra is használhatja a grafikát annak megértéséhez.
13. lépés: Utolsó szavak
Örülök, hogy idáig elolvastad. Ez azt jelenti, hogy a projektem nem volt túl unalmas:).
Rengeteg munkát fektettem ebbe a kis órába, és még több munkát a dokumentációba és a videóba, hogy megkönnyítsem a saját bináris ébresztőórájának elkészítését. Remélem, hogy az erőfeszítésem megérte, és egy nagyszerű ötlettel elkötelezhetem Önt a következő hétvégi projektre, vagy legalább adhatok egy kis inspirációt.
Szeretném hallani, hogy mit gondol az óráról az alábbi megjegyzésekben:).
Annak ellenére, hogy megpróbáltam minden részletre kiterjedni, lehet, hogy lemaradtam egy -két dologról. Szóval nyugodtan kérdezz, ha maradt kérdés.
Mint mindig, nagyon köszönöm az olvasást és a jó alkotást.
Második hely a LED -es versenyen 2017
Ajánlott:
Intelligens ébresztőóra: Raspberry Pi -vel készült intelligens ébresztőóra: 10 lépés (képekkel)
Intelligens ébresztőóra: Raspberry Pi -vel készült intelligens ébresztőóra: Szeretett volna valaha okos órát? Ha igen, akkor ez a megoldás az Ön számára! Készítettem intelligens ébresztőórát, ez egy óra, amellyel megváltoztathatja az ébresztési időt a webhely szerint. Amikor a riasztó megszólal, hangjelzés (csipogó) és 2 lámpa hallatszik
DIY Arduino bináris ébresztőóra: 14 lépés (képekkel)
DIY Arduino bináris ébresztőóra: Ez ismét a klasszikus bináris óra! De ezúttal még több kiegészítő funkcióval! Ebben a tanulságosban megmutatom, hogyan lehet bináris ébresztőórát készíteni az Arduino segítségével, amely nemcsak az időt, hanem a dátumot, a hónapot is mutatja, még az időzítővel és az ébresztő szórakoztatással is
Arduino alapú érintésmentes infravörös hőmérő - IR alapú hőmérő Arduino használatával: 4 lépés
Arduino alapú érintésmentes infravörös hőmérő | IR alapú hőmérő Arduino használatával: Sziasztok, ebben az útmutatóban, érintésmentes hőmérőt készítünk arduino segítségével. Mivel néha a folyadék/szilárd anyag hőmérséklete túl magas vagy alacsony, majd nehéz kapcsolatba lépni vele és elolvasni ilyenkor a hőmérséklet
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen
A "Wise Clock 2" összeszerelése (Arduino-alapú ébresztőóra sok extra funkcióval): 6 lépés
A "Wise Clock 2" (Arduino-alapú ébresztőóra sok extra funkcióval) összeszerelése: Ez az oktatóanyag bemutatja, hogyan kell összeszerelni a készletet a Wise Clock 2, egy nyílt forráskódú (hardver és szoftver) projekthez. A teljes Wise Clock 2 készlet itt vásárolható meg. Összefoglalva: a Wise Clock 2 képes erre (a jelenlegi nyílt forráskódú szoftverrel