Sisukord:

Mitme taimeriga W/ väline juhtimine: 13 sammu
Mitme taimeriga W/ väline juhtimine: 13 sammu

Video: Mitme taimeriga W/ väline juhtimine: 13 sammu

Video: Mitme taimeriga W/ väline juhtimine: 13 sammu
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #7 2024, November
Anonim
Mitme taimeriga W/ väline juhtimine
Mitme taimeriga W/ väline juhtimine

See projekt Instructable on multifunktsionaalse taimeri konstruktsioon

See taimer võib töötada järgmiselt:

  1. Üldotstarbeline alarm, mille valitav aeg on 1 sekund kuni +90 tundi. Loendur koos helisignaaliga ja/või välisseadme juhtimine kuni lõpetamiseni, seejärel häirest möödunud aja loendamine.
  2. Uinaku taimer 7 valitava ajaga, loendur ja äratus valmimisel.
  3. Meditatsioonitaimer, millel on neli valitavat aega, loendur ja lühike piiksatus pärast lõpetamist, loendamine koos teise piiksuga 5 minuti pärast.

Seda projekti võib ehitada nii, nagu siin kirjeldatud, või seda vastavalt kohandada. Ehitasin varem selle funktsiooniga taimerit ja kasutasin seda oma esimeses Instructable'is UV -kiirguse kasti juhtimiseks.

Mõtlesin, et võin lihtsalt avaldada algse programmi ja tahvli kavandid. Kuid millegipärast ei suutnud ma koodi leida. Tahtsin ka riistvara täiustada, et muuta juhtimisahelad paindlikumaks ja vähendada aku tühjenemist. Sellest tulenev põhiplaadi ümberkujundamine ja koodi ümberkirjutamine annab võimaluse arutada programmeerimise ja riistvara disaini lähenemist.

Alati, kui loon trükkplaadi, leian sageli, et komponentide projekteerimisel või paigutamisel on vigu. Ehitatavad plaadid on samuti üks kahest. Lisaks meeldib mulle olla kaasatud projekti kõikidesse aspektidesse algusest lõpuni. Need on mõned põhjused, miks ma valmistan oma trükkplaate, mitte ei saada Gerberi faile välismaale tootmiseks. Võib -olla olen lihtsalt vana ja takerdunud oma teedesse. See projekt peegeldab seda eelarvamust. Kuna ma valmistan oma trükkplaate, ei vasta minu disain ja Gerberi failid tootmisstandarditele, ei ole ma neid faile lisanud. Need, kes ei soovi plaate söövitada ja viimistleda, on teretulnud koostama oma kujunduse ja postitama Gerberi failid kommentaaride sektsiooni. Enne postitamist laske oma plaadid valmistada ja katsetada.

1. samm: riistvaraelementide ülevaade

Seade töötab 4 AAA patareiga ja seda juhib Arduino Pro Mini 5V.

Väike helisignaal/kõlar annab helisignaali.

Miniatuurne 5v relee annab välisseadmetele juhtimispingeid. Selle juhtimispinge väljundi allikas tagab paindlikkuse.

Nupuga pöörlev kooder võimaldab valida menüü.

Kasutajaliidese täiendab OLED -ekraan ja hetkeline käivitus-/seiskamislüliti.

Täiendav elektrooniline riistvara koosneb SPDT toitelülitist ja miniatuursest telefonipistikust väliste seadmetega ühendamiseks.

Lisaks on selles projektis abiks failid:

STL -failid 3D -prinditud projektiümbrise jaoks.

Vase- ja joodemaskipildid juhtplaadi ja pöördkooderi söövitamiseks ja viimistlemiseks.

Skeemid ja tahvlipildid viitena neile, kes soovivad minu kujundust muuta.

Võib-olla soovite tutvuda minu juhendiga kahepoolsete trükkplaatide loomise kohta, näitena trükkplaatide tootmise juhistest.

2. samm: tarkvara ülevaade

Koos Arduino lähtefailidega võib olla ka lisateavet.

Riistvara juhtimisteeke kasutatakse võimaluse korral (nuppude tagasilöök, OLED-juhtimine, pöördkodeerija lugemine).

Programm rakendab lihtsat piiratud oleku masinat (FSM), et juhtida koodi täitmist lülituslausena silmusfunktsioonis.

Menüüklass on määratletud nii, et see võimaldab valida OLED -il kuvatavaid valikuid ja valida pöördkodeerija abil.

Sisendit rakendatakse otsese küsitlusega (katkestuseta), kuna see pole ajakriitiline ja muudab koodi selgemaks.

Prindiavaldusi seeriasse kasutatakse koodi täitmise ja silumise hõlbustamiseks

Erinevat tüüpi programmi struktuuri elemente, sealhulgas:

  • Mitu koodikaarti riistvara juhtimisfunktsioonide ja muutujate eraldamiseks.
  • Olekuväärtuse (FSM) ja juhtmuutujate määramiseks vahetage avaldusi.
  • Struktuuri määratlus
  • Loendid, mis võimaldavad olekuväärtuste määramist tekstina.
  • #defineeri riistvaratta ja standardväärtuste eeltöötleja määratlused.

Samm: osade loend

Looge ümbris
Looge ümbris

Ma polnud kindel, kuhu see samm panna, sest seda saab teha peaaegu igal hetkel. Kasutasin 3D -prinditud ümbriskasti. Teil ei pruugi olla juurdepääsu 3D -printerile või eelistate mõnda muud tüüpi korpust, näiteks alumiiniumkasti, laserlõigatud plastikut, käsitsi nikerdatud puitu või muud tüüpi, mida kasutate oma elektrooniliste projektide jaoks. Olen lisanud STL -failid ülemise, alumise, pöörleva kodeerimisnupu ja OLED -raami jaoks. Kasutage neid faile ja oma valitud lõikurit, et luua oma printerile gcode -faile.

Prindin kõik osad välja PLA hõõgniidiga, üks värv korpuse üla- ja alaosa jaoks, teine kontrastne nupule ja raamile (mis on liimitud ülaosale.) Ma ei täpsusta kõiki oma viilutusseadeid, vaid kasutage Tri -Kuuskanttäidis vähemalt 35%, et võimaldada nurkkruvide koputamist ja sisselõigatud kirja lugemiseks seadistust "puudub tugi". Trükkisin kasti oma printerite "normaalse" kihi kõrgusega.

9. samm: kujundus- ja kirjutamiskood

See samm on valikuline, kuid soovitatav paremaks mõistmiseks.

Suurem osa jõupingutustest tundide osas on koodi kirjutamine. Selle sammu saate vahele jätta, kui kasutate lisatud programmi nimega -is. Siiski on soovitatav võtta aega, et kood üle vaadata, et paremini mõista või muuta oma vajadusi.

Järgmised kommentaarid võivad sellest protsessist aru saada.

  • Kommentaarid - kommenteerige laialdaselt - kirjutan sageli kommentaarid enne koodi kirjutamist.
  • Jagage ja vallutage - kasutage funktsioone, klasse ja mooduleid (vahelehti.) Süntaksi kontrollimiseks kasutage sagedasi kompileerimisi (Kinnita). Silumine - kasutage printimisavaldusi voo ja testväärtuste ning riistvaraliideste kontrollimiseks. Ärge kartke probleemide lahendamist, kui lähete, keegi ei kirjuta koodi, mis on veatu!
  • Konstandid - #define eelkompilaatori juhised määravad pin -numbritele nimed. Const muutuja definitsioonid koos kommentaaridega vähendavad või kõrvaldavad "maagilised" numbrid. Programmi või funktsiooni alguses asuvate konstandite kasutamine võimaldab muuta parameetreid ilma koodi ümber kirjutamata
  • Eelmääratletud teegid - eelmääratud raamatukogude kasutamine vähendab programmeerimiskoormust ja silumisaega.
  • Kujundusplokid - loodud funktsioonide abil, eraldades koodi eraldi vahekaartidel (seotud programmid ja.hfiles), loendid, klassid ja struktuurid. Keskenduge igale neist, et mõista, kuidas need ülejäänud koodi suhtes toimivad.
  • Olekumasin (id) - see on programmeerimismuster, mis töötab suurepäraselt Arduinose või mis tahes programmidega, mida kasutatakse väljundite juhtimiseks või sisendite reageerimiseks. Olemasolevaid masinaid on mitmeid maitseid. See kood kasutab olekumasinat, mis põhineb tsüklifunktsiooni lülituslausel. Seda vormi on lihtne mõista ja siluda.
  • Ekraan ja menüüd - OLED -väljund on napp, kuid pakub juhukasutajatele piisavalt tagasisidet ja toetab valikute valikut. See integreerub hästi olekumasinaga (peaaegu kõigil osariikidel on seotud OLED -ekraan). Menüüklass oli abiks koodi eraldamisel, et kuvada ja valida menüüvalikuid

Palun lugege programmi mitu korda. See aitab võtta ühe funktsiooni või sektsiooni korraga. Sageli ei saa ma kirjutatud koodist aru, kui pole seda vähemalt kaks korda lugenud!

Samm: installige programm

Kopeerige manustatud fail oma arvutisse ja seejärel pakkige see oma skeemide kataloogi

Ühendage Arduino arvutiga ja laadige programmi kood tavalisel viisil alla. Avage Arduino IDE seeriamonitor, et kontrollida, kas programm töötab ja aitab silumisel.

Samm 11: pange taimer kokku

Pange taimer kokku
Pange taimer kokku
Pange taimer kokku
Pange taimer kokku
Pange taimer kokku
Pange taimer kokku
Pange taimer kokku
Pange taimer kokku

Kui korpuse ülemine ja alumine osa on trükitud ja puhastatud, saab komponente kinnitada väikeste isekeermestavate plastkruvide abil. Esmalt kinnitatakse akuhoidik tagaküljele. Ülejäänud osad kinnitatakse korpuse ülaossa järgmises järjekorras:

  1. OLED ja kaabel
  2. Start/Stop lüliti ja juhtmestik
  3. Pöördkooder ja kaabel
  4. Kõlar / helisignaal ja juhtmestik
  5. Väline juhtpistik ja juhtmestik
  6. Sisse- ja väljalülituslüliti ja juhtmestik (kontrollige veel kord suunda nii, et see oleks soovitud suunas

Kui joote kaableid otse oma trükkplaadile, tehke seda pärast seda, kui kõik osad on teie korpusele kinnitatud, et vähendada juhtmete purunemist. Enne selle plaadi taha keeramist peate ootama, kuni kaablid on emaplaadiga ühendatud.

Kui kasutate nööpnõelaid ja Duponti pistikuid, kinnitage esmalt kruvide abil emaplaat tagaküljele ja seejärel ühendage komponendid. Olge aku emaplaadiga ühendamisel ettevaatlik ja jälgige õiget polaarsust. Samuti peaksite sel ajal seadistama relee juhtimise džemprid või juhtmed.

Korpuse põhi ühendatakse ülaosaga 4-40 ümmarguse peaga masinakruvi abil, üks igas nurgas. Ülaosas olevaid nelja auku tuleb koputada 4/40 kraaniga või kui kasutate 4-40 keermestatud sisestust, peate nende vastuvõtmiseks augud puurima. Samuti tuleb puurida 4 ava põhiplaadi kinnitamiseks. Kinnitage see plaat akukinnituse külge ja märkige aukude asukohad. Puurige vastavalt oma kinnituskruvidele.

12. samm: integratsiooni testimine

Integratsiooni testimine
Integratsiooni testimine
Integratsiooni testimine
Integratsiooni testimine
Integratsiooni testimine
Integratsiooni testimine

Lõplik (integratsioon) testimine viiakse läbi, proovides kõiki menüüvalikuid ja kontrollides, kas need töötavad kavandatud riistvaraga. Minu esitatud koodi puhul peaks sellest piisama. Kui kirjutasite oma koodi või muutsite minu koodi, peab testimine olema ulatuslikum. Ma ei usu, et kõiki ajastuse valikuid tuleb kasutada, kuid peate proovima kõiki standardseid häirevalikuid ja valideerima uinaku- ja meditatsioonialarmid nii, nagu need on kavandatud.

13. samm: lõplikud mõtted

Õnnitlen teid eduka, ma loodan, projekti eest. Olen kindel, et teil tekkis teel probleeme, mida teil oli vaja lahendada. Samuti olen kindel, et mõned minu juhised oleksid võinud olla täielikumad või selgemad. Palun andke mulle kommentaaride jaotises teada, millised olid teie tulemused, ja esitage soovitusi nende juhiste parandamiseks.

Täname teid selle projekti vaatamise ja/või ehitamise eest.

Soovitan: