Obsah:
- Zásoby
- Krok 1: Pripojte obvod
- Krok 2: Príprava časti bzučiaka
- Krok 3: Príprava panelu LED
- Krok 4: Príprava prepínača (tlačidlo v skutočnosti)
- Krok 5: Príprava pásky LED
- Krok 6: Príprava kapacitného snímača
- Krok 7: Príprava napájacieho zdroja
- Krok 8: Pripojte ich k Arduinu
- Krok 9: Príloha
- Krok 10: Čas na programovanie
- Krok 11: Opravný mechanizmus
- Krok 12: Ako používať všetky funkcie
- Krok 13: Záver
- Krok 14: Aktualizácia: Po jednom týždni používania
Video: DIY Arduino binárny budík: 14 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Opäť sú to klasické binárne hodiny! Ale tentokrát s ešte viac dodatočnými funkciami! V tomto návode vám ukážem, ako vytvoriť binárny budík s Arduino, ktorý vám môže ukazovať nielen čas, ale aj dátum, mesiac, dokonca aj s funkciami časovača a budíka, ktoré je možné použiť aj ako nočnú lampu! Bez ďalších okolkov začnime!
Poznámka: Tento projekt nevyužíva modul RTC, takže presnosť závisí od dosky, ktorú ste použili. Zahrnul som nápravný mechanizmus, ktorý bude opravovať posun času za určité časové obdobie, ale budete musieť experimentovať, aby ste našli správnu hodnotu pre časové obdobie (Viac o tom nižšie), a dokonca aj s nápravným mechanizmom sa bude stále unášať dlhší čas (v porovnaní s bez neho). Ak má niekto záujem, neváhajte implementovať použitie modulu RTC v tomto projekte
Zásoby
5mm LED (akejkoľvek farby, použil som 13 bielych LED s jednou RGB LED ako indikátorom) --- 14 ks
Arduino Nano (ostatné môžu fungovať) --- 1 ks
Mikrospínač --- 1 ks
Malý kúsok hliníkovej fólie
Montážna doska (do skrinky, ale pokojne si navrhnite vlastnú)
Kus bieleho papiera (alebo akejkoľvek inej farby)
Nejaká plastová fólia (tá, ktorá sa používa ako obálka knihy)
Zväzok drôtov
Bzučiak --- 1 ks
NPN tranzistor --- 1ks
Rezistory 6k8 --- 14 ks, 500R --- 1 ks, 20R (10Rx2) --- 1 ks, 4k7 --- 1ks
Napájanie projektu (použil som Li-on batériu)
LED pás 5050 a posuvný spínač (voliteľné)
Krok 1: Pripojte obvod
Tento krok rozdelím na:
1) Časť bzučiaka
2) Panel LED
3) Prepínač (tlačidlo)
4) LED pás
5) Kapacitný snímač
6) Napájanie
7) Pripojte ich všetky k Arduinu
Väčšinou je to len krok „postupujte podľa schémy“. Pozrite sa teda na vyššie uvedenú schému alebo si ju dokonca stiahnite a vytlačte!
Krok 2: Príprava časti bzučiaka
Ak ste v minulosti používali bzučiak s Arduinom, budete vedieť, že ak ho pripojíme priamo k Arduinu, nebude dostatočne hlasný. Potrebujeme teda zosilňovač. Na stavbu zosilňovača potrebujeme tranzistor NPN (v zásade bude fungovať akýkoľvek NPN, použil som S9013, pretože som ho dostal zo starého projektu) a nejaký odpor na obmedzenie prúdu. Na začiatku najskôr identifikujte kolektor, vysielač a základňu tranzistora. Na to poslúži trocha googlenia údajového listu. Potom spájkujte kolektor tranzistora so záporným pólom bzučiaka. Na kladný pól bzučiaka k nemu jednoducho pripájame kus drôtu, aby sme ho neskôr mohli spájkovať s naším Arduino. Potom spájkujte odpor 500R (alebo akúkoľvek podobnú hodnotu odporu) na základňu tranzistora a z rezistora spájajte ďalší kus drôtu na budúce použitie. Nakoniec spojte dva odpory 10R do série k emitoru tranzistora a pripojte ďalší vodič z odporov.
Naozaj si pozrite schému.
p/s: V čase, keď to píšem, stále neviem, ako vybrať odpor pre tranzistor. Hodnota, ktorú som použil, je vybraná empiricky.
Krok 3: Príprava panelu LED
Podľa toho zapojte LED diódy a odpor do prototypovej dosky a spájkujte. To je všetko. Postupujte podľa schémy. V prípade, že vás zaujímajú medzery, ktoré som použil, 3 otvory od seba pre každý stĺpik a dva otvory od seba pre každý rad (pozri obrázok). A kontrolka LED? Pripojil som to náhodne.
Po spájkovaní LED a rezistora na dosku spojte všetky kladné póly LED dohromady. Potom spájajte vodiče jeden po druhom s každým z rezistora na záporných póloch LED diód, aby sme ich mohli neskôr spájkovať s Arduinom.
POZNÁMKA: Tento krok vás môže zmiasť. Nezabudnite, že namiesto toho, aby sme spojili celú zem, spojíme všetky kladné a záporné svorky k jednotlivým kolíkom na Arduine. Ako uzemnenie teda používame pin Arduino GPIO, nie Vcc. V prípade, že ho omylom pripojíte dozadu, nebojte sa. Všetky funkcie HIGH až LOW a LOW až HIGH môžete upraviť vo funkcii ledcontrol.
Krok 4: Príprava prepínača (tlačidlo v skutočnosti)
Na prepínač (budem ho nazývať prepínačom, pretože som použil mikrospínač, ale vy viete, že je to tlačidlo) potrebujeme sťahovací odpor 4k7 a samozrejme samotný spínač. Ach, nezabudnite si pripraviť nejaké drôty. Začnite spájkovaním odporu a kúska drôtu na spoločnú zem (COM) mikrospínača. Potom pripájajte ďalší kus drôtu k normálne otvorenému (NO) mikrospínača. Nakoniec k rezistoru pripojte ďalší drôt. Zaistite ho horúcim lepidlom.
Roh znalostí: Prečo potrebujeme sťahovací odpor?
"Ak odpojíte digitálny I/O pin od všetkého, LED dióda môže blikať nepravidelne. Dôvodom je, že vstup" pláva " - to znamená, že sa náhodne vráti buď VYSOKÝ alebo NÍZKY. Preto potrebujete vyťahovací alebo sťahovací odpor v obvode. “- Zdroj: webová stránka Arduino
Krok 5: Príprava pásky LED
LED pás je pre bočné svetlo postele, ktoré je voliteľné. Stačí prepojiť LED pás a posuvný spínač dohromady v sérii, nič zvláštne.
Krok 6: Príprava kapacitného snímača
Dobre, pozrite sa na obrázok. V zásade sa chystáme pripevniť drôt na malý kúsok hliníkovej fólie (pretože hliníkovú fóliu nie je možné spájkovať) a potom ho prilepiť páskou na malý kúsok montážnej dosky. Pripomíname, že hliníkovú fóliu úplne nezlepíte. Ponechajte časť z nej odhalenú pre priamy kontakt.
Krok 7: Príprava napájacieho zdroja
Pretože som ako zdroj napájania používal batériu Li-on, potrebujem modul TP4056 na nabíjanie a ochranu a zosilňovač na premenu napätia na 9 V. Ak ste sa rozhodli použiť 9V nástenný adaptér, možno budete potrebovať konektor DC alebo ho jednoducho pripojte priamo. Všimnite si toho, že hodnota odporu pre zosilňovač je navrhnutá pre 9V a ak chcete použiť iné napätie, možno budete musieť zmeniť odpor.
Krok 8: Pripojte ich k Arduinu
Postupujte podľa schémy! Postupujte podľa schémy! Postupujte podľa schémy!
Nepripájajte nesprávny kolík, inak to bude divné.
Krok 9: Príloha
Rozmer môjho návrhu je 6,5 cm*6,5 cm*8 cm, takže je trochu objemný. Skladá sa z predného okna pre LED displej a horného okna pre nočnú lampu. Môj návrh nájdete na obrázkoch.
Krok 10: Čas na programovanie
Stiahnite si môj náčrt nižšie a nahrajte ho do svojho Arduina. Ak neviete, ako na to, neobťažujte sa robiť tento projekt! Nie, žartujem, tu je k tomu dobrý návod: Nahrajte skicu do arduina
Potom otvorte sériový monitor a mali by ste vidieť, ako vychádza aktuálny čas. Ak chcete nastaviť čas, postupujte takto.
Ak chcete nastaviť hodinu: h, XX - kde xx je aktuálna hodina
Ak chcete nastaviť minútu: min, XX - xx je aktuálna minúta
Nastaviť druhé: s, XX
Ak chcete nastaviť dátum: d, XX
Nastaviť mesiac: po, XX
Keď sa spustí vyššie uvedený komentár, mal by vám vrátiť hodnotu, ktorú ste práve nastavili. (Ak napríklad nastavíte hodinu pomocou h, 15, mala by sa na sériovom monitore vrátiť Hour: 15.
Pokiaľ ide o kapacitný snímač, možno ho budete musieť najskôr kalibrovať. Ak to chcete urobiť, dvakrát stlačte mikrospínač a pozrite sa na sériový monitor. Malo by to priniesť veľa čísel. Teraz priložte prst na kapacitný snímač a uvidíte, ako si všimnete rozsah čísla. Ďalej upravte premennú "captrigger". Povedzme, že po stlačení získate 20-30, potom nastavte captrigger na 20.
Náčrt používa knižnicu ADCTouch, uistite sa, že ste ju nainštalovali.
Krok 11: Opravný mechanizmus
Časový úsek pre nápravný mechanizmus v mojom kóde je nastavený na ten, ktorý je pre mňa presný. Ak čas stále nie je presný, musíte zmeniť hodnotu premennej „corrdur“
Corrdur je v najnovšej aktualizácii predvolene nastavený na 0.
Hodnota corrdur znamená, koľko milisekúnd trvá spomalenie jednej sekundy
Ak chcete zistiť hodnotu kordu, použite vzorec:
2000/(r-x)/x)
kde x = skutočná doba, ktorá uplynul, a y = doba, ktorá uplynula od času, obe v sekundách
Ak chcete nájsť hodnotu x a y, musíte urobiť malý experiment.
Nastavte čas hodín na skutočný čas a zaznamenajte počiatočný čas (skutočný počiatočný čas a počiatočný čas hodín by mali byť rovnaké). Po chvíli (niekoľko hodín) zaznamenajte konečný skutočný čas a konečný čas hodín.
x = skutočný konečný čas-počiatočný čas a y = konečný čas-počiatočný čas hodín
Potom zmeňte hodnotu corrduru v kóde a znova načítajte do Arduina.
Potom zopakujte test a tentokrát sa vzorec zmenil na:
2000/((2/z)+(y-x/x))
Kde xay je rovnaká vec ako predtým, zatiaľ čo z je aktuálna hodnota kordu.
Nahrajte znova a test robte znova a znova, kým nebude pre vás dostatočne presný.
V prípade, že sa vaše hodiny stále zrýchľujú, dokonca aj keď je corrdur nastavený na 0 (to znamená, že neexistuje žiadny opravný mechanizmus), musíte zmeniť druhé ++ na druhé- v časti kódu opravného mechanizmu (komentoval som to), nastaviť corrdur na 0, potom nájdi č. milisekundy trvá zrýchlenie jednej sekundy.
Krok 12: Ako používať všetky funkcie
Režim môžete zmeniť stlačením mikrospínača.
V prvom režime jednoducho zobrazuje čas. Ak kontrolka bliká 1 krát za sekundu, alarm je vypnutý. Ak 2 krát za sekundu, budík je zapnutý. V prvom režime môžete alarm odložiť na 10 minút stlačením kapacitného senzora.
V druhom režime zobrazuje dátum. Lisovací kapacitný snímač nerobí nič.
V treťom režime môžete nastaviť časovač. Stlačením kapacitného senzora sa zapne časovač a mali by ste vidieť, že kontrolka začala blikať. Kapacitný snímač sa používa aj na nastavenie času časovača. Rozsah časovača je 1 minúta až 59 minút.
V štvrtom režime môžete nastaviť hodinu budíka pomocou kapacitného senzora
V piatom režime môžete pomocou kapacitného senzora nastaviť minútu alarmu.
V šiestom režime sa stlačením kapacitného senzora resetujú minúty na 30 a sekundy na 0 bez zmeny hodiny. To znamená, že pokiaľ sa vaše hodiny neposúvajú o 30 minút, môžete ich v tomto režime znova nakalibrovať.
Siedmy režim je režim nerobiť nič v prípade, že sa kapacitný snímač pri nabíjaní vyskytne chyba.
Ak chcete alarm vypnúť, stačí stlačiť mikrospínač. (POSLEDNÁ AKTUALIZÁCIA SO ZAHRNUTÍM ALARMU SNOOZE)
Čo tak čítať hodiny? Je to ľahké! Čítanie binárnych hodín - Wikihow Možno sa budete spočiatku cítiť divne, ale zvyknete si!
Krok 13: Záver
Prečo som začal s týmto projektom. Spočiatku je to kvôli tomu, že mám staré digitálne hodinky, ktoré ležia okolo a chcem z nich urobiť budík. Staré hodinky sa bohužiaľ pokazili. Takže som bol rád, prečo si ho nevybudovať pomocou Arduina? S trochou vyhľadávania Google som našiel tento projekt s binárnymi hodinami bez RTC na pokyne od Cello62. Nemá však funkciu budíka, ktorú by som chcel, a tak kód vezmem a upravím sám. A projekt je na svete. Navyše som nedávno videl, ako prebieha hodinová súťaž podľa pokynov, čo mi dalo ešte väčšiu motiváciu to urobiť. Každopádne je to stále môj prvý projekt využívajúci Arduino, takže veľa možných vylepšení.
Budúce zlepšenie:
1) Použite RTC
2) Nastavte budík alebo čas alebo časovač bezdrôtovo!
3) Akúkoľvek funkciu si myslím
Krok 14: Aktualizácia: Po jednom týždni používania
Okrem zjavného problému - posunu času, ďalším, ktorý by som povedal, je spotreba energie. Najprv vôbec zvýšim napätie na 9 V, ktoré potom zníži lineárny regulátor v Arduine. Lineárny regulátor je veľmi neefektívny. Hodiny trvajú iba JEDEN DEŇ. To znamená, že ho musím každý deň dobíjať. To nie je najväčší problém, kým si neuvedomíte, že celý systém je účinný iba asi 50%. Vzhľadom na to, že moja batéria má 2 000 mAh, by som bol schopný vypočítať stratený výkon každý deň.
Využitá energia = (7,4 Wh*10%)+(7,4 Wh*90%*50%) = 4,07 Wh za deň
To je 1,486 kWh za rok! To sa dá použiť na varenie 283 g vody (od 25 ° C do 100 ° C)? Ale v každom prípade idem zlepšiť účinnosť hodín. Spôsob, ako to dosiahnuť, je nepoužívať lineárny regulátor vôbec. To znamená, že musíme nastaviť zosilňovač zosilňovača na výstup 5 V priamo do kolíka 5 V na Arduine. Ďalej, aby som ešte viac minimalizoval plytvanie energiou, musím odstrániť dve LED na doske (pin13 a napájanie), pretože budú míňať 0,95 Wh za deň. Nanešťastie som v spájkovaní SMD úplne bezstarostný, takže jediný spôsob, ako to urobiť, je odrezať koľajnicu na doske. Potom musím odstrániť rezistor emitora na bzučiaku a nočnej žiarovke (pásik LED nefunguje pri 5V). Znamená to však, že sa musíte vzdať tejto úžasnej funkcie? Nie! Tu máte dve možnosti: Použite normálnu 5mm LED diódu alebo použite 5V LED pás. Ale pre mňa som sa už cítil unavený z toho, že som celý tento týždeň robil tento projekt, a tak som sa rozhodol vzdať sa tejto funkcie. Spínač som však pôvodne použil na funkciu osvetlenia na zapnutie alebo vypnutie panela s hodinami, aby som ešte viac šetril energiu, ale LED dióda bliká, keď ho vypnem. Stala sa chyba funkciou? Neviem (Kto vie, prosím, dajte mi vedieť nižšie).
Na konci úpravy teraz hodiny trvajú viac ako 2 dni!
Ďalej mám menej vážny problém s hodinami. Počas nabíjania by sa kapacitný senzor zbláznil, preto pridávam ďalší režim, ktorý nerobí nič.
Pokiaľ ide o posun času, pretože je veľmi nepohodlné každodenne sa pripájať k počítaču, aby sa resetoval, pridal som ďalší režim, ktorý nastaví minútu na 30 a sekundu na 0. To znamená, že ho môžete resetovať o pol jednej každú hodinu!
Odporúča:
Inteligentný budík: inteligentný budík vyrobený z Raspberry Pi: 10 krokov (s obrázkami)
Inteligentný budík: Inteligentný budík vyrobený z Raspberry Pi: Už ste niekedy chceli inteligentné hodiny? Ak je to tak, toto je riešenie pre vás! Vyrobil som inteligentný budík, toto sú hodiny, v ktorých môžete zmeniť čas budíka podľa webových stránok. Keď sa spustí alarm, zaznie zvuk (bzučiak) a 2 svetlá
Slap budík s Arduino: 13 krokov (s obrázkami)
Slap budík s Arduino: Neviem ako vy, ale jednoduchý budík ma nedokáže zobudiť. Potrebujem na prebudenie svetlo, zvuk a dokonca aj tichú facku. Žiadny budík ma neláka, a tak som sa rozhodol urobiť zo seba človeka, ktorý by ma hodný zobudiť. Aj keď sa zdá, že budík
DIY Sesame Street Budík (s požiarnym poplachom!): 6 krokov (s obrázkami)
DIY Sesame Street Alarm Clock (with Fire Alarm!): Ahoj všetci! Tento projekt je môj prvý. Pretože sa blížili prvé narodeniny mojej sesternice, chcel som jej urobiť špeciálny darček. Od strýka a tety som počul, že je na Sesame Street, a tak som sa so svojimi súrodencami rozhodol, že vyrobím budík
Binárny budík na báze Arduina: 13 krokov (s obrázkami)
Binárne budíky založené na Arduine: Hej, dnes by som vám chcel ukázať, ako vytvoriť jeden z mojich najnovších projektov, môj binárny budík. Na internete je veľa rôznych binárnych hodín, ale toto môže byť v skutočnosti prvý, vyrobený z pásu farebných adresovateľných diód LED,
Budík Sunrise s Arduino: 9 krokov (s obrázkami)
Budík Sunrise s Arduinom: Zima môže byť smutná. Zobudíte sa, je tma a musíte vstať z postele. Posledná vec, ktorú chcete počuť, je krikľavý zvuk budíka. Bývam v Londýne a ráno sa mi ťažko vstáva. Tiež mi chýba prebúdzanie sa