Përmbajtje:

Sensori me prekje rezistente me 5 tela: 10 hapa
Sensori me prekje rezistente me 5 tela: 10 hapa

Video: Sensori me prekje rezistente me 5 tela: 10 hapa

Video: Sensori me prekje rezistente me 5 tela: 10 hapa
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Korrik
Anonim
Sensori me prekje rezistente me 5 tela
Sensori me prekje rezistente me 5 tela

Pershendetje Pershendetje!

Ka kaluar një kohë që kur kam punuar në këtë faqe dhe duket se ka ndryshuar shumë! Më në fund jam gati të kthehem pas timonit për një projekt tjetër, dhe mendoj se është koha për të ndryshuar pak gjërat vetë!

Kam pasur parasysh për ca kohë një projekt të bazuar në Plate and Ball të 271828, por kam shumë për të mësuar rreth sensorëve dhe teorisë së kontrollit para se të përfundojë. Mendova se për sa kohë që po mësoj një ose dy gjëra, mund t'ju marr me vete!

Për këtë qëllim, qëllimi im për këto mësime do të jetë një lloj hibridi midis mësimeve të mia më të lëmuara dhe një rekord për vetë projektin. Çdo mësim individual do të jetë një hap në atë udhëtim dhe do të përfshijë detaje që i kam treguar në të kaluarën, të tilla si zhvillimi i kodit (në vend të kodit të sapopërfunduar) dhe hapat e gabuar që marr gjatë rrugës.

Jam shumë i emocionuar për këtë projekt të ri dhe jam i emocionuar për të parë se sa mirë funksionon!

Sot ne thjesht do të marrim një panel të thjeshtë me prekje 5-Wire që punon me një DP-32.

Le të fillojmë!

Hapi 1: Çfarë ju nevojitet

Ajo që do t'ju duhet
Ajo që do t'ju duhet

Për shkak se ky mësim ka të bëjë me funksionimin e një sensori të vetëm, nuk do t'ju duhet shumë përtej një mikrokontrolluesi dhe panelit me prekje.

  • Një mikrokontrollues.

    Unë jam duke përdorur DP32 tim me një dërrasë buke të integruar sepse e bën prototipizimin tepër të thjeshtë

  • Tela dhe kabllo të ndryshëm.

    Unë mund të kisha përdorur kabllon e integruar të shiritit të panelit me prekje, por nëse prishet, atëherë i gjithë paneli është i padobishëm. Në vend të kësaj, unë jam duke përdorur një kabllo me 6 tela për të zvogëluar stresin në kabllon e integruar

  • Paneli prekës me rezistencë rezistente me 5 tela!

    Unë kisha një panel me prekje rezistente me 4 tela, por kablloja e shiritit për të u prish

Dhe kjo eshte!

Hapi 2: Çfarë është një panel me prekje rezistente me 5 tela?

Çfarë është një panel me prekje rezistente me 5 tela?
Çfarë është një panel me prekje rezistente me 5 tela?
Çfarë është një panel me prekje rezistente me 5 tela?
Çfarë është një panel me prekje rezistente me 5 tela?
Çfarë është një panel me prekje rezistente me 5 tela?
Çfarë është një panel me prekje rezistente me 5 tela?

Nëse e keni lexuar tutorialin tim të panelit me prekje me 4 tela, do të njiheni me idenë e përgjithshme të një sensori me prekje rezistente, por panelet me 5 tela dhe panelet me 4 tela funksionojnë pak më ndryshe.

Më pëlqen ky panel sepse mund të shihni të gjitha gjurmët e telit, duke e bërë të lehtë të shihni se çfarë bën çfarë. Në foton e parë, unë kam ngjyrosur secilën gjurmë ndryshe. Ju ndoshta mund të shihni se katër tela (rozë, të verdhë, portokalli dhe vjollce) secila shkojnë në njërën nga katër qoshet. Teli i mesëm (i kuq) shkon në panelin fleksibël të sensorit.

Në foton e dytë, Ne kemi vendosur dy nga katër telat (sipër-djathtas dhe poshtë-djathtas) në një tension të lartë (treguar me të kuqe), ndërsa dy të tjerat (lart-majtas dhe poshtë-majtas) janë vendosur në të ulët tension (treguar në ngjyrë blu). Kjo krijon një gradient të tensioneve në të gjithë panelin. Në këtë rast, gradienti shkon përgjatë boshtit X, kështu që një tension më i lartë përfaqëson një pozicion më të lartë përgjatë boshtit X.

Kur prekim gishtin në panel, ai shtyp sensorin fleksibël, duke u lidhur diku përgjatë gradientit të boshtit X. Sensorët e tensionit në mikrokontrolluesin tonë mund ta ndiejnë këtë tension dhe t'ju tregojnë se ku në boshtin X prek gishti juaj!

Në figurën e tretë, ju mund të shihni sesi ndryshon konfigurimi për të na lejuar të kuptojmë përgjatë boshtit Y. Në këtë mënyrë, ne mund të themi se ku në hapësirën 2-D prek gishti ynë!

Hapi 3: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Siç mund ta shihni në fotot e mësipërme, unë i kam lidhur katër qoshet e mia secila me pinin e tyre dixhital të daljes. Kjo do të më lejojë t'i vendos ato individualisht në të larta ose të ulëta. Pina ime e sensorit lidhet me një kunjë hyrëse analoge. Gjëja e bukur për një ekran me prekje me 5 tela, në krahasim me atë me 4 tela, është se ju nevojitet vetëm një kunj analog, ndërsa një tela me 4 tela do të kërkonte 2.

Instalimet tuaja mund të ndryshojnë, natyrisht, por instalimet e mia janë si më poshtë:

Analog 0 (kunja 6) lidhet me Sensorin (kunja e mesme)

Digital 3 lidhet me pjesën e sipërme të djathtë (kunja më e lartë)

Digital 2 lidhet me Top-Left (kunja e dytë më e lartë)

Digital 1 lidhet me pjesën e poshtme-majtas (kunja e dytë më e ulët)

Digital 0 lidhet me pjesën e poshtme të djathtë (kunja më e ulët)

Vlen të theksohet përsëri se unë jam duke përdorur një kabllo me 6 tela për të shkuar midis mikrokontrolluesit dhe panelit. Unë e kam lënë pin -in e lartë të këtij kablli të palidhur.

Hapi 4: Zhvillimi i softuerit

Zhvillimi i Softuerit
Zhvillimi i Softuerit

Në të kaluarën, unë zakonisht do të lëshoja një skedar softuerësh të përfunduar për ta përdorur, ndoshta me një përshkrim të shkurtër të asaj që bën gjithçka. Nuk me pelqen kjo. Unë dua që kjo seri të ketë të bëjë me projektet në zhvillim, dhe për këtë qëllim do të përfshij zhvillimin aktual të këtij softueri nga fillimi në fund.

Si zakonisht, unë do të përdor Arduino IDE, me bërthamën Digilent. Çdo seksion do të përfshijë një skedar kodi, fotografi të ekranit, si dhe një përshkrim të shtesave dhe asaj që ne po përpiqemi të arrijmë.

Tani për tani, unë jam duke filluar me një program të thjeshtë të mbylljes së stilit të vonesës, saktësisht i njëjtë me atë që do të gjeni në dosjen Shembuj. Nëse e lexoni atë titullin e gjatë që kam shkruar, do të shihni se çdo hap në këtë proces do të modifikojë programin për ta sjellë atë më afër qëllimit tonë përfundimtar.

Hapi 5: Blink i makinës shtetërore

Blink i Makinës Shtetërore
Blink i Makinës Shtetërore

Lëvizja ime e parë është të ndryshoj funksionin e ndezjes nga një i bazuar në "vonesë ()" në një makinë shtetërore.

Për ata që nuk janë përdorur për të ndërruar deklaratat, funksionon në mënyrë të ngjashme me një deklaratë if. Ky (në kutinë portokalli) teston ndryshoren tonë "gjendje" (e cila fillon me 0). Pastaj kalon në rastin për gjendjen tonë aktuale. Do të shihni që rasti 0 dhe 2 janë përgjegjës për ndezjen dhe fikjen e LED (respektivisht), ndërsa rasti 1 dhe 3 janë përgjegjës për pritjen midis çelsave.

Hapi 6: Pulsimi i butonit

Butoni Blink
Butoni Blink
Butoni Blink
Butoni Blink
Butoni Blink
Butoni Blink

Tjetra, doja që butoni të përdorej për të ndezur dritën. Në vend që ta komplikoj këtë, thjesht i zhvendosa të gjitha gjendjet poshtë me një (gjendja 0 bëhet gjendje 1, etj.). Kur e bëni këtë, jini të kujdesshëm për të rritur gjendjet e daljes, si dhe vetë gjendjen (shiko figurën 3).

Gjithashtu fshiva gjendjen e dytë të "pritjes". Kjo do të thotë që butoni ndez dritën për një sekondë dhe mund ta shtypni përsëri menjëherë pasi të fiket.

Vlen të përmendet se ky sistem automatikisht e zhbllokon butonin për ne, sepse duhet të presim që LED të fiket para se të kthehemi në gjendjen 0 ku butoni mund të shkaktojë përsëri ciklin.

Hapi 7: Komunikimi Serial

Komunikimi Serial
Komunikimi Serial
Komunikimi Serial
Komunikimi Serial

Ky përditësim është shumë i vogël. E tëra që doja të bëja ishte të krijoja një lidhje serike dhe të dërgoja mesazhe. Në foton e parë, mund të shihni që filloj Serial në funksionin e konfigurimit (). Brenda makinës sonë shtetërore, shtova rreshta në gjendjet 1 dhe 3 që do të dërgojnë mesazhe të thjeshta në kompjuter përmes serisë.

Hapi 8: Koordinatat e leximit

Koordinatat e leximit
Koordinatat e leximit
Koordinatat e leximit
Koordinatat e leximit
Koordinatat e leximit
Koordinatat e leximit
Koordinatat e leximit
Koordinatat e leximit

Goodshtë mirë që hapi i fundit ishte i lehtë, sepse ky ishte një mendjelehtë.

Për të filluar, kam shtuar variabla për panelin tonë të prekjes, duke përfshirë disa ndryshore kohore të dedikuara si për panelin me prekje ashtu edhe për butonin tonë. Do ta shihni pse në pak.

Unë kam rishkruar plotësisht makinën shtetërore. Ashtë pak konfuze të shikosh kodin, kështu që kam përfshirë një bllok diagram që duhet të ilustrojë atë që është bërë.

Gjërat që duhen vënë re: Ka tre hapa "pritje" tani. Një për secilën konfigurim të panelit me prekje, për të lejuar që tensionet të qetësohen para se të bëni një matje, dhe një për t'i dhënë kohë butonit të zhbëhet siç duhet. Këta hapa të pritjes janë arsyeja pse doja t'i jepja butonit dhe panelit të prekjes ndryshoret e tyre kohore.

Shënim: Konstanta DEBOUNCE_TIME mund të jetë pak e ulët. Mos ngurroni ta rrisni atë.

Hapi 9: Pastrimi

Pastrimin
Pastrimin
Pastrimin
Pastrimin
Pastrimin
Pastrimin

Ne kemi arritur në versionin përfundimtar të kodit për këtë projekt!

Për të filluar, unë kam shtuar një funksion të quajtur loop_diff () për të llogaritur kohën e kaluar. Ora e brendshme për DP32 është e gjatë pa shenjë dhe, megjithëse është jashtëzakonisht e pamundur, ekziston mundësia që ora të mund të lakohet diku gjatë kohës së ekzekutimit të këtij kodi*. Në atë rast, thjesht zbritja e kohës aktuale nga koha e kursyer në btn_time ose panel_time do të na japë diçka të çuditshme, kështu që unë shkrova loop_diff () për të zbuluar kur ndodhin sythe, dhe silleni në përputhje me rrethanat.

Unë gjithashtu kam bërë një pastrim të vogël. Unë kam hequr ndryshoren e papërdorur "time_time" tani. Unë kam kaluar nga etiketa LED_BUILTIN (e cila është një standard Arduino) në etiketën PIN_LED1 (e cila është standarde për chipKit dhe DP32). Unë gjithashtu kam hequr të gjitha mesazhet përmes Serialit për fillimin dhe përfundimin e procesit, gjë që i bën të dhënat tona përmes Serialit shumë më të pastra.

*Unë e kam bërë matematikën vite më parë, dhe mendoj se për funksionin millis () do të duhej diçka si një javë kohë ekzekutimi konstante para se ndryshorja të qarkullojë.

Hapi 10: Mendimet përfundimtare

Mendimet përfundimtare
Mendimet përfundimtare

Dhe kjo eshte!

Nëse e keni ndjekur, tani duhet të keni një panel prekës të punës të lidhur me mikrokontrolluesin tuaj! Ky ishte një projekt i vogël, por është pjesë e një projekti më të madh. Unë jam duke punuar drejt diçkaje si Pjata dhe Topi i 271828 dhe kam një rrugë të gjatë për të bërë para se të ndodhë. Unë do të përpiqem t'ju marr me vete për të gjithë procesin, dhe secila pjesë duhet të jetë projekti i vet i vogël.

Ky është një proces mësimi për mua, kështu që mos ngurroni të lini mendimet dhe sugjerimet tuaja në komentet më poshtë.

Faleminderit, dhe do të shihemi herën tjetër!

Recommended: