Talaan ng mga Nilalaman:
- Hakbang 1: Ang Mga Mahahalaga (hindi Talaga)
- Hakbang 2: Ang Divider ng Boltahe
- Hakbang 3: Hagdan ng Divider ng Boltahe
- Hakbang 4: Buod
Video: Paano Basahin ang Maraming Mga switch Sa Isang MCU Pin: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:16
Nakarating na ba kayo chugging ang layo sa isang (mga) proyekto at ang proyekto ay patuloy na lumalaki at lumalaki, habang nagdagdag ka ng maraming mga bagay dito (tinatawag naming isang Feaping Creaturism)? Sa isang kamakailang proyekto, nagtatayo ako ng isang frequency meter at nagdagdag ng limang function signal generator / frequency synthesizer. Sa lalong madaling panahon ay napuno ko ng maraming mga switch kaysa sa mayroon akong mga magagamit na mga pin na natitira, kaya kung ano ang gagawin ng isang tao?
Gayunpaman, mayamaya pa akong pitong switch sa aking Funbox (oo, iyon ang tinawag kong generator ng aking pag-andar … Alam ko, wala akong pagkamalikhain) at narito ang isang maikling itinuro na nagpapakita sa iyo kung paano mo magagawa ang pareho. Hindi ito nangangailangan ng anumang mga rehistro sa paglilipat o mga tukoy na IC. Sa katunayan, hindi ito nangangailangan ng isang microcontroller, alinman, kung ang discrete semiconductors ay kung paano ka gumulong. Narito ang isang paraan na maaari mong basahin / pamahalaan ang maraming mga switch gamit ang isang solong pin sa iyong AVR (o iba pang microcontroller … Narinig kong may iba pang mga microcontroller bukod sa AVR's, ngunit hindi ko maisip …).:)
Hakbang 1: Ang Mga Mahahalaga (hindi Talaga)
Upang magawa ito, kakailanganin mo ng ilang mga bahagi. Nakatutulong ito upang magkaroon ng maraming mga switch na kailangan mong pamahalaan. Kakailanganin mo rin ang ilang mga resistors at alinman sa isang microcontroller na mayroong ADC (Analog-to-Digital Conversion) o ilang iba pang paraan na nais mong ipahiwatig na mayroong isang switch na naisaaktibo at aling switch ito.
Kung nais mo maaari kang gumamit ng oscillator na kinokontrol ng boltahe upang ipahiwatig ito, marahil ay may ilang mga kumikislap na ilaw, o kahalili, na may tunog. Sa 'ible na ito, magpapanggap ako na gumagamit kami ng isang AVR, ngunit sa iyong mundo maaari mong magpanggap kahit anong magpapasaya sa iyo. Miss ko na si Bob Ross.
Hakbang 2: Ang Divider ng Boltahe
Mahalaga, ang paraan na magagawa natin ito ay sa pamamagitan ng paggamit ng isang diskarte at circuit na tinatawag na isang voltage divider. Ginagawa ng mga divider ng boltahe, na maaaring nahulaan mo, hatiin ang V,, sa,, boltahe ng ilang halaga na natukoy mo. Maaari mong hatiin ang boltahe sa maraming mga bahagi, kabilang ang mga capacitor at inductor, ngunit narito ko gagawin ito sa mahusay na resistor ng ol. Ang Ideya Ang ginagawa namin ay paglalagay ng dalawang bahagi sa serye na magdudulot, bawat isa sa bawat isa, isang pagbagsak ng boltahe sa kabuuan ng bahagi. Tingnan ang unang larawan kung hindi ako nagkakaroon ng katuturan. Mayroong isang potensyal na pagkakaiba ng 9V mula sa riles patungong riles. Sa pagitan ng 9V at 0V mayroong dalawang resistors sa serye. Ang bawat isa sa mga ito ay makakaranas ng isang pagbagsak ng boltahe sa kanyang sarili, depende sa paglaban, dahil marahil ay naaalala mo mula sa V = IR. Kung kukuha ka ng isang pagsukat ng boltahe sa pagitan ng dalawang resistors, makakakuha ka ng ilang halaga sa pagitan ng 9V at 0V, depende sa kung magkano ang boltahe na bumaba sa unang risistor at kung magkano ang natitira upang mahulog sa ika-2 risistor, bago ang 0V. Mayroong isang direktang formula para sa pagkalkula ng boltahe na drop sa isang risistor sa sitwasyong ito at ganito ang hitsura. Hayaan ang boltahe sa ibabaw ng risistor 1 (R1) ay maging V1 at ang boltahe sa paglaban ng dalawang (R2) ay maging V2. Dahil hindi ko na magagamit ang pag-format, tingnan ang larawan 2 sa ibaba para sa pormula … Kaya, sa aming resistive divider, ang boltahe ng Vout ay maaaring matukoy ng aming pormula para sa V2 (dahil isasangguni namin ang GND sa 0V). Ano ang gagawin nito sa pagkakaroon ng isang kumpol ng mga switch na napansin mula sa isang pin? Kaya, buksan ang pahina at ipapakita ko sa iyo!
Hakbang 3: Hagdan ng Divider ng Boltahe
Ngayon ipagpalagay na mayroon tayong lahat ng aming mga switch, marahil anim o walo o labing-anim, lahat ay konektado sa pamamagitan ng resistors na ang bawat isa ay nagsisilbing isang divider ng boltahe na kapag nagbago ang estado ng switch ng switch, ang boltahe ay nabasa at batay sa antas ng boltahe, kami ay maaaring malaman kung aling switch ang pinapagana lang. Tumingin ka sa baba. Sa larawan sa ibaba, nakakonekta ako sa dalawang mga bloke ng switch. Ang nangungunang block ay may dalawang switch, at ang pinaka-block ay may limang switch. Maaari mong ikonekta ang iyong magkahiwalay na toggle, panandalian, pandamdam, atbp switch sa parehong paraan. Ang mahalagang bagay na mapapansin ay ang risistor na konektado ang iyong switch. Sa aking halimbawa, halos nadoble ko ang paglaban ng susunod na risistor upang lumikha ng isang boltahe na puwang na madaling sukatin at hindi pagkakamali para sa switch bago o pagkatapos. Kung hindi mo pa napansin dati, tumingin muli, at mapagtanto na bumalik kami sa aming dating kaibigan na resistive voltage divider. Ang unang risistor, ang 10k ohm, ay konektado sa 5V at ang ika-2 risistor - ang risistor na tutukoy sa Vpalabas para sa SWITCH_ADC pin, ay konektado sa bawat switch at samakatuwid, ang bawat switch ay nauugnay sa isang partikular na boltahe ng Vout na mababasa mula sa ADC pin na konektado sa SWITCH_ADC. Susunod, tukuyin ang inaasahang Vout mula sa bawat paglipat tulad nito
Vout = Vin * (R2 / (R1 + R2))
para sa switch one:
Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V o 240 mV
para sa switch two:
Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V o ~ 900mV
at iba pa.. Huwag mag-atubiling kapalit sa iyong sariling mga halaga para sa R2 kung mayroon ka lamang mga tiyak na resistors … Ang pangunahing bagay dito ay upang mapanatili ang isang malawak na sapat na puwang sa boltahe sa pagitan ng mga switch upang ang anumang margin ng error sa ADC ay nanalo ' t ilagay ka sa boltahe na inaasahan mula sa isang kalapit na switch. Natagpuan ko ang pinakamadaling bagay na dapat gawin ay ang pagbuo ng divider hagdan at maglagay ng isang multimeter / voltmeter sa ADC pin at pindutin ang bawat pin at makita kung anong mga halaga ang nakukuha mo. Dapat ay medyo spot sila sa iyong kinakalkula. Kapag mayroon ka ng lahat ng mga inaasahang halaga ng boltahe mula sa bawat switch gamit ang isang partikular na risistor, pagkatapos ay maaari mong mabasa sa iyong MCU ang ADC pin at ihambing iyon sa iyong mga kilalang halaga upang matukoy kung aling switch ang pinindot. Halimbawa, sabihin na nakarehistro ka ng isang nakakagambala na gawain sa serbisyo na tatawagan tuwing may napansin na pagbabago sa ADC pin. Sa loob ng ISR na iyon, mababasa mo ang ADC at ihambing ang halagang iyon sa iyong switch table. Kung gumagamit ka ng isang 8-bit na halaga ng ADC, ang iyong boltahe ay mai-convert sa isang numero sa pagitan ng 0 at 255 na tumutugma sa isang boltahe sa pagitan ng 0V at 5V. Ipinapalagay nito na na-configure mo ang iyong ADC sa ganitong paraan.
Hakbang 4: Buod
Kaya, ngayon dapat mong malaman kung paano maging matipid sa paggamit ng mga GPIO pin para sa mga switch. Sa tuwing tumatakbo ka nang mababa sa mga GPIO pin, o halos wala kang pagsisimulan, o kung napagtanto mong gumagamit ka ng isang bangko ng mga switch, ang resistive divider ay ang paraan upang pumunta upang mai-save ang iyong mga GPIO pin habang nagbibigay pa rin ng matatag na mekanismo upang makita ang pag-access ng switch.
Inirerekumendang:
Paano Basahin ang Isang Meter ng Elektrisidad Sa pamamagitan ng Arduino: 3 Mga Hakbang
Paano Basahin ang Isang Meter ng Elektrisidad Sa pamamagitan ng Arduino: Kadalasan magiging kagiliw-giliw na malaman ang kasalukuyang pagkonsumo ng kuryente o kabuuang pagkonsumo ng kuryente ng iyong bahay upang limitahan ang iyong mga gastos para sa elektrisidad at protektahan ang kapaligiran. Hindi talaga ito problema, dahil karamihan ay makakahanap ka ng isang smart digital el
Paano Basahin ang isang Micrometer .: 3 Mga Hakbang
Paano Basahin ang isang Micrometer .: Kumusta, ang pangalan ko ay Damian Paul. Ako ay mag-aaral sa ikalawang taong mag-aaral sa Lake Area Technical Institute sa programa ng katumpakan ng pag-macho. Nagpapatakbo ako ng mga CNC machine nang higit sa 2 taon bago dumalo sa Lake Area Technical Institute. Ngayon, pupunta ako sa
Maraming nalalaman I / O Extender PCB upang Makontrol ang Maraming Mga Nixie Tubes Sa I2C: 9 Mga Hakbang (na may Mga Larawan)
Maraming nalalaman I / O Extender PCB upang Makontrol ang Maraming Mga Nixie Tubes Sa I2C: Sa kasalukuyan mayroong maraming interes sa pagbibigay buhay sa mga vintage nixie tubes. Maraming mga nixie tube clock kit ang magagamit sa merkado. Lumitaw na maging isang buhay na buhay na kalakalan sa lumang stock ng russian nixie tubes. Dito rin sa mga Instructable doon
TOUCH SWITCH - Paano Gumawa ng isang Touch Switch Gamit ang isang Transistor at Breadboard .: 4 Mga Hakbang
TOUCH SWITCH | Paano Gumawa ng isang Touch Switch Gamit ang isang Transistor at Breadboard .: Ang touch switch ay isang napaka-simpleng proyekto batay sa aplikasyon ng transistors. Ang transistor ng BC547 ay ginagamit sa proyektong ito na gumaganap bilang touch switch. SIGURADO NA Panoorin ang VIDEO NA Bibigyan KA NG BUONG DETALYE TUNGKOL SA PROYEKTO
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w