Turinys:

5 laidų atsparus jutiklinis jutiklis: 10 žingsnių
5 laidų atsparus jutiklinis jutiklis: 10 žingsnių

Video: 5 laidų atsparus jutiklinis jutiklis: 10 žingsnių

Video: 5 laidų atsparus jutiklinis jutiklis: 10 žingsnių
Video: Inmotion V13 apžvalga skirta tik tiesei linijai 2024, Liepa
Anonim
5 laidų atsparus jutiklinis jutiklis
5 laidų atsparus jutiklinis jutiklis

Sveiki sveiki!

Jau seniai dirbau šioje svetainėje ir atrodo, kad daug kas pasikeitė! Pagaliau esu pasirengęs vėl sėsti prie vairo kitam projektui ir manau, kad pats laikas šiek tiek pakeisti situaciją!

Jau kurį laiką turėjau omenyje projektą, pagrįstą 271828 „Plate and Ball“, tačiau dar turiu daug sužinoti apie jutiklius ir valdymo teoriją. Pagalvojau, kad kol išmoksiu vieno ar dviejų dalykų, galiu jus pasiimti su savimi!

Tuo tikslu mano tikslas šiuose vadovėliuose bus tam tikras hibridas tarp mano labiau šlifuotų vadovėlių ir paties projekto įrašas. Kiekviena atskira pamoka bus vienas žingsnis toje kelionėje, joje bus išsami informacija, apie kurią anksčiau kalbėjau, pvz., Kodo kūrimas (vietoj ką tik užbaigto kodo) ir klaidos, kurių imuosi kelyje.

Labai džiaugiuosi šiuo nauju projektu ir nekantrauju pamatyti, kaip jis gerai veikia!

Šiandien mes tik gausime paprastą 5 laidų jutiklinį skydelį, dirbantį su DP-32.

Pradėkime!

1 žingsnis: ko jums reikės

Ko jums reikės
Ko jums reikės

Kadangi ši pamoka skirta vieno jutiklio veikimui, jums nereikės daug, išskyrus mikrovaldiklį ir jutiklinį skydelį.

  • Mikrovaldiklis.

    Aš naudoju savo DP32 su integruota duonos lenta, nes tai daro prototipų kūrimą neįtikėtinai paprastą

  • Laidų ir kabelių asortimentas.

    Galėjau naudoti jutikliniame skydelyje įmontuotą juostinį kabelį, bet jei jis suplyšta, visas skydelis yra nenaudingas. Vietoj to aš naudoju 6 laidų kabelį, kad sumažintų įmontuoto kabelio įtampą

  • Titulinis 5 laidų atsparus jutiklinis skydelis!

    Turėjau 4 laidų varžinį jutiklinį skydelį, tačiau juostelės kabelis nutrūko

Štai ir viskas!

2 veiksmas: kas yra 5 laidų atsparus jutiklinis skydelis?

Kas yra 5 laidų atsparus jutiklinis skydelis?
Kas yra 5 laidų atsparus jutiklinis skydelis?
Kas yra 5 laidų atsparus jutiklinis skydelis?
Kas yra 5 laidų atsparus jutiklinis skydelis?
Kas yra 5 laidų atsparus jutiklinis skydelis?
Kas yra 5 laidų atsparus jutiklinis skydelis?

Jei perskaitėte mano 4 laidų jutiklinio skydelio pamoką, jums bus žinoma bendra rezistyvaus jutiklinio jutiklio idėja, tačiau 5 laidų ir 4 laidų plokštės veikia šiek tiek kitaip.

Man patinka šis skydelis, nes galite pamatyti visus vielos pėdsakus, todėl lengva pamatyti, kas ką daro. Pirmoje nuotraukoje kiekvieną pėdsaką nuspalvinau skirtingai. Tikriausiai matote, kad keturi laidai (rožinė, geltona, oranžinė ir violetinė) eina į vieną iš keturių kampų. Vidurinis laidas (raudonas) eina į lankstų jutiklio skydelį.

Antrame paveikslėlyje mes nustatėme du iš keturių laidų (viršuje dešinėje ir apačioje dešinėje) į aukštą įtampą (parodyta raudonai), o kiti du (viršuje kairėje ir apačioje kairėje) yra nustatyti žemai įtampa (rodoma mėlyna spalva). Tai sukuria įtampos gradientą visame skydelyje. Šiuo atveju gradientas eina išilgai X ašies, taigi didesnė įtampa reiškia aukštesnę padėtį išilgai X ašies.

Kai pirštu paliečiame skydelį, tai nuspaudžia lankstų jutiklį ir jungiasi prie kažkur išilgai X ašies gradiento. Mūsų mikrovaldiklio įtampos jutikliai gali jausti šią įtampą ir pasakyti, kur X ašyje liečiasi pirštas!

Trečiame paveikslėlyje galite pamatyti, kaip keičiasi konfigūracija, kad galėtume jausti išilgai Y ašies. Tokiu būdu mes galime pasakyti, kur 2-D erdvėje mūsų pirštas liečiasi!

3 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai

Kaip tikriausiai matote aukščiau esančiose nuotraukose, aš prijungiau savo keturis kampus prie savo skaitmeninio išvesties kaiščio. Tai leis man atskirai nustatyti aukštą ar žemą. Mano jutiklio kaištis prijungiamas prie analoginio įvesties kaiščio. Puikus 5 laidų jutiklinio ekrano, o ne 4 laidų, dalykas yra tas, kad jums reikia tik vieno analoginio kaiščio, o 4 laidų-2.

Žinoma, jūsų laidai gali skirtis, bet mano laidai yra tokie:

Analogas 0 (6 kontaktas) jungiamas prie jutiklio (vidurinis kaištis)

„Digital 3“jungiasi prie viršaus dešinėje (viršuje esantis kaištis)

„Digital 2“jungiasi prie viršaus kairėje (antras pagal dydį kaištis)

„Digital 1“jungiasi prie apačios kairėje (antras apatinis kaištis)

„Digital 0“jungiasi prie apačios dešinės (apatinis kaištis)

Dar kartą verta paminėti, kad aš naudoju 6 laidų kabelį, norėdamas pereiti tarp mikrovaldiklio ir skydelio. Aš palikau neprijungtą viršutinį šio kabelio kaištį.

4 žingsnis: programinės įrangos kūrimas

Programinės įrangos kūrimas
Programinės įrangos kūrimas

Anksčiau paprastai darydavau užbaigtą programinės įrangos failą, kurį galėsi naudoti, galbūt trumpai apžvelgdamas, ką daro. Man tai nepatinka. Noriu, kad ši serija būtų apie kuriamus projektus, ir tuo tikslu aš nuo pat pabaigos įtraukiu faktinį šios programinės įrangos kūrimą.

Kaip įprasta, naudosiu „Arduino IDE“su „Digilent“šerdimi. Kiekviename skyriuje bus kodo failas, ekrano kopija, taip pat aprašymai apie papildymus ir tai, ko mes bandome pasiekti.

Šiuo metu pradedu nuo paprastos uždelsimo stiliaus mirksėjimo programos, visiškai tokios pat, kaip ir aplanke „Pavyzdžiai“. Jei perskaitysite tą ilgą mano parašytą antraštę, pamatysite, kad kiekvienas šio proceso žingsnis pakeis programą, kad ji priartėtų prie mūsų galutinio tikslo.

5 veiksmas: mirksi būsenos mašina

Mirksi būsenos mašina
Mirksi būsenos mašina

Pirmasis mano žingsnis yra pakeisti mirksėjimo funkciją iš vienos, pagrįstos „delay ()“, į būsenos mašiną.

Tiems, kurie nėra įpratę keisti teiginių, jis veikia panašiai kaip teiginys. Šis (oranžinėje dėžutėje) išbando mūsų „būsenos“kintamąjį (kuris prasideda nuo 0). Tada pereinama prie dabartinės mūsų būsenos. Pamatysite, kad 0 ir 2 atvejai yra atsakingi už šviesos diodo įjungimą ir išjungimą (atitinkamai), o 1 ir 3 atvejai - už laukimą tarp jungiklių.

6 veiksmas: mygtukas mirksi

Mygtukas mirksi
Mygtukas mirksi
Mygtukas mirksi
Mygtukas mirksi
Mygtukas mirksi
Mygtukas mirksi

Tada norėjau, kad mygtukas būtų naudojamas šviesai mirksėti. Vietoj to, kad pernelyg apsunkinčiau tai, aš tiesiog perkeliau visas būsenas po vieną (0 būsena tampa 1 būsena ir tt). Tai darydami būkite atsargūs, padidindami išėjimo būsenas ir pačią būseną (žr. 3 pav.).

Taip pat ištryniau antrąją būseną „laukti“. Tai reiškia, kad mygtukas įjungia šviesą vienai sekundei, ir jūs galite dar kartą paspausti mygtuką iškart po to, kai jis išsijungia.

Verta paminėti, kad ši sistema automatiškai išjungia mygtuką, nes turime palaukti, kol šviesos diodas išsijungs, prieš grįždamas į 0 būseną, kai mygtukas gali vėl suaktyvinti ciklą.

7 žingsnis: nuoseklus bendravimas

Serijinis bendravimas
Serijinis bendravimas
Serijinis bendravimas
Serijinis bendravimas

Šis atnaujinimas yra labai mažas. Viskas, ką norėjau padaryti, buvo užmegzti serijinį ryšį ir siųsti pranešimus. Pirmame paveikslėlyje matote, kad sąranką pradedu sąrankoje (). Mūsų būsenos mašinoje prie 1 ir 3 būsenų pridėjau eilutes, kurios siunčia paprastus pranešimus į kompiuterį serijiniu būdu.

8 veiksmas: skaitykite koordinates

Skaitymo koordinatės
Skaitymo koordinatės
Skaitymo koordinatės
Skaitymo koordinatės
Skaitymo koordinatės
Skaitymo koordinatės
Skaitymo koordinatės
Skaitymo koordinatės

Gerai, kad paskutinis žingsnis buvo lengvas, nes šis buvo apsnūdęs.

Norėdami pradėti, pridėjau mūsų jutiklinio skydelio kintamųjų, įskaitant tam skirtus laiko kintamuosius ir jutikliniam skydeliui, ir mūsų mygtukui. Po kurio laiko pamatysite kodėl.

Aš visiškai perrašiau būsenos mašiną. Žiūrint į kodą šiek tiek painu, todėl įtraukiau blokinę schemą, kuri turėtų iliustruoti tai, kas buvo padaryta.

Į ką reikia atkreipti dėmesį: dabar yra trys „laukimo“žingsniai. Po vieną kiekvienai jutiklinio skydelio konfigūracijai, kad įtampa nusistovėtų prieš atliekant matavimą, o kita - laiko mygtukui tinkamai nusileisti. Dėl šių laukimo žingsnių norėjau suteikti mygtukui ir jutikliniam skydeliui savo laiko kintamuosius.

Pastaba: DEBOUNCE_TIME konstanta gali būti šiek tiek maža. Nesivaržykite jį padidinti.

9 žingsnis: valymas

Valymas
Valymas
Valymas
Valymas
Valymas
Valymas

Mes pasiekėme galutinę šio projekto kodo versiją!

Norėdami pradėti, pridėjau funkciją, pavadintą loop_diff (), kad apskaičiuotumėte prabėgusį laiką. Vidinis DP32 laikrodis yra be parašo ir, nors tai labai mažai tikėtina, yra tikimybė, kad laikrodis gali kilti kada nors per šį kodą*. Tokiu atveju tiesiog atėmus dabartinį laiką iš laiko, įrašyto į „btn_time“arba „panel_time“, gausime kažką keisto, todėl parašiau loop_diff (), norėdamas nustatyti, kada atsiranda kilpos, ir atitinkamai elgtis.

Aš taip pat padariau nedidelį valymą. Pašalinau dabar nenaudojamą „state_time“kintamąjį. Aš perjungiau žymą LED_BUILTIN (tai yra „Arduino“standartas) į PIN_LED1 žymą (kuri yra standartinė „chipKit“ir DP32). Taip pat pašalinau visus pranešimus per „Serial“apie proceso pradžią ir pabaigą, todėl mūsų duomenys per „Serial“tampa daug švaresni.

*Prieš daugelį metų skaičiavau ir manau, kad „millis“() funkcijai prireiktų maždaug savaitės pastovaus veikimo laiko, kol kintamasis pradės kilpti.

10 žingsnis: paskutinės mintys

Galutinės mintys
Galutinės mintys

Štai ir viskas!

Jei sekėte, dabar prie savo mikrovaldiklio turėtumėte prijungti veikiantį jutiklinį skydelį! Tai buvo nedidelis projektas, tačiau tai yra didesnio projekto dalis. Aš stengiuosi sukurti kažką panašaus į 271828 „Plate and Ball“ir turiu daug nuveikti. Pabandysiu jus įtraukti į visą procesą, ir kiekviena dalis turėtų būti mažas projektas.

Man tai yra mokymosi procesas, todėl nedvejodami palikite savo mintis ir pasiūlymus toliau pateiktose pastabose.

Ačiū, ir susitiksime kitą kartą!

Rekomenduojamas: