Sisukord:
- 1. samm: riistvaraelementide ülevaade
- 2. samm: tarkvara ülevaade
- Samm: osade loend
- 9. samm: kujundus- ja kirjutamiskood
- Samm: installige programm
- Samm 11: pange taimer kokku
- 12. samm: integratsiooni testimine
- 13. samm: lõplikud mõtted
Video: Mitme taimeriga W/ väline juhtimine: 13 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
See projekt Instructable on multifunktsionaalse taimeri konstruktsioon
See taimer võib töötada järgmiselt:
- Ü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.
- Uinaku taimer 7 valitava ajaga, loendur ja äratus valmimisel.
- 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
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
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:
- OLED ja kaabel
- Start/Stop lüliti ja juhtmestik
- Pöördkooder ja kaabel
- Kõlar / helisignaal ja juhtmestik
- Väline juhtpistik ja juhtmestik
- 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
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:
556 taimeriga samm -mootori juhtimine: 5 sammu
556 taimeri kasutamine samm -mootori juhtimiseks: see juhend juhendab, kuidas 556 taimer saab samm -mootorit juhtida. Selle vooluahela jaoks pole koodi vaja
Servo juhtimine 555 taimeriga IC: 3 sammu
Servo juhtimine 555 taimeriga IC: Minu esimene juhendatav oli "Servode juhtimine analoog -juhtkangi abil". Sellest ajast alates olen jaganud mõnda projekti, mis vajasid näiteks servosid: robotkäsi ja näo jälgija. Servode juhtimiseks kasutasime alati mikrokontrollerit. Aga et
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: 6 sammu
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: nüüd teame, kuidas juhtida seadmeid esp8266 WiFi -mooduli abil ja Arduino teie seadet Androidi WiFi -juhtimise abil lisateabe saamiseks. klõpsake linki mohamed ashraf
Mitme LED -i juhtimine Pythoni ja teie Raspberry Pi GPIO -nööpnõeltega: 4 sammu (koos piltidega)
Mitme LED -i juhtimine Pythoni ja teie Raspberry Pi GPIO -tihvtide abil: see juhend annab teile ülevaate sellest, kuidas juhtida RaspberryPi mitut GPIO -tihvti 4 LED -i toiteks. Samuti tutvustab see teile Pythonis parameetreid ja tingimuslauseid. Meie eelmine juhend, mis kasutab Raspberry Pi GPIO -nööpnõelte kasutamist
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba