Kazalo:
- 1. korak: Pregled elementov strojne opreme
- 2. korak: Pregled programske opreme
- 3. korak: Seznam delov
- 9. korak: Koda oblikovanja in pisanja
- 10. korak: Namestite program
- 11. korak: Sestavite časomer
- 12. korak: Integracijsko testiranje
- 13. korak: Zadnje misli
Video: Več časovnik W/ zunanji nadzor: 13 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Ta projekt Instructable je sestavljen iz večfunkcijskega časovnika
Ta časovnik lahko deluje kot:
- Splošni alarm z nastavljivim časom med 1 sekundo in +90 urami. Odštevanje z zvočnim alarmom in/ali krmiljenjem zunanje naprave do konca, nato pa odštevanje, ki prikazuje čas od alarma.
- Časovnik za dremež s 7 izbirnimi časi, odštevanjem in alarmom ob zaključku.
- Časovnik za meditacijo s štirimi časi, ki jih je mogoče izbrati, z odštevanjem in kratkim žvrgolenjem po zaključku, odštevanje z drugim čivkanjem 5 minut po tem.
Ta projekt je lahko eter zgrajen, kot je opisano tukaj, ali pa ga prilagoditi. Pred tem sem izdelal časovnik s to funkcionalnostjo in ga uporabil v svojem prvem Instructable za nadzor polja UV izpostavljenosti.
Mislil sem, da bi lahko objavil samo prvotne zasnove programov in plošč. Kode pa iz nekega razloga nisem našel. Prav tako sem želel izboljšati strojno opremo, da bi krmilna vezja postala bolj prilagodljiva in zmanjšala praznjenje baterije. Posledična prenova glavnega vezja in ponovni zapis kode daje priložnost za razpravo o pristopu programiranja in oblikovanja strojne opreme.
Kadar koli ustvarim tiskano vezje, pogosto ugotovim, da obstajajo napake pri oblikovanju ali namestitvi komponent. Plošče, ki jih izdelam, so tudi ena od dveh možnosti. Poleg tega sem rad vključen v vse vidike projekta od začetka do konca. To je nekaj razlogov, zakaj izdelujem svoja vezja, namesto da pošiljam datoteke Gerber v tujino v izdelavo. Mogoče sem samo star in ostajam pri svojih poteh. Ta projekt odraža to pristranskost. Ker izdelujem lastna vezja, moji modeli in datoteke Gerber ne ustrezajo proizvodnim standardom, teh datotek nisem vključil. Tisti, ki ne želijo jedkati in dokončati plošč, lahko pripravijo lastne zasnove in objavijo datoteke Gerber v razdelku za komentarje. Pred objavo prosimo, da vaše plošče izdelajo in preizkusijo.
1. korak: Pregled elementov strojne opreme
Napravo napajajo 4 baterije AAA, upravlja pa jo Arduino Pro Mini 5V.
Majhen zvočni signal/zvočnik daje zvočni alarm.
Miniaturni rele 5V zagotavlja krmilne napetosti zunanjim napravam. Pri tem izhodu te krmilne napetosti je zagotovljena prilagodljivost.
Vrtljivi dajalnik s pritiskom na gumb omogoča izbiro menija.
Zaslon OLED in trenutno stikalo za vklop/izklop dokončata uporabniški vmesnik.
Dodatna elektronska strojna oprema je sestavljena iz stikala za vklop SPDT in miniaturne telefonske vtičnice za povezavo z zunanjimi napravami.
Poleg tega so na voljo datoteke, ki vam bodo pomagale pri tem projektu:
Datoteke STL za ohišje 3D tiskanega projekta.
Slike bakra in spajkalne maske za jedkanje in dodelavo krmilnega vezja in rotacijskega dajalnika.
Shema in slike na plošči kot referenca za tiste, ki želijo spremeniti moj dizajn.
Morda boste želeli pregledati moj Instructable o ustvarjanju dvostranskih vezij kot primer navodil za izdelavo tiskanih vezij.
2. korak: Pregled programske opreme
Skupaj z izvornimi datotekami Arduino so lahko v pomoč še nekatere dodatne informacije.
Knjižnice za krmiljenje strojne opreme se uporabljajo, če so na voljo (odklon gumbov, nadzor OLED, branje z vrtljivim dajalnikom).
Program izvaja preprost stroj s končnim stanjem (FSM) za nadzor izvajanja kode kot stavek stikala v funkciji zanke.
Razred menija je določen tako, da omogoča izbiro prikazanih možnosti na OLED -u in izbiro z vrtljivim dajalnikom.
Vnos je izveden z neposrednim pollingom (brez prekinitev), saj ni časovno kritičen in naredi kodo jasnejšo.
Tiskani stavki v Serial se uporabljajo za pomoč pri sledenju izvajanju kode in odpravljanju napak
Različne vrste elementov programske strukture, vključno z:
- Več kodnih zavihkov za izolacijo nekaterih nadzornih funkcij strojne opreme in spremenljivk.
- Preklopite stavke za nastavitev vrednosti stanja (FSM) in nadzornih spremenljivk.
- Opredelitev strukture
- Naštevanja, ki omogočajo dodelitev vrednosti stanja kot besedilo.
- #define predprocesorske definicije za strojne pin in standardne vrednosti.
3. korak: Seznam delov
Nisem vedel, kam naj postavim ta korak, saj je to mogoče storiti skoraj kadar koli. Uporabil sem 3D -tiskano ohišje. Morda nimate dostopa do 3D tiskalnika ali pa imate raje drugo vrsto ohišja, na primer aluminijasto škatlo, lasersko rezano plastiko, ročno izrezljan les ali drugo vrsto, ki jo uporabljate za svoje elektronske projekte. Vključil sem datoteke STL za zgornji, spodnji gumb vrtljivega dajalnika in okvir OLED. S temi datotekami in rezalnikom po vaši izbiri ustvarite datoteke gcode za svoj tiskalnik.
Natisnem vse dele z žarilno nitko PLA, eno barvo za zgornji in spodnji del ohišja, drugo kontrastno za gumb in okvir (ki je zlepljen na vrh.) Ne bom določil vseh nastavitev rezalnika, ampak uporabite Tri -Šesterokotna polnitev najmanj 35%, da omogočite tapkanje vogalnih vijakov in nastavitev "brez podpore" za branje vdelanih črk. Natisnil sem škatlo z uporabo običajne višine plasti tiskalnikov.
9. korak: Koda oblikovanja in pisanja
Ta korak ni obvezen, vendar je predlagan za boljše razumevanje.
Največ napora v smislu ur je pisanje kode. Ta korak lahko preskočite, če uporabljate priloženi program kot -is. Predlagamo pa, da si vzamete čas za pregled kode za boljše razumevanje ali spremembo, ki bo ustrezala vašim potrebam.
Naslednji komentarji so lahko v pomoč pri razumevanju tega procesa.
- Komentarji - Komentirajte obširno - pogosto pišem komentarje, preden napišem kodo.
- Razdeli in osvoji - uporabi funkcije, razrede in module (zavihki.) Za preverjanje sintakse uporabite pogoste kompilacije (Preveri). Odpravljanje napak - Uporabite izjave za tiskanje za preverjanje pretočnih in preskusnih vrednosti ter vmesnikov strojne opreme. Ne bojte se odpraviti težav, ko greste, nihče ne piše kode brez hroščev!
- Konstante - #define pre -compiler navodila dodelijo imena pin številkam. Definicije spremenljivk const s komentarji zmanjšajo ali odpravijo "čarobne" številke. Uporaba konstant na začetku programa ali funkcije omogoča spreminjanje parametrov brez prepisovanja kode
- Vnaprej določene knjižnice - uporaba vnaprej določenih knjižnic zmanjša obremenitev programiranja in čas odpravljanja napak.
- Oblikovalni bloki - ustvarjeni s funkcijami, ločevanje kode v ločenih zavihkih (povezani programi in.h datoteke), naštevanja, razredi in strukture. Osredotočite se na vsakega posebej, da boste razumeli, kako delujejo glede na preostalo kodo.
- Državni stroji - To je programski vzorec, ki odlično deluje z Arduinosom ali drugimi programi, ki se uporabljajo za nadzor izhodov ali odzive na vhode. Obstaja več okusov državnih strojev. Ta koda uporablja stroj stanja, ki temelji na stavku switch v funkciji zanke. Ta obrazec je enostaven za razumevanje in odpravljanje napak.
- Zaslon in meniji - Izhod OLED je skromen, vendar zagotavlja dovolj povratnih informacij za naključne uporabnike in podpira izbiro možnosti. Dobro se integrira z državnim strojem (skoraj vse države imajo povezan zaslon OLED). Razred Menu je bil v pomoč pri izolaciji kode za prikaz in izbiro možnosti menija
Prosimo, da program preberete večkrat. Pomaga vzeti eno funkcijo ali del naenkrat. Pogosto ne razumem kode, ki sem jo napisal, razen če sem jo prebral vsaj dvakrat!
10. korak: Namestite program
Kopirajte priloženo datoteko v računalnik in jo razpakirajte v imenik Sketches
Arduino povežite z računalnikom in prenesite programsko kodo na običajen način. Odprite serijski monitor Arduino IDE, da preverite, ali se program izvaja, in pomagajte pri odpravljanju napak.
11. korak: Sestavite časomer
Ko sta zgornji in spodnji del ohišja natisnjena in očiščena, lahko komponente pritrdite z majhnimi samoreznimi plastičnimi vijaki. Najprej držalo baterije zaskočite zadaj. Preostali deli so pritrjeni na vrh ohišja v naslednjem vrstnem redu:
- OLED in kabel
- Stikalo za zagon/zaustavitev in ožičenje
- Rotacijski dajalnik in kabel
- Zvočnik / zvočni signal in ožičenje
- Zunanji krmilni priključek in ožičenje
- Drsno stikalo za vklop/izklop in ožičenje (dvakrat preverite usmerjenost, tako da je vklopljeno v želeni smeri
Če spajate kable neposredno na tiskano vezje, to storite, potem ko so vsi deli pritrjeni na ohišje, da zmanjšate zlom žice. Počakati morate, da so kabli priključeni na glavno ploščo, preden ploščo privijete na zadnjo stran.
Če uporabljate glave zatičev in priključke Dupont, najprej pritrdite glavno ploščo na hrbtno stran z vijaki, nato priključite komponente. Bodite previdni, ko baterijo priključite na glavno ploščo, in pazite na pravilno polariteto. V tem času morate nastaviti tudi mostiče releja ali ožičenje.
Spodnji del ohišja se poveže z vrhom s pomočjo 4-40 strojnih vijakov z okroglo glavo, po enega v vsakem vogalu. Štiri luknje na vrhu je treba bodisi dotakniti s pipo 4/40 ali če uporabljate 4-40 navojnih vložkov, boste morali izvrtati luknje, da jih sprejmete. Prav tako je treba izvrtati 4 luknje za pritrditev glavnega vezja na dnu. Ploščo privijte na nosilec za baterijo in označite mesta lukenj. Vrtajte, kot je primerno za vaše pritrdilne vijake.
12. korak: Integracijsko testiranje
Končno (integracijsko) testiranje izvedemo tako, da preizkusimo vse možnosti menija in preverimo, ali delujejo s strojno opremo, kot je zasnovana. Za kodo, ki sem jo navedel, bi to zadostovalo. Če ste napisali svojo kodo ali spremenili mojo, bo vaše testiranje moralo biti obsežnejše. Ne verjamem, da je treba izvesti vse izbire časa, vendar morate preizkusiti vse standardne možnosti alarma in potrditi, da alarmi za dremanje in meditacijo delujejo, kot je bilo načrtovano.
13. korak: Zadnje misli
Čestitam za uspešen, upam, projekt. Prepričan sem, da ste na poti naleteli na težave, ki ste jih morali rešiti. Prepričan sem tudi, da bi lahko bila neka moja navodila bolj popolna ali jasnejša. Sporočite mi skozi razdelek s komentarji, kakšni so bili vaši rezultati, in podajte predloge, kako bi lahko ta navodila izboljšali.
Hvala, ker ste si ogledali in/ali zgradili ta projekt.
Priporočena:
Gojenje več solate v manj prostora ali gojenje solate v vesolju, (več ali manj) .: 10 korakov
Gojenje več solate na manj prostora ali … Gojenje solate v vesolju, (več ali manj) .: To je profesionalna oddaja natečaja Growing Beyond Earth, Maker, poslanega prek Instructables. Ne bi mogel biti bolj navdušen nad oblikovanjem za pridelavo vesoljskih pridelkov in objavo prvega Instructable -a. Za začetek nas je natečaj prosil, da
Časovnik "Naredi več", ki ga je navdihnil Casey Neistat: 4 koraki (s slikami)
Časovnik 'Do More', ki ga je navdihnil Casey Neistat: poletje, čudovita sezona, ko se stvari dogajajo. Toda včasih ponavadi pozabimo na čas. Da bi nas spomnili na preostali čas, sem oblikoval ta časovnik Casey Neistat DIY, ki ga poganja arduino, naredi sam, ki ga je mogoče programirati za prikaz preostalega časa od katerega koli celo
Vdor v Strobe Blacklight za stabilen in zunanji nadzor: 5 korakov (s slikami)
Hacking Strobe Blacklight za stabilen in zunanji nadzor: V velikih trgovinah vsako leto prodajo strobe črne luči, narejene z UV LED. Na strani je gumb, ki nadzoruje hitrost stroba. Te so zabavne in poceni, nimajo pa neprekinjenega načina delovanja. Še več, lepo bi bilo nadzorovati svetlobni izhod
Zunanji nadzor Winampa: 4 koraki
Zunanji nadzor Winampa: Danes ima Winamp popolno podporo za bližnjice na tipkovnici. Toda včasih, ko winamp ni imel te funkcije, sem na nek način razmišljal, da bi preprosto spremenil glasbo s pritiskom na en gumb, bi to pospešilo in bi
Časovnik za zmrznjene pijače - Nič več toplega ali zamrznjenega piva!: 24 korakov
Časovnik Frosty Beverage Timer - Nič več toplega ali zamrznjenega piva !: Merilnik Frosty Beverage Timer podjetja Gadget Gangster je časovnik, ki vas obvesti, ko se vaša pijača ohladi. Kupite komplet! http://gadgetgangster.com/154 Nič več toplih pločevink ali eksplodiranih steklenic, samo povejte svojemu merilniku časa za pijačo, kako vam je všeč vaš napitek in