Obsah:
- Krok 1: Prehľad hardvérových prvkov
- Krok 2: Prehľad softvéru
- Krok 3: Zoznam dielov
- Krok 9: Návrh a písanie kódu
- Krok 10: Nainštalujte program
- Krok 11: Zostavte časovač
- Krok 12: Testovanie integrácie
- Krok 13: Záverečné myšlienky
Video: Multi-Timer W/ Externé ovládanie: 13 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Tento projekt Instructable je zostavením multifunkčného časovača
Tento časovač môže fungovať ako:
- Univerzálny alarm s voliteľnými časmi od 1 sekundy do +90 hodín. Odpočítavanie so zvukovým alarmom a/alebo ovládaním externého zariadenia do konca, potom odpočítavanie času od alarmu.
- Časovač spánku so 7 voliteľnými časmi, odpočítavaním a alarmom po dokončení.
- Meditačný časovač so 4 voliteľnými časmi, s odpočítavaním a krátkym cvrknutím po dokončení, odpočítavanie s ďalším cvrlikaním o 5 minút neskôr.
Tento projekt môže byť vyrobený tak, ako je tu popísané, alebo upravený tak, aby vyhovoval. Predtým som postavil časovač s touto funkciou a použil som ho vo svojom prvom Instructable na ovládanie boxu s ultrafialovým žiarením.
Myslel som si, že môžem len zverejniť pôvodný program a návrhy dosiek. Z nejakého dôvodu som však kód nemohol nájsť. Tiež som chcel vylepšiť hardvér, aby boli ovládacie obvody flexibilnejšie a aby sa znížilo vybíjanie batérie. Výsledný redizajn hlavnej dosky plošných spojov a opätovné zapísanie kódu poskytuje príležitosť na diskusiu o prístupe k programovaniu a návrhu hardvéru.
Kedykoľvek vytvorím dosku s obvodmi, často zistím, že existujú chyby v dizajne alebo umiestnení komponentov. Dosky, ktoré staviam, sú tiež jednou z dvoch nevýhod. Navyše sa rád zúčastňujem všetkých aspektov projektu od začiatku do konca. Toto sú niektoré z dôvodov, prečo si vyrábam vlastné dosky plošných spojov, než aby som odosielal súbory Gerber do zámoria na výrobu. Možno som len starý a zaseknutý vo svojich cestách. Tento projekt odráža túto zaujatosť. Keďže vyrábam vlastné obvody, moje návrhy a moje súbory Gerber nespĺňajú výrobné normy, tieto súbory som nezahrnul. Tí, ktorí nechcú leptať a dokončovať dosky, sú vítaní, aby si pripravili svoje vlastné návrhy a zverejnili súbory Gerbera v sekcii komentárov. Pred odoslaním nechajte svoje dosky vyrobiť a otestovať.
Krok 1: Prehľad hardvérových prvkov
Zariadenie je napájané 4 batériami AAA a je ovládané Arduino Pro Mini 5V.
Malý bzučiak/reproduktor poskytuje zvukový alarm.
Miniatúrne relé 5 V poskytuje riadiace napätie externým zariadeniam. V zdroji tohto výstupu riadiaceho napätia je zaistená flexibilita.
Otočný snímač polohy s tlačidlom umožňuje výber z ponuky.
Používateľské rozhranie dopĺňa OLED displej a prepínač štart/stop.
Ďalší elektronický hardvér pozostáva z vypínača SPDT a miniatúrneho telefónneho konektora na pripojenie k externým zariadeniam.
Okrem toho sú k dispozícii súbory, ktoré vám pomôžu v tomto projekte:
Súbory STL pre puzdro na 3D tlačený projekt.
Obrázky masky medi a spájky na leptanie a konečnú úpravu dosky riadiacich obvodov a rotačného snímača.
Schematické a tabuľové obrázky ako referencia pre tých, ktorí chcú upraviť môj dizajn.
Môžete si prečítať môj návod na vytváranie obojstranných dosiek s plošnými spojmi ako príklad postupu pri výrobe dosiek s plošnými spojmi.
Krok 2: Prehľad softvéru
Spolu so zdrojovými súbormi Arduino môžu byť užitočné aj ďalšie informácie.
Hardvérové riadiace knižnice sa používajú, ak sú k dispozícii (odblokovanie tlačidiel, ovládanie OLED, čítanie rotačného enkodéra).
Program implementuje jednoduchý stroj s konečným stavom (FSM) na riadenie vykonávania kódu ako príkaz prepínača vo funkcii slučky.
Trieda Menu je definovaná tak, aby umožňovala výber zobrazených možností na OLED a výber pomocou rotačného enkodéra.
Vstup je implementovaný priamym hlasovaním (bez prerušenia), pretože nie je časovo kritické a robí kód jasnejším.
Tlačové príkazy do Seriálu sa používajú na pomoc pri sledovaní vykonávania kódu a ladení
Rôzne typy prvkov štruktúry programu vrátane:
- Viacnásobné karty kódu na izoláciu niektorých funkcií a premenných ovládania hardvéru.
- Prepnite príkazy na nastavenie hodnoty stavu (FSM) a riadiacich premenných.
- Definícia štruktúry
- Výčty umožňujúce priradenie stavových hodnôt ako text.
- #define definície predprocesora pre hardvérové piny a štandardné hodnoty.
Krok 3: Zoznam dielov
Nebol som si istý, kam tento krok zaradiť, pretože sa dá vykonať takmer v každom bode. Použil som box s 3D tlačou. Možno nemáte prístup k 3D tlačiarni alebo uprednostňujete iný typ krytu, napríklad hliníkový box, laserom rezaný plast, ručne vyrezávané drevo alebo iný typ, ktorý používate na elektronické projekty. Zahrnul som súbory STL pre horný, dolný, otočný gombík enkodéra a rámček OLED. Tieto súbory a krájač podľa vášho výberu použite na vytvorenie súborov gcode pre vašu tlačiareň.
Vytlačím všetky časti pomocou vlákna PLA, jednej farby pre hornú a dolnú časť krytu, ďalšej kontrastnej pre gombík a lunetu (ktorá je prilepená k hornej časti). Nebudem špecifikovať všetky nastavenia krájača, ale použijem tri -Šesťhranná výplň najmenej 35%, aby bolo možné čítať závitové rohové skrutky a nastavenie "žiadna podpora" pre narezané písmo. Krabicu som vytlačil pomocou „normálnej“výšky vrstvy mojich tlačiarní.
Krok 9: Návrh a písanie kódu
Tento krok je voliteľný, ale odporúča sa ho lepšie pochopiť.
Väčšinu úsilia z hľadiska hodín tvorí písanie kódu. Tento krok môžete preskočiť, ak používate priložený program ako -is. Odporúčame však nájsť si čas na lepšie pochopenie kódu alebo úpravu, aby vyhovoval vašim potrebám.
Nasledujúce komentáre môžu byť nápomocné pri pochopení tohto procesu.
- Pripomienky - Komentujte priebežne - komentáre často píšem skôr, ako napíšem kód.
- Divide & conquer - používajte funkcie, triedy a moduly (karty.) Na kontrolu syntaxe používajte časté kompiláty (Verify). Ladenie - pomocou tlačových príkazov overte tok a testujte hodnoty a hardvérové rozhrania. Nebojte sa postupovať podľa problémov, nikto nepíše kód, ktorý neobsahuje chyby!
- Konštanty - #define pokyny pre -kompilátora priradia čísla pinom. Definície konštantných premenných s komentármi znižujú alebo eliminujú „magické“čísla. Použitie konštánt umiestnených na začiatku programu alebo funkcie umožňuje zmenu parametrov bez prepisovania kódu
- Preddefinované knižnice - Používanie preddefinovaných knižníc znižuje zaťaženie programovania a ladenie.
- Dizajnové bloky - vytvorené pomocou funkcií, izolácie kódu na samostatných kartách (priradené programy a súbory.h), enumerácií, tried a štruktúr. Zamerajte svoju pozornosť na každú z nich, aby ste pochopili, ako fungujú vo vzťahu k zvyšku kódu.
- State Machine (s) - Toto je programovací vzor, ktorý funguje skvele s Arduinosom alebo akýmikoľvek programami, ktoré sa používajú na ovládanie výstupov alebo reagovania na vstupy. Existuje niekoľko príchutí štátnych strojov. Tento kód používa stavový stroj na základe príkazu switch vo funkcii loop. Tento formulár je ľahko zrozumiteľný a laditeľný.
- Displej a ponuky - Výstup OLED je stručný, ale poskytuje dostatočnú spätnú väzbu pre bežných používateľov a podporuje výber možností. Dobre sa integruje so stavovým strojom (takmer všetky štáty majú priradenú obrazovku OLED). Trieda Menu bola nápomocná pri izolácii kódu na zobrazenie a výber možností ponuky
Prosím, prečítajte si program niekoľkokrát. Pomáha preberať jednu funkciu alebo sekciu naraz. Často nerozumiem kódu, ktorý som napísal, pokiaľ som ho neprečítal aspoň dvakrát!
Krok 10: Nainštalujte program
Skopírujte priložený súbor do počítača a potom ho rozbaľte do adresára Sketches
Pripojte Arduino k počítaču a normálnym spôsobom si stiahnite programový kód. Otvorte sériový monitor Arduino IDE, aby ste si overili, že program beží a pomohol pri ladení.
Krok 11: Zostavte časovač
Akonáhle sú horné a spodné časti puzdra vytlačené a vyčistené, komponenty je možné pripevniť pomocou malých samorezných plastových skrutiek. Najprv je držiak batérie zacvaknutý do zadnej časti. Ostatné diely sú pripevnené k vrchu krytu v nasledujúcom poradí:
- OLED a kábel
- Vypínač a zapojenie štart/stop
- Rotačný kodér a kábel
- Reproduktor / bzučiak a zapojenie
- Externý ovládací konektor a kabeláž
- Posuvný vypínač a zapojenie (dvakrát skontrolujte orientáciu, aby zapnuté bolo v požadovanom smere
Ak spájkujete káble priamo s doskou s plošnými spojmi, urobte to po pripevnení všetkých súčastí k puzdru, aby sa obmedzilo pretrhnutie drôtu. Pred priskrutkovaním dosky na zadnú stranu počkajte, kým nebudú káble prepojené s hlavnou doskou.
Ak používate kolíkové hlavičky a konektory Dupont, najskôr pripevnite základnú dosku k zadnej strane pomocou skrutiek a potom zapojte komponenty. Pri pripájaní batérie k základnej doske buďte opatrní a dbajte na správnu polaritu. V tejto chvíli by ste mali tiež nastaviť prepojky alebo zapojenie ovládania relé.
Spodná časť krytu sa pripája k vrchu pomocou 4-40 skrutiek s okrúhlou hlavou, po jednom v každom rohu. Štyri otvory v hornej časti by mali byť poklepané kohútikom 4/40, alebo ak použijete 4-40 závitových vložiek, budete musieť otvory vyvŕtať, aby ste ich mohli prijať. Tiež je potrebné vyvŕtať 4 otvory pre upevnenie hlavnej dosky na spodnej strane. Prilepte túto dosku k držiaku snap-in batérie a označte umiestnenie otvorov. Vŕtajte podľa potreby pre svoje montážne skrutky.
Krok 12: Testovanie integrácie
Záverečné (integračné) testovanie sa vykonáva vyskúšaním všetkých možností ponuky a overením, či fungujú s hardvérom, ako bol navrhnutý. Pre kód, ktorý som poskytol, by to malo stačiť. Ak ste napísali svoj vlastný kód alebo upravili baňu, vaše testovanie bude musieť byť rozsiahlejšie. Neverím, že je potrebné vykonať všetky načasovania, ale musíte vyskúšať všetky štandardné možnosti alarmov a overiť, či alarmy spánku a meditácie fungujú tak, ako boli navrhnuté.
Krok 13: Záverečné myšlienky
Blahoželáme vám k úspešnému, dúfam, projektu. Som si istý, že ste na ceste narazili na problémy, ktoré ste potrebovali vyriešiť. Som si tiež istý, že niektoré z mojich pokynov mohli byť úplnejšie alebo jasnejšie. Dajte mi vedieť v sekcii komentárov, aké boli vaše výsledky, a poskytnite návrhy, ako je možné tieto pokyny zlepšiť.
Ďakujeme za váš čas pri prezeraní a/alebo budovaní tohto projektu.
Odporúča:
Ovládanie žalúzií s ESP8266, integrácia Google Home a Openhab a webové ovládanie: 5 krokov (s obrázkami)
Ovládanie žalúzií S ESP8266, integráciou Google Home a Openhab a webovým ovládaním: V tomto návode vám ukážem, ako som k svojim žalúziám pridal automatizáciu. Chcel som mať možnosť pridať a odstrániť automatizáciu, takže všetka inštalácia je nasadená. Hlavnými časťami sú: krokový motor, krokový ovládač ovládaný bij ESP-01 prevodovka a montáž
Ovládanie jasu Ovládanie LED na báze PWM pomocou tlačidiel, Raspberry Pi a Scratch: 8 krokov (s obrázkami)
Ovládanie jasu Ovládanie LED na základe PWM pomocou tlačidiel, Raspberry Pi a Scratch: Snažil som sa nájsť spôsob, ako vysvetliť, ako PWM funguje u mojich študentov, a tak som si dal za úlohu pokúsiť sa ovládať jas LED pomocou dvoch tlačidiel. - jedno tlačidlo zvyšuje jas LED diódy a druhé ju stmieva. Programovať
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Hackovanie bleskového svetla pre stabilné a externé ovládanie: 5 krokov (s obrázkami)
Hacking a Strobe Blacklight for Steady-On and External Control: Každý veľký obchod s veľkými škatuľami predáva bleskové svetlá vyrobené s UV LED diódami. Na boku je gombík, ktorý reguluje rýchlosť stroboskopu. Sú zábavné a lacné, ale chýba im nepretržitý režim. A čo viac, bolo by pekné ovládať svetlo
Externé ovládanie Winamp: 4 kroky
Externé ovládanie Winampu: V dnešnej dobe má winamp plnú podporu klávesových skratiek. Ale nejaký čas, keď winamp túto funkciu nemal, premýšľal som nejakým spôsobom o jednoduchom spôsobe zmeny hudby jednoduchým stlačením jedného tlačidla, čo by veci urýchlilo a