Sadržaj:
- Korak 1: Što će vam trebati
- Korak 2: Što je 5-žična otporna ploča osjetljiva na dodir?
- Korak 3: Ožičenje
- Korak 4: Razvoj softvera
- Korak 5: Treptanje državnog stroja
- Korak 6: Treptanje tipke
- Korak 7: Serijska komunikacija
- Korak 8: Čitanje koordinata
- Korak 9: Čišćenje
- Korak 10: Završne misli
Video: 5-žični otporni osjetnik na dodir: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Bok bok!
Prošlo je dosta vremena od kada radim na ovoj stranici i čini se da se dosta toga promijenilo! Napokon sam spreman vratiti se za volan za još jedan projekt i mislim da je vrijeme da i ja malo promijenim stvari!
Neko sam vrijeme imao na umu projekt temeljen na 271828 Plate and Ball, ali moram puno naučiti o senzorima i teoriji upravljanja prije nego što završi. Mislio sam da ću vas, sve dok učim nešto, voditi sa sobom!
U tu će svrhu moj cilj ovih vodiča biti svojevrsni hibrid između mojih uglađenijih vodiča i zapis za sam projekt. Svaki pojedinačni vodič bit će jedan korak na tom putu i uključivat će pojedinosti koje sam prešućivao u prošlosti, poput razvoja koda (umjesto upravo dovršenog koda) i pogrešnih koraka koje usput učinim.
Vrlo sam uzbuđen zbog ovog novog projekta i s nestrpljenjem ću vidjeti koliko dobro funkcionira!
Danas ćemo dobiti jednostavnu 5-žičnu ploču osjetljivu na dodir koja radi s DP-32.
Započnimo!
Korak 1: Što će vam trebati
Budući da se u ovom vodiču radi o funkcioniranju jednog senzora, neće vam trebati puno osim mikrokontrolera i dodirne ploče.
-
Mikrokontroler.
Koristim svoj DP32 s ugrađenom pločom za kruh jer čini izradu prototipa nevjerojatno jednostavnim
-
Razne žice i kabeli.
Mogao sam upotrijebiti ugrađeni vrpčani kabel dodirne ploče, ali ako se pukne, cijela ploča je beskorisna. Umjesto toga, koristim 6-žični kabel za smanjenje naprezanja ugrađenog kabela
-
Naslovna 5-žična otporna ploča osjetljiva na dodir!
Imao sam 4-žičnu otpornu ploču osjetljivu na dodir, ali je pukao vrpčni kabel
I to je to!
Korak 2: Što je 5-žična otporna ploča osjetljiva na dodir?
Ako ste pročitali moj 4-žični vodič na dodirnoj ploči, bit će vam poznata opća ideja o otpornom osjetniku na dodir, no 5-žične ploče i 4-žične ploče djeluju malo drugačije.
Sviđa mi se ova ploča jer možete vidjeti sve tragove žice, što olakšava vidjeti što radi što. Na prvoj slici sam obojila svaki trag drugačije. Vjerojatno možete vidjeti da po četiri žice (ružičasta, žuta, narančasta i ljubičasta) idu do jednog od četiri ugla. Srednja žica (crvena) ide na fleksibilnu ploču senzora.
Na drugoj slici postavili smo dvije od četiri žice (gore desno i dolje desno) na visoki napon (prikazano crvenom bojom), dok su ostale dvije (gore lijevo i dolje lijevo) postavljene na nisku napon (prikazan plavom bojom). To stvara gradijent napona po cijeloj ploči. U ovom slučaju gradijent ide duž osi X, pa veći napon predstavlja viši položaj duž osi X.
Kada prstom dodirnemo ploču, to potiskuje fleksibilni senzor, povezujući se negdje uz gradijent osi X. Senzori napona na našem mikrokontroleru mogu osjetiti ovaj napon i reći vam gdje na osi X vaš prst dodiruje!
Na trećoj slici možete vidjeti kako se konfiguracija mijenja kako bismo mogli osjetiti duž osi Y. Na ovaj način možemo reći gdje se u 2-D prostoru dodiruje naš prst!
Korak 3: Ožičenje
Kao što vjerojatno možete vidjeti na gornjim slikama, spojio sam svoja četiri ugla svaki na svoj digitalni izlazni pin. To će mi omogućiti da ih pojedinačno postavim na visoke ili niske. Moj pin osjetnika se spaja na pin za analogni ulaz. Lijepa stvar kod 5-žičnog zaslona osjetljivog na dodir, za razliku od 4-žičnog, je što vam je potreban samo jedan analogni pin, dok bi za 4-žični bila potrebna 2.
Vaše ožičenje može se razlikovati, naravno, ali moje ožičenje je sljedeće:
Analog 0 (pin 6) povezuje se sa senzorom (srednji pin)
Digital 3 povezuje se s gore-desno (krajnji pin)
Digital 2 povezuje se s gornje lijeve strane (drugi krajnji krajnji pin)
Digital 1 povezuje se s donjom lijevom stranom (drugi krajnji donji pin)
Digital 0 povezuje se s donjim desnim kutom (krajnji donji pin)
Opet valja napomenuti da koristim 6-žični kabel za prolaz između mikrokontrolera i ploče. Ostavio sam gornji pin ovog kabela nepovezan.
Korak 4: Razvoj softvera
U prošlosti sam obično ispuštao dovršenu softversku datoteku koju ste mogli koristiti, možda s kratkim uvidom u sve što radi. Ne sviđa mi se to. Želim da se u ovoj seriji radi o projektima u razvoju, te ću u tu svrhu uključiti stvarni razvoj ovog softvera od početka do kraja.
Kao i obično, koristit ću Arduino IDE, s jezgrom Digilent. Svaki odjeljak će sadržavati datoteku koda, snimak zaslona, kao i opis dodataka i onoga što pokušavamo postići.
Za sada počinjem s jednostavnim programom treptanja u stilu odgode, potpuno istim kao što biste pronašli u mapi Primjeri. Ako pročitate to dugačko zaglavlje koje sam napisao, vidjet ćete da će svaki korak u ovom procesu izmijeniti program kako bi ga približio našem krajnjem cilju.
Korak 5: Treptanje državnog stroja
Moj prvi potez je promijeniti funkciju treptanja s one na temelju "delay ()" u stroj za stanje.
Za one koji nisu navikli mijenjati naredbe, radi slično kao if-izraz. Ovaj (u narančastom okviru) testira našu varijablu "stanje" (koja počinje s 0). Zatim se prelazi na slučaj našeg trenutnog stanja. Vidjet ćete da su slučajevi 0 i 2 odgovorni za uključivanje i isključivanje LED -a (respektivno), dok su slučajevi 1 i 3 odgovorni za čekanje između prekidača.
Korak 6: Treptanje tipke
Zatim sam želio da se gumb koristi za treptanje svjetla. Umjesto da ovo previše kompliciram, samo sam pomaknuo sva stanja prema dolje za jedno (stanje 0 postaje stanje 1 itd.). Pri tome pazite da povećate izlazna stanja kao i samo stanje (vidi sliku 3).
Izbrisao sam i drugo stanje "čekanja". To znači da gumb uključuje svjetlo na jednu sekundu, a gumb možete ponovno pritisnuti odmah nakon što se isključi.
Vrijedi napomenuti da ovaj sustav umjesto nas automatski uklanja tipku jer moramo pričekati da se LED ugasi prije nego se vratimo u stanje 0 gdje gumb može ponovno pokrenuti ciklus.
Korak 7: Serijska komunikacija
Ovo ažuriranje je vrlo malo. Sve što sam htio učiniti je uspostaviti serijsku vezu i slati poruke. Na prvoj slici možete vidjeti da započinjem serijski u funkciji setup (). Unutar našeg državnog stroja dodao sam retke u stanje 1 i 3 koji će slati jednostavne poruke na računalo serijskim putem.
Korak 8: Čitanje koordinata
Dobro je što je zadnji korak bio lak, jer je ovaj bio užasan.
Za početak, dodao sam varijable za našu dodirnu ploču, uključujući neke namjenske varijable vremena i za dodirnu ploču i za naš gumb. Uskoro ćete vidjeti zašto.
Potpuno sam prepisao državni stroj. Malo je zbunjujuće pogledati kod, pa sam uključio blok dijagram koji bi trebao ilustrirati učinjeno.
Napomene: Sada postoje tri koraka "čekanja". Jedan za svaku konfiguraciju dodirne ploče, kako bi se naponi smirili prije mjerenja, a jedan za davanje vremena gumbu da se pravilno oslobodi. Ovi koraci čekanja su razlog zašto sam i gumbu i dodirnoj ploči želio dati vlastite vremenske varijable.
Napomena: DEBOUNCE_TIME konstanta može biti malo niska. Slobodno ga povećajte.
Korak 9: Čišćenje
Stigli smo do konačne verzije koda za ovaj projekt!
Za početak, dodao sam funkciju koja se zove loop_diff () za izračunavanje proteklog vremena. Unutarnji sat za DP32 je nepotpisan i, iako je to iznimno malo vjerojatno, postoji mogućnost da bi se sat mogao petljati tijekom izvođenja ovog koda*. U tom slučaju, jednostavno oduzimanje trenutnog vremena od vremena spremljenog u btn_time ili panel_time dat će nam nešto čudno, pa sam napisao loop_diff () da otkrijem kada se pojave petlje i ponašam se u skladu s tim.
Također sam napravio malo manje čišćenje. Uklonio sam sada neiskorištenu varijablu "state_time". Prešao sam s oznake LED_BUILTIN (koja je Arduino standard) na oznaku PIN_LED1 (koja je standardna za chipKit i DP32). Također sam uklonio sve poruke kroz Serial o pokretanju i okončanju procesa, što naše podatke kroz Serial čini mnogo čistijim.
*Računao sam prije mnogo godina i mislim da bi za funkciju millis () bilo potrebno otprilike tjedan dana konstantnog vremena izvođenja prije nego što bi se varijabla petljala.
Korak 10: Završne misli
I to je to!
Ako ste slijedili, sada biste trebali imati radnu ploču osjetljivu na dodir spojenu na vaš mikrokontroler! Ovo je bio mali projekt, ali dio je većeg projekta. Radim na nečemu poput 271828's Plate and Ball, i imam dug put do toga da se to dogodi. Pokušat ću vas povesti tijekom cijelog procesa, a svaki dio trebao bi biti vlastiti mali projekt.
Ovo je za mene proces učenja, stoga slobodno ostavite svoje misli i prijedloge u komentarima ispod.
Hvala, vidimo se sljedeći put!
Preporučeni:
Kako koristiti osjetnik na dodir TTP-223B: 4 koraka
Kako koristiti osjetnik na dodir TTP-223B: TTP223-BA6 je IC koji može detektirati dodire. Ovaj IC napravljen je kako bi zamijenio tradicionalni izravni gumb. Dodavanjem komponenti, ovaj se IC može razviti u različite svrhe, kao što su: DC prekidač AC prekidač Tact Switch itd., Navest ću primjer proj
Jednostavan, jeftin i pouzdan osjetnik na dodir sa samo 3 dijela: 3 koraka
Lak, jeftin i pouzdan osjetnik na dodir sa samo 3 dijela: Upravljanje svim vrstama elektroničkih uređaja dodirom prsta može biti vrlo korisno. U ovom uputstvu pokazat ću vam kako izgraditi jednostavan, ali moćan osjetnik na dodir koji radi besprijekorno. Sve što trebate je standardni tranzistor i dva
Napravite jednostavan osjetnik na dodir pomoću tranzistora BC547: 4 koraka
Napravite jednostavan osjetnik na dodir pomoću tranzistora BC547: Zdravo prijatelju, Danas ću napraviti jednostavan osjetnik na dodir pomoću tranzistora BC547. Ovaj krug je vrlo jednostavan i vrlo je zainteresiran. Počnimo
Jednostavan osjetnik na dodir pomoću tranzistora D882: 7 koraka
Jednostavni osjetnik na dodir pomoću tranzistora D882: Hii prijatelju Danas ću napraviti jednostavni osjetnik na dodir pomoću tranzistora D882 kod kuće. Ovaj osjetnik na dodir radi kada dodirnemo žicu. Ako želimo da LED treba svijetliti visoko, moramo dodirnuti dva žicama. Pomoću ovog kruga možemo napraviti
Digitalni osjetnik na dodir pomoću LM358: 3 koraka
Digitalni osjetnik na dodir pomoću LM358: Senzori su najbolja stvar za rad s DIY elektronikom, a ovo je druga instrukcija iz niza instrukcija koja stvara različite senzore kompatibilne s različitim mikrokontrolerima. U prethodnim uputama pokazao sam vam kako