Obsah:

Multi-Timer W/ Externé ovládanie: 13 krokov
Multi-Timer W/ Externé ovládanie: 13 krokov

Video: Multi-Timer W/ Externé ovládanie: 13 krokov

Video: Multi-Timer W/ Externé ovládanie: 13 krokov
Video: Лучшая zigbee розетка-переходник с энергомониторингом на 3680 Ватт, интеграция в Home Assistant 2024, November
Anonim
Multi-Timer W/ Externé ovládanie
Multi-Timer W/ Externé ovládanie

Tento projekt Instructable je zostavením multifunkčného časovača

Tento časovač môže fungovať ako:

  1. 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.
  2. Časovač spánku so 7 voliteľnými časmi, odpočítavaním a alarmom po dokončení.
  3. 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

Vytvorte prílohu
Vytvorte prílohu

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č

Zostavte časovač
Zostavte časovač
Zostavte časovač
Zostavte časovač
Zostavte časovač
Zostavte časovač
Zostavte časovač
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í:

  1. OLED a kábel
  2. Vypínač a zapojenie štart/stop
  3. Rotačný kodér a kábel
  4. Reproduktor / bzučiak a zapojenie
  5. Externý ovládací konektor a kabeláž
  6. 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

Testovanie integrácie
Testovanie integrácie
Testovanie integrácie
Testovanie integrácie
Testovanie integrácie
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: