Kazalo:
- Korak: Kaj boste potrebovali
- 2. korak: Kaj je 5-žična uporovna plošča na dotik?
- 3. korak: Ožičenje
- 4. korak: Razvoj programske opreme
- 5. korak: Utripanje državnega stroja
- 6. korak: utripanje gumba
- 7. korak: Serijska komunikacija
- 8. korak: Branje koordinat
- 9. korak: Čiščenje
- 10. korak: Zadnje misli
Video: 5-žični uporovni senzor na dotik: 10 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
Živjo živjo!
Minilo je že kar nekaj časa, odkar sem delal na tem spletnem mestu in zdi se, da se je precej spremenilo! Končno sem pripravljen, da se vrnem za volan za nov projekt in mislim, da je čas, da stvari nekoliko spremenim!
Že nekaj časa sem imel v mislih projekt, ki temelji na 271828's Plate and Ball, vendar se moram še veliko naučiti o senzorjih in teoriji upravljanja, preden se konča. Mislil sem, da te bom lahko vzel s seboj, dokler se bom nekaj naučil!
V ta namen bo moj cilj teh vaj nekakšen hibrid med mojimi bolj izpopolnjenimi vajami in zapis za sam projekt. Vsaka posamezna vadnica bo en korak na tem potovanju in bo vključevala podrobnosti, ki sem jih v preteklosti zanemaril, na primer razvoj kode (namesto pravkar dokončane kode) in napačne korake, ki jih naredim na tej poti.
Zelo sem navdušen nad tem novim projektom in vesel sem, da vidim, kako dobro deluje!
Danes bomo dobili preprosto 5-žično ploščo na dotik, ki bo delovala z DP-32.
Začnimo!
Korak: Kaj boste potrebovali
Ker ta vadnica govori o delovanju enega senzorja, poleg mikrokrmilnika in plošče na dotik ne boste potrebovali veliko.
-
Mikrokrmilnik.
DP32 uporabljam z vgrajeno ploščo za kruh, ker je izdelava prototipov neverjetno preprosta
-
Različne žice in kabli.
Lahko bi uporabil vgrajen tračni kabel na plošči na dotik, če pa se raztrga, je celotna plošča neuporabna. Namesto tega uporabljam 6-žilni kabel za zmanjšanje obremenitve vgrajenega kabla
-
Naslovna 5-žična uporovna plošča na dotik!
Imel sem 4-žilno uporovno ploščo na dotik, vendar se je zanj zlomil trak
In to je to!
2. korak: Kaj je 5-žična uporovna plošča na dotik?
Če ste prebrali mojo vadbo s 4-žično ploščo na dotik, boste seznanjeni s splošno idejo o uporovnem senzorju na dotik, vendar 5-žične plošče in 4-žične plošče delujejo nekoliko drugače.
Ta plošča mi je všeč, ker si lahko ogledate vse sledi žice, zaradi česar je enostavno videti, kaj dela. Na prvi sliki sem vsako sled obarval drugače. Verjetno lahko vidite, da vsaka od štirih žic (roza, rumena, oranžna in vijolična) gredo na enega od štirih vogalov. Srednja žica (rdeča) gre na prilagodljivo senzorsko ploščo.
Na drugi sliki smo dve od štirih žic (zgoraj desno in spodaj desno) nastavili na visoko napetost (prikazano rdeče), medtem ko sta preostali dve (zgoraj levo in spodaj levo) nastavljeni na nizko napetost (prikazano v modri barvi). To ustvari naklon napetosti po celotni plošči. V tem primeru gre nagib vzdolž osi X, zato višja napetost predstavlja višji položaj vzdolž osi X.
Ko se s prstom dotaknemo plošče, ta pritisne prilagodljivo tipalo, ki se poveže nekje vzdolž naklona osi X. Senzorji napetosti na našem mikrokrmilniku lahko zaznajo to napetost in vam povedo, kje se na osi X dotika vaš prst!
Na tretji sliki si lahko ogledate, kako se konfiguracija spreminja in nam omogoča zaznavanje vzdolž osi Y. Tako lahko ugotovimo, kje se v 2-D prostoru dotika naš prst!
3. korak: Ožičenje
Kot verjetno vidite na zgornjih slikah, sem svoje štiri vogale povezal vsak s svojim digitalnim izhodnim zatičem. To mi bo omogočilo, da jih posamezno nastavim na visoko ali nizko. Moj senzorski pin je priključen na analogni vhodni pin. Lepa stvar pri 5-žičnem zaslonu na dotik, v nasprotju s 4-žičnim, je, da potrebujete le en analogni pin, medtem ko bi za 4-žilni 2.
Vaše ožičenje se lahko seveda razlikuje, vendar je moje ožičenje naslednje:
Analog 0 (pin 6) se poveže s senzorjem (srednji pin)
Digital 3 se poveže z zgornjim desnim kotom (najbolj zgornji pin)
Digital 2 se poveže z zgoraj levo (drugi najbolj zgornji pin)
Digital 1 se poveže z levo spodaj (drugi skrajni spodnji zatič)
Digital 0 se poveže z desno spodaj (najbolj spodnji pin)
Ponovno velja omeniti, da uporabljam 6-žilni kabel za prehod med mikrokrmilnikom in ploščo. Zgornji pin tega kabla sem pustil brez povezave.
4. korak: Razvoj programske opreme
V preteklosti sem običajno spustil dokončano programsko datoteko, ki jo lahko uporabite, morda s kratkim opisom, kaj vse počne. To mi ni všeč. Želim, da bi v tej seriji govorili o projektih v razvoju, v ta namen pa bom vključil dejanski razvoj te programske opreme od začetka do konca.
Kot ponavadi bom uporabljal Arduino IDE z jedrom Digilent. Vsak razdelek bo vseboval kodno datoteko, posnetek zaslona ter opis dodatkov in tega, kar poskušamo doseči.
Zaenkrat začenjam s preprostim programom za utripanje v slogu zakasnitve, popolnoma enakim tistemu, ki ga najdete v mapi Primeri. Če boste prebrali tisto dolgotrajno glavo, ki sem jo napisal, boste videli, da bo vsak korak v tem procesu spremenil program in ga približal našemu končnemu cilju.
5. korak: Utripanje državnega stroja
Moja prva poteza je, da spremenim funkcijo utripanja iz ene na podlagi "delay ()" v stanje stanja.
Za tiste, ki niso navajeni zamenjati stavkov, deluje podobno kot stavek if. Ta (v oranžnem polju) preizkuša našo spremenljivko "stanje" (ki se začne pri 0). Potem pa preskoči na primer za naše trenutno stanje. Videli boste, da sta primera 0 in 2 odgovorna za vklop in izklop LED (oziroma za izklop), primera 1 in 3 pa za čakanje med stikali.
6. korak: utripanje gumba
Nato sem hotel uporabiti gumb za utripanje luči. Namesto da bi to preveč zakompliciral, sem samo premaknil vsa stanja navzdol za eno (stanje 0 postane stanje 1 itd.). Pri tem pazite, da povečate izhodna stanja in stanje samo (glejte sliko 3).
Izbrisal sem tudi drugo stanje "čakanja". To pomeni, da gumb za eno sekundo prižge luč in gumb lahko znova pritisnete takoj, ko se izklopi.
Omeniti velja, da ta sistem samodejno odstrani gumb namesto nas, ker moramo počakati, da se LED ugasne, preden se vrnemo v stanje 0, kjer lahko gumb znova sproži cikel.
7. korak: Serijska komunikacija
Ta posodobitev je zelo majhna. Vse, kar sem hotel narediti, je vzpostaviti serijsko povezavo in pošiljati sporočila. Na prvi sliki lahko vidite, da začenjam serijsko v funkciji setup (). Znotraj našega državnega stroja sem državam 1 in 3 dodal vrstice, ki bodo pošiljale preprosta sporočila v računalnik po zaporedju.
8. korak: Branje koordinat
Še dobro, da je bil zadnji korak lahek, saj je bil ta hud.
Za začetek sem dodal spremenljivke za našo ploščo na dotik, vključno z nekaj namenskimi spremenljivkami časa za ploščo na dotik in naš gumb. Čez nekaj časa boste videli zakaj.
Popolnoma sem ponovno napisal državni stroj. Pogled na kodo je nekoliko zmeden, zato sem vključil blokovni diagram, ki naj ponazori, kaj je bilo storjenega.
Opozoriti je treba: Zdaj so na voljo trije koraki čakanja. Enega za vsako konfiguracijo plošče na dotik, ki pusti, da se napetosti umirijo pred meritvijo, in enega, ki daje gumbu čas, da se pravilno odpove. Zaradi teh čakalnih korakov sem želel gumbu in plošči na dotik dati lastne časovne spremenljivke.
Opomba: konstanta DEBOUNCE_TIME je lahko nekoliko nizka. Lahko ga povečate.
9. korak: Čiščenje
Prišli smo do končne različice kode za ta projekt!
Za začetek sem dodal funkcijo loop_diff () za izračun pretečenega časa. Notranja ura za DP32 je nepodpisana in čeprav je zelo malo verjetna, obstaja možnost, da se ura med izvajanjem te kode*obnovi. V tem primeru nam bo preprosto odštevanje trenutnega časa od časa, shranjenega v btn_time ali panel_time, dalo nekaj čudnega, zato sem napisal loop_diff (), da odkrijem, kdaj pride do zank, in se ustrezno obnašam.
Opravil sem tudi manjše čiščenje. Odstranil sem zdaj neuporabljeno spremenljivko "state_time". Prešel sem z oznake LED_BUILTIN (ki je standard Arduino) na oznako PIN_LED1 (ki je standardna za chipKit in DP32). Odstranil sem tudi vsa sporočila prek Serial o začetku in koncu postopka, zaradi česar so naši podatki prek Serial veliko čistejši.
*Matematiko sem opravil pred leti in mislim, da bi za funkcijo millis () potreboval nekaj tedna neprekinjenega časa delovanja, preden bi spremenljivka zankovala.
10. korak: Zadnje misli
In to je to!
Če ste sledili, bi morali imeti na mikrokrmilnik priključeno delujočo ploščo na dotik! To je bil majhen projekt, vendar je del večjega projekta. Prizadevam si za nekaj podobnega 271828's Plate and Ball in pred tem me čaka še dolga pot. Poskušal vas bom vzeti s seboj za celoten proces in vsak del bi moral biti lasten majhen projekt.
To je zame učni proces, zato svoje misli in predloge pustite v spodnjih komentarjih.
Hvala, se vidimo naslednjič!
Priporočena:
Kako narediti senzor stikala na dotik: 7 korakov
Kako narediti senzor stikala na dotik: Hii friend, Danes bom naredil preprost senzor na dotik s tranzistorjem BC547. Ko se dotaknemo žice, bo LED zasvetila in ker se ne bomo dotaknili žice, LED ne bo svetila. Začnimo
Tri vezja senzorja na dotik + vezje časovnika na dotik: 4 koraki
Tri vezja senzorja na dotik + vezje časovnika na dotik: Senzor na dotik je vezje, ki se vklopi, ko zazna dotik na nožicah na dotik. Deluje na prehodni osnovi, to je, da bo obremenitev vklopljena le za čas dotika na zatičih. Tukaj vam bom pokazal tri različne načine, kako občutiti dotik
STIKALO NA DOTIK - Kako narediti stikalo na dotik s tranzistorjem in ploščico: 4 koraki
STIKALO NA DOTIK | Kako narediti stikalo na dotik z uporabo tranzistorja in tiskalne plošče.: Stikalo na dotik je zelo preprost projekt, ki temelji na uporabi tranzistorjev. V tem projektu je uporabljen tranzistor BC547, ki deluje kot stikalo na dotik. OBVEZNO OGLEDITE VIDEO, KI vam bo dal popolne podrobnosti o projektu
Brezžični osvetljeni uporovni gumb na dotik: 5 korakov
Brezžični osvetljeni odporni gumb na dotik: To je preprost projekt z idejo o ustvarjanju uporovnega gumba na dotik, ki vključuje RGB LED. Kadar koli se dotaknete tega gumba, bo zasvetil in barvo svetilke lahko prilagodite. Uporablja se lahko kot prenosni osvetljeni gumb na dotik prek
Senzor na dotik in senzor zvoka Nadzor AC/DC luči: 5 korakov
Senzor na dotik in senzor zvoka za nadzor AC/DC luči: To je moj prvi projekt, ki deluje na podlagi dveh osnovnih senzorjev, enega senzorja na dotik in drugega senzorja zvoka, ko pritisnete sledilno ploščico na senzorju na dotik, se bo lučka AC preklopila VKLOPLJENO, če ga spustite, lučka ugasne in isto