Talaan ng mga Nilalaman:

Multi-Timer W / Panlabas na Kontrol: 13 Mga Hakbang
Multi-Timer W / Panlabas na Kontrol: 13 Mga Hakbang

Video: Multi-Timer W / Panlabas na Kontrol: 13 Mga Hakbang

Video: Multi-Timer W / Panlabas na Kontrol: 13 Mga Hakbang
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Nobyembre
Anonim
Multi-Timer W / Panlabas na Kontrol
Multi-Timer W / Panlabas na Kontrol

Ang proyektong ito na Maaaring turuan ay isang pagbuo ng isang multi function na Timer

Ang timer na ito ay may kakayahang gumana bilang:

  1. Isang alarma sa pangkalahatang layunin na may mga mapipiling oras sa pagitan ng 1 segundo at +90 na oras. Ang pagkakaroon ng isang count down na may naririnig na alarma at / o kontrol ng panlabas na aparato hanggang sa natapos pagkatapos ng isang count-up na indikasyon ng oras mula nang mag-alarma.
  2. Isang nap timer na may 7 mapipiling oras, count-down at alarm sa pagkumpleto.
  3. Isang timer ng pagmumuni-muni na may 4 na mapipiling oras, na may count-down at isang maikling chirp sa pagkumpleto, count-up sa isa pang huni sa 5 minuto pagkatapos nito.

Ang proyektong ito ay maaaring itayo ether tulad ng inilarawan dito o binago upang umangkop. Dati ay nagtayo ako ng isang timer gamit ang pagpapaandar na ito at ginamit ito sa aking unang Instructable upang makontrol ang kahon ng pagkakalantad sa UV.

Naisip kong mailalathala ko lamang ang orihinal na programa at mga disenyo ng board. Gayunpaman, sa ilang kadahilanan hindi ko makita ang code. Nais ko ring gumawa ng mga pagpapabuti sa hardware upang gawing mas may kakayahang umangkop ang mga circuit ng kontrol at mabawasan ang kanal ng baterya. Ang nagresultang muling pagdidisenyo ng pangunahing circuit board at muling pagsulat ng code ay nagbibigay ng isang pagkakataon upang talakayin ang diskarte sa disenyo ng hardware at hardware.

Tuwing lumikha ako ng isang circuit board ay madalas kong makita na may mga bahid sa disenyo o paglalagay ng mga bahagi, Ang mga board na itinatayo ko ay isa rin sa dalawang off. Dagdag pa, nais ko lamang na maging kasangkot sa lahat ng mga aspeto ng isang proyekto mula simula hanggang katapusan. Ito ang ilan sa mga kadahilanang gumawa ako ng sarili kong mga circuit board kaysa ipadala ang mga Gerber file sa ibang bansa para sa paggawa. Siguro matanda lang ako at natigil sa mga paraan ko. Sinasalamin ng proyektong ito ang bias na ito. Dahil gumawa ako ng sarili kong circuit boards, ang aking mga disenyo at ang aking mga file ng Gerber ay hindi natutugunan ang mga pamantayan sa pagmamanupaktura, hindi ko isinama ang mga file na ito. Ang mga hindi nagnanais na mag-ukit at tapusin ang mga board ay malugod na ihanda ang kanilang sariling mga disenyo at i-post ang mga Gerber file sa seksyon ng mga komento. Mangyaring ipagawa at subukan ang iyong mga board bago mag-post.

Hakbang 1: Pangkalahatang-ideya ng Mga Elemento ng Hardware

Ang aparato ay pinalakas ng 4 AAA na baterya at kinokontrol ng isang Arduino Pro Mini 5V.

Ang isang maliit na buzzer / speaker ay nagbibigay ng isang naririnig na alarma.

Ang isang pinaliit na 5v relay ay nagbibigay ng mga voltages ng kontrol sa mga panlabas na aparato. Ibinibigay ang kakayahang umangkop sa mapagkukunan ng output ng boltahe ng kontrol na ito.

Ang isang rotary encoder na may push button ay nagbibigay ng pagpipilian ng menu.

Ang isang OLED display at pansamantalang pagsisimula / paghinto ng switch ay nakumpleto ang interface ng gumagamit.

Ang karagdagang elektronikong hardware ay binubuo ng isang SPDT power switch at isang maliit na telepono jack upang kumonekta sa mga panlabas na aparato.

Bilang karagdagan, ang mga file na tutulong sa iyo sa proyektong ito ay ibinigay:

Mga file ng STL para sa isang kaso ng naka-print na proyekto sa 3D.

Ang mga imahe ng tanso at solder mask para sa pag-ukit at pagtatapos ng control circuit board at rotary encoder.

Ang mga imahe ng iskema at board bilang isang sanggunian para sa mga nais na baguhin ang aking disenyo.

Maaari mong hilingin na suriin ang aking Tagubilin sa paglikha ng dobleng panig na mga circuit board bilang isang halimbawa ng paggawa ng circuit board kung paano.

Hakbang 2: Pangkalahatang-ideya ng Software

Kasama ang mga file ng mapagkukunan ng Arduino, ilang karagdagang impormasyon na maaaring makatulong..

Ginagamit ang mga library ng control ng hardware kapag magagamit (pindutan ang de-bounce, kontrol ng OLED, pagbabasa ng rotary encoder).

Nagpapatupad ang programa ng isang simpleng finite state machine (FSM) upang makontrol ang pagpapatupad ng code bilang isang switch statement sa loop function..

Ang isang klase sa Menu ay tinukoy upang payagan ang pagpili ng ipinakitang mga pagpipilian sa OLED at pagpipilian gamit ang rotary encoder.

Ang input ay ipinatupad ng direktang botohan (hindi hinihimok na hinimok) dahil hindi ito kritikal sa oras at ginagawang mas malinaw ang code.

Ang mga naka-print na pahayag sa Serial ay ginagamit upang makatulong sa pagsubaybay sa pagpapatupad ng code at pag-debug

Iba't ibang uri ng mga elemento ng istraktura ng programa kabilang ang:

  • Maramihang mga tab ng code upang ihiwalay ang ilan sa mga pag-andar at variable ng control ng hardware.
  • Lumipat ng mga pahayag upang maitakda ang halaga ng estado (FSM) at kontrolin ang mga variable.
  • Kahulugan ng istraktura
  • Mga enumerasyon upang payagan ang pagtatalaga ng mga halaga ng estado bilang teksto.
  • # tukuyin ang mga kahulugan ng pre-processor para sa hardware pin at karaniwang mga halaga.

Hakbang 3: Listahan ng Mga Bahagi

Lumikha ng Enclosure
Lumikha ng Enclosure

Hindi ako sigurado kung saan ilalagay ang hakbang na ito dahil magagawa ito sa halos anumang punto. Gumamit ako ng isang 3D na naka-print na kahon ng enclosure. Maaaring wala kang access sa isang 3D printer o mas gusto ang ibang uri ng enclosure tulad ng Aluminium box, Laser Cut plastic, Hand Carved Wood o iba pang uri na iyong ginagamit para sa iyong mga elektronikong proyekto. Isinama ko ang mga STL file para sa tuktok, ibaba, paikot na encoder knob at OLED bezel. Gamitin ang mga file na ito at ang slicer na iyong pinili upang lumikha ng mga file ng gcode para sa iyong printer.

Nai-print ko ang lahat ng mga bahagi gamit ang filament ng PLA, isang kulay para sa itaas at ibaba ng enclosure, isa pang contrasting para sa knob at bezel (na nakadikit sa tuktok.) Hindi ko tukuyin ang lahat ng aking mga setting ng slicer ngunit, gumamit ng isang Tri -Hexagon infill hindi bababa sa 35% upang payagan ang pag-tap ng mga sulok ng sulok at isang setting na "walang suporta" para mabasa ang incised na pagsulat. Nai-print ko ang kahon gamit ang aking mga printer na "normal" na taas ng layer.

Hakbang 9: Disenyo at Code ng Pagsulat

Ang hakbang na ito ay opsyonal ngunit iminungkahi para sa mas mahusay na pag-unawa.

Ang karamihan ng pagsisikap sa mga tuntunin ng oras ay ang pagsulat ng code. Maaari mong laktawan ang hakbang na ito kung gagamitin mo ang nakalakip na programa bilang -is. Gayunpaman, iminungkahi na maglaan ka ng oras upang suriin ang code para sa mas mahusay na pag-unawa o pagbabago upang matugunan ang iyong mga pangangailangan.

Ang mga sumusunod na komento ay maaaring maging kapaki-pakinabang sa pag-unawa sa prosesong ito.

  • Mga Komento- Malawak na puna habang nagpupunta ka - Madalas kong isulat ang mga komento bago ko isulat ang code.
  • Paghiwalayin at pagsakop Pag-debug - Gumamit ng mga pahayag sa pag-print upang mapatunayan ang mga halaga ng daloy at pagsubok at mga interface ng hardware. Huwag matakot na gumana sa mga problema sa iyong pagpunta, walang nagsusulat ng code na walang bug!
  • Patuloy - Ang #define pre-compiler tagubilin magtalaga ng mga pangalan sa mga numero ng pin. Const variable variable na may mga komento bawasan o alisin ang mga numero ng "Magic". Ang paggamit ng mga pare-pareho na matatagpuan sa simula ng isang programa o pagpapaandar payagan ang pagbabago ng mga parameter nang hindi muling pagsulat ng code
  • Mga Paunang Natukoy na Aklatan - Ang paggamit ng paunang natukoy na Mga Aklatan ay nagbabawas ng pasanin sa programa at oras ng pag-debug.
  • Mga Bloke ng Disenyo - Nilikha gamit ang mga pag-andar, Paghiwalayin ang code sa magkakahiwalay na mga tab (nauugnay na mga programa at.hfiles), mga bilang, klase at istraktura. Ituon ang pansin mo sa bawat isa upang maunawaan kung paano gumagana ang mga ito kaugnay sa natitirang code.
  • (Mga) State Machine - Ito ay isang pattern ng pagprograma na gumagana nang mahusay sa Arduinos o anumang mga programa na ginagamit upang makontrol ang mga output o mag-react ng mga input. Maraming mga lasa ng mga makina ng estado ang umiiral. Ang code na ito ay gumagamit ng isang machine ng estado batay sa pahayag ng switch sa pagpapaandar ng loop. Madaling maunawaan at ma-debug ang form na ito.
  • Display & Menus - Ang output ng OLED ay malinaw ngunit nagbibigay ng sapat na puna para sa mga kaswal na gumagamit at sumusuporta sa pagpili ng pagpipilian. Sumasama ito nang maayos sa makina ng estado (halos lahat ng mga estado ay may isang kaugnay na OLED screen). Ang klase ng Menu ay kapaki-pakinabang sa paghihiwalay ng code upang maipakita at piliin ang mga pagpipilian sa menu

Mangyaring basahin ang programa nang maraming beses. Nakatutulong ito upang kumuha ng isang pag-andar o seksyon nang paisa-isa. Madalas ay hindi ko maintindihan ang code na aking isinulat maliban kung nabasa ko ito nang hindi bababa sa dalawang beses!

Hakbang 10: I-install ang Program

Kopyahin ang nakalakip na file sa iyong computer pagkatapos ay i-unzip ito sa iyong direktoryo ng Sketches

Ikonekta ang Arduino sa iyong computer at i-download ang program code sa normal na pamamaraan. Buksan ang Arduino IDE serial monitor upang ma-verify na tumatakbo ang programa at tumutulong sa pag-debug.

Hakbang 11: Magtipon ng Timer

Ipunin ang Timer
Ipunin ang Timer
Ipunin ang Timer
Ipunin ang Timer
Ipunin ang Timer
Ipunin ang Timer
Ipunin ang Timer
Ipunin ang Timer

Kapag ang mga tuktok at ibabang bahagi ng kaso ay naka-print at nalinis ang mga sangkap ay maaaring naka-attach gamit ang maliit na self-tapping plastic screws. Una ang may hawak ng baterya ay na-snap sa likod. Ang natitirang bahagi ng mga bahagi ay nakakabit sa tuktok ng enclosure sa sumusunod na pagkakasunud-sunod:

  1. OLED at cable
  2. Start / Stop switch at mga kable
  3. Rotary Encoder at cable
  4. Speaker / Buzzer at mga kable
  5. Panlabas na control jack at mga kable
  6. On / Off slide switch at mga kable (dobleng orientation ng tsek upang ang on ay nasa direksyong nais mo

Kung hinuhubog mo nang direkta ang mga cable sa iyong circuit board, gawin ito pagkatapos na ang lahat ng mga bahagi ay nakakabit sa iyong enclosure upang mabawasan ang pagkasira ng kawad. Maghintay ka hanggang sa ma-wire ang mga kable sa pangunahing board bago mo i-tornilyo ang board na iyon sa likod.

Kung gumagamit ka ng mga pin header at Dupont konektor, ilakip muna ang pangunahing board sa likuran gamit ang mga turnilyo pagkatapos ay isaksak ang mga sangkap. Mag-ingat kapag ikinonekta mo ang baterya sa pangunahing board at obserbahan ang tamang polarity. Dapat mo ring i-set up ang mga jumper control na relay o mga kable sa oras na ito.

Ang ilalim ng enclosure ay kumokonekta sa tuktok sa pamamagitan ng paggamit ng 4-40 bilog na mga tornilyo ng makina, isa sa bawat sulok. Ang apat na butas sa tuktok ay dapat na na-tap sa isang 4/40 tap o kung gumagamit ka ng mga pagsingit na sinulok ng 4-40, kakailanganin mong i-drill ang mga butas upang tanggapin ang mga ito. Ang 4 na butas para sa pangunahing circuit board mounting sa ilalim ay kailangan ding drill. I-snug ang board na ito sa mount ng snap-in na baterya at markahan ang mga lokasyon ng mga butas. Mag-drill bilang naaangkop para sa iyong mga mounting turnilyo.

Hakbang 12: Pagsubok sa Pagsasama

Pagsubok sa Pagsasama
Pagsubok sa Pagsasama
Pagsubok sa Pagsasama
Pagsubok sa Pagsasama
Pagsubok sa Pagsasama
Pagsubok sa Pagsasama

Ang pangwakas na (pagsasama) pagsubok ay nagagawa sa pamamagitan ng pagsubok ng lahat ng mga pagpipilian sa menu at i-verify na gumagana ang mga ito sa hardware tulad ng dinisenyo. Para sa ibinigay kong code, dapat sapat iyon. Kung sumulat ka ng iyong sariling code o binago ang minahan ang iyong pagsubok ay kailangang maging mas malawak. Hindi ako naniniwala na ang lahat ng mga pagpipilian sa tiyempo ay kailangang gamitin ngunit kailangan mong subukan ang lahat ng karaniwang mga pagpipilian sa alarma at patunayan ang paggana ng mga alarma sa Nap at Meditation tulad ng dinisenyo.

Hakbang 13: Pangwakas na Mga Saloobin

Binabati kita sa iyong tagumpay, inaasahan kong, proyekto. Sigurado akong nakasalamuha mo ang mga problema sa daan na kailangan mong malutas. Sigurado rin ako na ang ilan sa aking mga tagubilin ay maaaring mas kumpleto o mas malinaw. Mangyaring ipaalam sa akin sa pamamagitan ng seksyon ng mga komento kung ano ang iyong mga resulta at nagbigay ng mga mungkahi sa kung paano maaaring mapabuti ang mga tagubiling ito.

Salamat sa iyong pagtingin sa oras at / o pagbuo ng proyektong ito.

Inirerekumendang: