Satura rādītājs:
- 1. darbība. Kas jums būs nepieciešams
- 2. darbība. Kas ir 5 vadu pretestības skārienpanelis?
- 3. darbība: elektroinstalācija
- 4. solis: programmatūras izstrāde
- 5. darbība: mirgo stāvokļa mašīna
- 6. darbība: poga mirgo
- 7. darbība: sērijas komunikācija
- 8. solis: koordinātu nolasīšana
- 9. solis: tīrīšana
- 10. solis: pēdējās domas
Video: 5 vadu pretestības skārienjūtīgs sensors: 10 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Sveiki sveiki!
Ir pagājis kāds laiciņš, kopš strādāju šajā vietnē, un šķiet, ka daudz kas ir mainījies! Beidzot esmu gatavs atgriezties pie stūres kādam citam projektam, un domāju, ka ir pienācis laiks pašiem kaut ko mainīt!
Jau kādu laiku esmu domājis par projektu, kura pamatā ir 271828's Plate and Ball, taču pirms tā pabeigšanas man ir daudz ko uzzināt par sensoriem un vadības teoriju. Es domāju, ka tik ilgi, kamēr es iemācīšos vienu vai divas lietas, es varētu jūs, puiši, ņemt līdzi!
Šajā nolūkā mans mērķis šīm apmācībām būs sava veida hibrīds starp manām izsmalcinātākajām apmācībām un ieraksts par pašu projektu. Katra individuālā apmācība būs viens solis šajā ceļojumā, un tajā tiks iekļauta informācija, par kuru esmu iepriekš runājis, piemēram, koda izstrāde (nevis tikko pabeigta koda vietā) un kļūdas, kuras es veicu.
Esmu ļoti satraukts par šo jauno projektu, un esmu priecīgs redzēt, cik labi tas darbojas!
Šodien mēs vienkārši iegūsim vienkāršu 5 vadu skārienpaneli, kas darbosies ar DP-32.
Sāksim!
1. darbība. Kas jums būs nepieciešams
Tā kā šī apmācība ir paredzēta viena sensora darbībai, nav daudz kas vajadzīgs, izņemot mikrokontrolleru un skārienpaneli.
-
Mikrokontrolleris.
Es izmantoju savu DP32 ar iebūvētu maizes dēli, jo tas padara prototipu veidošanu neticami vienkāršu
-
Dažādi vadi un kabeļi.
Es varēju izmantot skārienpaneļa iebūvēto lentes kabeli, bet, ja tas plīst, viss panelis ir bezjēdzīgs. Tā vietā es izmantoju 6 vadu kabeli, lai samazinātu iebūvētā kabeļa stresu
-
Nosauktais 5 vadu pretestības skārienpanelis!
Man bija 4 vadu pretestības skārienpanelis, bet tam lentes kabelis salūza
Un tas arī viss!
2. darbība. Kas ir 5 vadu pretestības skārienpanelis?
Ja esat izlasījis manu 4 vadu skārienekrāna pamācību, jūs iepazīsieties ar vispārējo ideju par pretestības skārienjutīgo sensoru, taču 5 vadu paneļi un 4 vadu paneļi darbojas nedaudz savādāk.
Man patīk šis panelis, jo jūs varat redzēt visas vadu pēdas, kas ļauj viegli redzēt, kas ko dara. Pirmajā attēlā katru trasi esmu krāsojis atšķirīgi. Jūs droši vien redzat, ka četri vadi (rozā, dzeltena, oranža un violeta) katrs iet uz vienu no četriem stūriem. Vidējais vads (sarkans) iet uz elastīgo sensora paneli.
Otrajā attēlā mēs esam iestatījuši divus no četriem vadiem (augšējā labajā un apakšējā labajā pusē) uz augstu spriegumu (parādīts sarkanā krāsā), bet pārējie divi (augšējais kreisais un apakšējais kreisais) ir iestatīti uz zemu spriegums (parādīts zilā krāsā). Tas rada sprieguma gradientu visā panelī. Šajā gadījumā gradients iet gar X asi, tāpēc lielāks spriegums attēlo augstāku pozīciju gar X asi.
Kad pieskaramies pirkstam panelim, tas nospiež elastīgo sensoru, izveidojot savienojumu ar kaut kur gar X ass gradientu. Sprieguma sensori uz mūsu mikrokontrollera var uztvert šo spriegumu un pateikt, kur uz X ass pirksts pieskaras!
Trešajā attēlā jūs varat redzēt, kā mainās konfigurācija, lai mēs varētu sajust gar Y asi. Tādā veidā mēs varam noteikt, kur 2-D telpā mūsu pirksts pieskaras!
3. darbība: elektroinstalācija
Kā jūs, iespējams, redzat iepriekš redzamajos attēlos, savus četrus stūrus esmu savienojis ar savu digitālo izvades tapu. Tas ļaus man tos individuāli iestatīt uz augstu vai zemu. Mana sensora tapa tiek savienota ar analogo ievades tapu. Jaukā lieta par 5 vadu skārienekrānu, atšķirībā no četru vadu, ir tāda, ka jums ir nepieciešams tikai viens analogais tapa, bet 4 vadiem-2.
Jūsu elektroinstalācija, protams, var atšķirties, bet mana elektroinstalācija ir šāda:
Analog 0 (pin 6) savieno ar sensoru (vidējā tapa)
Digital 3 savieno ar augšējo labo pusi (augšējā tapa)
Digital 2 savienojas ar augšējo kreiso pusi (otrā augšējā tapa)
Digital 1 savienojas ar apakšējo kreiso pusi (otrā apakšējā tapa)
Digitālais 0 savienojas ar apakšējo labo pusi (visapakšējā tapa)
Ir vērts vēlreiz atzīmēt, ka es izmantoju 6 vadu kabeli, lai pārietu starp mikrokontrolleri un paneli. Esmu atstājis nesavienotu šī kabeļa augšējo tapu.
4. solis: programmatūras izstrāde
Agrāk es parasti nometu pabeigtu programmatūras failu, lai jūs to varētu izmantot, iespējams, ar īsu pārskatu par visu, ko dara. Man tas nepatīk. Es vēlos, lai šī sērija būtu par projektiem, kas tiek izstrādāti, un šajā nolūkā es iekļaušu šīs programmatūras faktisko izstrādi no sākuma līdz beigām.
Kā parasti, es izmantošu Arduino IDE ar Digilent kodolu. Katrā sadaļā būs koda fails, ekrānuzņēmums, kā arī papildinājumu apraksts un tas, ko mēs cenšamies sasniegt.
Šobrīd es sāku ar vienkāršu aizkaves stila mirgošanas programmu, kas ir tieši tāda pati kā mapē Piemēri. Ja lasīsit šo garo galveni, ko es uzrakstīju, redzēsit, ka katrs šī procesa solis modificēs programmu, lai tā tuvotos mūsu gala mērķim.
5. darbība: mirgo stāvokļa mašīna
Mans pirmais solis ir nomainīt mirgošanas funkciju no vienas, pamatojoties uz "delay ()" uz stāvokļa mašīnu.
Tiem, kas nav pieraduši pārslēgt paziņojumus, tas darbojas līdzīgi kā paziņojums if. Šis (oranžā lodziņā) pārbauda mūsu "stāvokļa" mainīgo (kas sākas ar 0). Tad tas pāriet uz mūsu pašreizējā stāvokļa lietu. Jūs redzēsit, ka 0. un 2. gadījums ir atbildīgi par gaismas diodes ieslēgšanu un izslēgšanu (attiecīgi), savukārt 1. un 3. gadījums ir atbildīgs par gaidīšanu starp slēdžiem.
6. darbība: poga mirgo
Tālāk es gribēju, lai poga tiktu izmantota gaismas mirgošanai. Tā vietā, lai to pārāk sarežģītu, es vienkārši pārbīdīju visus stāvokļus uz leju (stāvoklis 0 kļūst par stāvokli 1 utt.). To darot, uzmanieties, lai palielinātu izejas stāvokļus, kā arī pašu stāvokli (skat. 3. attēlu).
Es izdzēsu arī otro "gaidīšanas" stāvokli. Tas nozīmē, ka poga ieslēdz gaismu uz vienu sekundi, un jūs varat vēlreiz nospiest pogu tūlīt pēc tā izslēgšanas.
Ir vērts atzīmēt, ka šī sistēma automātiski atvieno pogu mūsu vietā, jo mums ir jāgaida, līdz gaismas diode izslēgsies, pirms atgriezīsimies 0 stāvoklī, kur poga var atkal aktivizēt ciklu.
7. darbība: sērijas komunikācija
Šis atjauninājums ir ļoti mazs. Viss, ko es gribēju darīt, bija izveidot seriālo savienojumu un sūtīt ziņas. Pirmajā attēlā var redzēt, ka iestatīšanas () funkcijā es sāku Serial. Mūsu valsts mašīnā es pievienoju rindas 1. un 3. stāvoklim, kas nosūtīs vienkāršus ziņojumus uz datoru, izmantojot sērijas.
8. solis: koordinātu nolasīšana
Labi, ka pēdējais solis bija viegls, jo šis bija mulsinošs.
Lai sāktu, esmu pievienojis mūsu skārienpanelim mainīgos, tostarp dažus laika mainīgos gan skārienpanelim, gan mūsu pogai. Pēc kāda laika jūs redzēsit, kāpēc.
Esmu pilnībā pārrakstījis valsts iekārtu. Ir nedaudz mulsinoši aplūkot kodu, tāpēc esmu iekļāvis blokshēmu, kurai vajadzētu ilustrēt paveikto.
Jāņem vērā: tagad ir trīs "gaidīšanas" soļi. Viens katrai skārienpaneļa konfigurācijai, lai ļautu spriegumam nosēsties pirms mērījuma veikšanas, un viens, lai dotu pogai laiku pienācīgai atvienošanai. Šie gaidīšanas soļi ir iemesls, kāpēc es gribēju gan pogai, gan skārienpanelim piešķirt savus laika mainīgos.
Piezīme. DEBOUNCE_TIME konstante var būt nedaudz zema. Jūtieties brīvi to palielināt.
9. solis: tīrīšana
Esam nonākuši pie šī projekta koda galīgās versijas!
Lai sāktu, esmu pievienojis funkciju ar nosaukumu loop_diff (), lai aprēķinātu pagājušo laiku. DP32 iekšējais pulkstenis ir neparakstīts garš, un, lai gan tas ir ārkārtīgi maz ticams, pastāv iespēja, ka pulkstenis dažkārt šī koda izpildes laikā*var parādīties. Tādā gadījumā vienkārši atņemot pašreizējo laiku no laika, kas saglabāts btn_time vai panel_time, mēs iegūsim kaut ko dīvainu, tāpēc es uzrakstīju loop_diff (), lai noteiktu, kad rodas cilpas, un attiecīgi rīkojamies.
Esmu veicis arī nelielu nelielu tīrīšanu. Esmu noņēmis tagad neizmantoto mainīgo "state_time". Esmu pārslēdzies no LED_BUILTIN taga (kas ir Arduino standarts) uz tagu PIN_LED1 (kas ir standarta komplekts chipKit un DP32). Esmu arī noņēmis visus ziņojumus, izmantojot Serial par procesa sākšanu un pabeigšanu, kas padara mūsu datus, izmantojot Serial, daudz tīrāku.
*Es matemātiku veicu pirms daudziem gadiem, un es domāju, ka funkcijai millis () būtu nepieciešams apmēram nedēļa pastāvīga izpildlaika, pirms mainīgais mainīsies.
10. solis: pēdējās domas
Un tas arī viss!
Ja esat sekojis līdzi, tagad jūsu mikrokontrolleram jābūt savienotam ar funkcionējošu skārienpaneli! Šis bija neliels projekts, bet tā ir daļa no lielāka projekta. Es strādāju pie kaut kā 271828 “Plate and Ball”, un man vēl tāls ceļš ejams, pirms tas notiks. Es centīšos jūs ņemt līdzi visam procesam, un katrai daļai vajadzētu būt savam mazam projektam.
Šis man ir mācību process, tāpēc atstājiet savas domas un ieteikumus komentāros zemāk.
Paldies, un tiekamies nākamreiz!
Ieteicams:
Arduino 1 vadu vispārēja klienta/vergu ierīce (sensors): 4 soļi
Arduino 1 vadu vispārēja klienta/palīgierīce (sensors): lūdzu, izlasiet manu pamācību ievadā un 2. solī par to, kā izveidot Arduino 1 vadu displeju (144 rakstzīmes), lai iegūtu vairāk informācijas par situāciju un pieejamajām bibliotēkām. Kā tur paskaidrots, mēs izmantosim OneWire-Hub bibliotēku
Skārienjutīgs ARDUINO AUGS: 6 soļi
Skārienjutīgs ARDUINO AUGS: šajā apmācībā es parādīšu, kā izveidot pieskārienu jutīgu augu, izmantojot Arduinothat, kad pieskaroties augam mainās krāsa. vispirms noskatieties šo video
DIY perimetra vadu ģenerators un sensors: 8 soļi
DIY perimetra vadu ģenerators un sensors: vadu vadīšanas tehnoloģija tiek plaši izmantota rūpniecībā, jo īpaši noliktavās, kur apstrāde ir automatizēta. Roboti seko zemē ieraktai stiepļu cilpai. Maiņstrāva ar salīdzinoši zemu intensitāti un frekvenci no 5Kz līdz 40
4 soļi akumulatora iekšējās pretestības mērīšanai: 4 soļi
4 soļi, lai izmērītu akumulatora iekšējo pretestību: Šeit ir 4 vienkāršas darbības, kas var palīdzēt izmērīt mīklas iekšējo pretestību
Vienkāršs skārienjūtīgs sensors, izmantojot tranzistoru D882: 7 soļi
Vienkāršs skārienjutīgs sensors, izmantojot D882 tranzistoru: Hii draugs Šodien es gatavošos izveidot vienkāršu skārienjūtīgu sensoru, izmantojot mājās D882 tranzistoru. Šis skārienjutīgais sensors darbojas, kad pieskaramies vadam. Ja mēs vēlamies, lai gaismas diode spīd augstu, mums ir jāpieskaras diviem vadi. Izmantojot šo shēmu, mēs varam izveidot