Sadržaj:
- Korak 1: Osnovne stvari (ne baš)
- Korak 2: Razdjelnik napona
- Korak 3: Ljestvice razdjelnika napona
- Korak 4: Sažetak
Video: Kako čitati mnoge sklopke s jednim MCU pinom: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:39
Jeste li ikada odmakli od projekata (a), a projekt nastavlja rasti i rasti, dok mu dodajete još stvari (mi to zovemo Feaping Creaturism)? Na nedavnom projektu izgradio sam mjerač frekvencije i dodao generator funkcija sa pet funkcija/sintetizator frekvencije. Ubrzo sam završio s više prekidača nego što mi je ostalo na raspolaganju, pa što momku učiniti?
Međutim, uskoro sam imao još sedam prekidača na svom Funboxu (da, tako sam nazvao svoj generator funkcija … znam, nemam kreativnosti) i evo kratkog uputstva koje vam pokazuje kako možete učiniti isto. Ne zahtijeva nikakve registre pomaka ili posebne IC -ove. Zapravo, ne zahtijeva ni mikrokontroler, ako se kotrljaju diskretni poluvodiči. Evo jednog načina na koji možete čitati/upravljati s više prekidača koristeći jedan pin na vašem AVR -u (ili drugom mikrokontroleru … Čuo sam da postoje i drugi mikrokontroleri osim AVR -a, ali ne mogu zamisliti …).:)
Korak 1: Osnovne stvari (ne baš)
Da biste to postigli, trebat će vam nekoliko komponenti. Pomaže imati mnoštvo prekidača kojima morate upravljati. Također će vam trebati neki otpornici i mikrokontroler s ADC-om (analogno-digitalna konverzija) ili na neki drugi način na koji želite naznačiti da je prekidač aktiviran i koji je to prekidač.
Ako želite, mogli biste upotrijebiti oscilator s naponskim upravljanjem da to naznačite, možda s nekim trepćućim svjetlima, ili alternativno, sa zvukom. U ovom ću se razdoblju pretvarati da koristimo AVR, ali u vašem svijetu možete se pretvarati što god vas čini sretnima. Nedostaje mi Bob Ross.
Korak 2: Razdjelnik napona
U osnovi, način na koji ćemo to učiniti je pomoću tehnike i sklopa koji se nazivaju djelitelj napona. Razdjelnici napona, kao što ste možda pretpostavili, dijele napon V,,,,, na neku vrijednost koju sami odredite. Napon možete podijeliti s nekoliko komponenti, uključujući kondenzatore i prigušnice, ali to ću učiniti s dobrim otpornikom. Ideja Ono što radimo je stavljanje dvije komponente u seriju koje će uzrokovati, svaka pojedinačno, pad napona na komponenti. Pogledaj prvu sliku ako nemam smisla. Postoji potencijalna razlika od 9 V od željeznice do šine. Između 9V i 0V postoje dva otpornika u nizu. Svaki od njih će osjetiti pad napona na sebi, ovisno o otporu, kao što se vjerojatno sjećate iz V = IR. Ako napravite mjerenje napona između dva otpornika, dobit ćete neku vrijednost između 9V i 0V, ovisno o tome koliko je napona palo na prvi otpornik i koliko je preostalo da padne preko drugog otpornika, prije 0V. U ovoj situaciji postoji jednostavna formula za izračunavanje pada napona na otporniku i izgleda ovako. Neka napon na otporniku 1 (R1) bude V1, a napon na otporniku dva (R2) V2. Budući da više ne mogu koristiti oblikovanje, pogledajte formulu 2 ispod za formulu … Dakle, u našem otporničkom razdjelniku, Vout napon se može odrediti našom formulom za V2 (budući da ćemo GND označavati na 0V). Kakve to veze ima s otkrivanjem hrpe prekidača s jednog pina? Pa okreni stranicu pa ću ti pokazati!
Korak 3: Ljestvice razdjelnika napona
Pretpostavimo da sada imamo sve naše sklopke, možda šest ili osam ili šesnaest, sve spojene preko otpornika koji svaki djeluje kao razdjelnik napona tako da se, kad se promijeni stanje pina sklopke, očita napon i temelji se na razini napona, može znati koji je prekidač upravo aktiviran. Pogledajte ispod. Na donjoj slici spojio sam dva bloka prekidača. Gornji blok ima dva prekidača, a donji blok ima pet prekidača. Na isti način možete spojiti svoje zasebne prekidače, trenutne, taktilne itd. Važno je primijetiti otpornik na koji je spojen vaš prekidač. U mom primjeru skoro sam udvostručio otpor sljedećeg otpornika kako bih stvorio naponski jaz koji je lako izmjeriti i ne zamijeniti prekidač prije ili poslije. Ako prije niste primijetili, pogledajte ponovno i shvatite da smo se vratili našem starom prijatelju, otporničkom djelitelju napona. Prvi otpornik, 10 k ohma, spojen je na 5 V, a drugi otpornik - otpornik koji će odrediti Vvan za pin SWITCH_ADC, spojen je na svaki prekidač i stoga je svaki prekidač povezan s određenim Vout naponom koji se može očitati s ADC pina spojenog na SWITCH_ADC. Zatim odredite očekivani Vout iz svakog prekidača tako
Vout = Vin * (R2 / (R1 + R2))
za prekidač jedan:
Vout = 5V * (500 / (10000 + 500)) = 5 * 0,048 = 0,24V ili 240 mV
za prekidač dva:
Izlaz = 5V * (2200 / (10000 + 2200)) = 5 * 0,18 = 0,9V ili ~ 900mV
i tako dalje. Slobodno zamijenite svoje vlastite vrijednosti za R2 ako imate samo određene otpornike pri ruci … Ključna stvar ovdje je zadržati dovoljno širok jaz u naponu između sklopki kako bi svaka greška na ADC -u pobijedila ' t staviti vas u napon koji se očekuje od susjedne sklopke. Otkrio sam da je najjednostavnije izgraditi ljestve razdjelnika i staviti multimetar/voltmetar na pin ADC -a i pritisnuti svaki pin i vidjeti koje vrijednosti dobivate. Trebali bi biti prilično svjesni onoga što izračunate. Nakon što dobijete sve očekivane vrijednosti napona od svakog prekidača pomoću određenog otpornika, tada možete MCU -u očitati pin ADC -a i usporediti ga s vašim poznatim vrijednostima kako biste utvrdili koji je prekidač pritisnut. Na primjer, recimo da ste registrirali rutinu usluge prekida koja će se pozivati kad god se primijeti promjena na pin -u ADC -a. Unutar tog ISR -a mogli ste pročitati ADC i usporediti tu vrijednost sa tablicom prekidača. Ako koristite 8-bitnu vrijednost ADC-a, vaš će se napon pretvoriti u broj između 0 i 255 koji odgovara naponu između 0V i 5V. Ovo pretpostavlja da ste ADC konfigurirali na ovaj način.
Korak 4: Sažetak
Dakle, sada biste trebali znati biti štedljivi u korištenju GPIO pinova za prekidače. Kad god vam ponestane GPIO pinova, ili ih jedva imate za početak, ili ako shvatite da ćete koristiti niz prekidača, otpornički razdjelnik je način na koji možete spasiti svoje GPIO pinove, a da pritom i dalje pružate robustan mehanizam za otkrivanje pristupa prekidačem.
Preporučeni:
Kako čitati DHT podatke na LCD -u pomoću Raspberry Pi: 6 koraka
Kako čitati DHT podatke na LCD -u pomoću Raspberry Pi: Temperatura i relativna vlažnost zraka važni su vremenski podaci u okruženjima. To mogu biti podaci koje mini meteorološka stanica pruža. Očitavanje vaše temperature i relativne vlažnosti s Raspberry Pi može se postići pomoću različitih varijanti
Kako čitati više analognih vrijednosti pomoću jednog analognog pina: 6 koraka (sa slikama)
Kako čitati više analognih vrijednosti pomoću jednog analognog pina: U ovom vodiču pokazat ću vam kako čitati više analognih vrijednosti koristeći samo jedan pin za analogni ulaz
Upravljački modul prekidača Raspberry Pi ATX PSU sklopke: 3 koraka
Upravljački modul prekidača Raspberry Pi ATX PSU sklopke: U sustavu koji se sastoji od RaspberryPi -a koji se napaja ATX jedinicom za napajanje, cilj ovog kruga je omogućiti uključivanje ili isključivanje sustava jednim pritiskom na gumb. Ovaj je vodič razvijen od sitelec.org
Napravite vlastite daljinske sklopke za napajanje: 9 koraka (sa slikama)
Napravite vlastite daljinske prekidače za napajanje: Većina ljudi zna za stanje pripravnosti (tj. Da mnogi elektronički uređaji nastavljaju trošiti određenu količinu energije čak i kad su isključeni). Jedan od načina za uklanjanje napajanja u stanju pripravnosti je korištenje prekidača za napajanje ili zaštite od prenapona s ugrađenim prekidačem za isključivanje
Kontrolirajte bilo što s jednim AVR pinom: 4 koraka
Kontrolirajte bilo što s jednim AVR pinom: Ovo uputstvo pokazuje kako kontrolirati grupu LED dioda s jednim izlazom mikroprocesora. Mikro koji ću koristiti je Atmel Attiny2313