Orodha ya maudhui:
- Hatua ya 1: Mchoro wa Mzunguko
- Hatua ya 2: Orodha ya Sehemu
- Hatua ya 3: Nadharia
- Hatua ya 4: Programu
Video: Decoder rahisi ya Rotary: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Hii inaelezea njia rahisi ya kusimbua encoder inayofuatana ya rotary ukitumia Arduino Uno R3.
Taratibu za programu thabiti hutumiwa kuhesabu idadi ya mabadiliko, kuondoa kukatika kwa mawasiliano, na kuamua mwelekeo wa mzunguko. Vipengele vya ziada na meza za kutafuta hazihitajiki.
Matoleo ya usumbufu na yasiyo ya kukatiza ya nambari hutolewa.
Toleo la usumbufu la nambari linahitaji tu pini moja ya kukatiza.
Picha:
- Picha ya kufungua inaonyesha encoder iliyokusanyika.
- Picha ya skrini inaonyesha nambari ya toleo la kukatiza na hesabu wakati shaft ya encoder inazungushwa sawa na saa na kukabiliana na saa.
- Video inaonyesha hesabu wakati wa mzunguko wa haraka.
Hatua ya 1: Mchoro wa Mzunguko
Mchoro wa wodi ya encoder umeonyeshwa kwenye mtini. 1.
Waya za kuruka zinauzwa moja kwa moja kwenye pini za encoder.
Badilishana waya mbili za bluu ikiwa mwelekeo wa hesabu umebadilishwa.
Hatua ya 2: Orodha ya Sehemu
Sehemu zifuatazo zilipatikana kutoka
- 1 tu Arduino UNO R3 na Kebo ya USB.
- Msimbo 1 tu wa mtiririko wa mzunguko (EC11 au sawa) na swichi.
- Knob 1 tu inayofaa shimoni.
- 3 tu waya za kuruka za kiume-kwa-kiume za Arduino.
Hatua ya 3: Nadharia
Usimbuaji wa mzunguko unaofanana hutengeneza mawimbi mawili ya mraba ambayo kila moja huhamishwa na digrii 90 kama inavyoonyeshwa kwenye Mtini. 1.
Mifumo ya mantiki katika Mawasiliano A na Mawasiliano B ni tofauti wakati shimoni inazungushwa kwa saa (CW) na kukabiliana na saa (CCW) kupitia nafasi ya 1 hadi 6.
Njia za kawaida za kuamua mwelekeo wa mzunguko ni pamoja na:
- vifaa
- mapacha hukatiza
- mfano wa kutafuta meza
Mradi huu unatumia njia ya programu ambayo haiitaji meza za kutafuta. [1]
Mwelekeo
Badala ya kuangalia mifumo ya pato kutoka kwa Mawasiliano A na Mawasiliano B wacha tuangalie Mawasiliano A.
Ikiwa tutatoa mfano wa Mawasiliano B baada ya kila Mawasiliano Mpito tunaona kuwa:
- Wasiliana na A na Mawasiliano B wana hali tofauti za mantiki wakati encoder inazungushwa CW
- Wasiliana na A na Mawasiliano B wana hali sawa ya mantiki wakati encoder inapozungushwa CCW
Msimbo halisi:
// ----- Hesabu mabadiliko
HaliStateA = haliContactA (); ikiwa (CurrentStateA! = LastStateA) {CurrentStateB = digitalRead (ContactB); ikiwa (CurrentStateA ==StateStateB) Hesabu ++; ikiwa (CurrentStateA! = CurrentStateB) Hesabu--; LastStateA = SasaStateA; }
Njia hii inatoa faida zifuatazo:
- meza za kutafuta hazihitajiki
- laini moja tu ya usumbufu inahitajika
Mjadala
Wasimbuaji wote wa mitambo wanakabiliwa na "mawasiliano ya baunt".
Ikiwa mawasiliano ya kubadili hayafanyi / kuvunja kwa busara hali yake ya mantiki itateleza kwa kasi kutoka JUU hadi LOW hadi mawasiliano ya swichi yatakapokaa. Hii inasababisha hesabu za uwongo.
Njia moja ya kukandamiza mwanya wa mawasiliano ni kuongeza kiboreshaji kidogo kwenye kila mawasiliano ya swichi. Kikaidi na kipinzani kinachohusiana cha kuvuta hutengeneza kiunganishi ambacho hupunguza masafa mafupi sana na inaruhusu voltage ya kuinuka kuinuka / kushuka kwa uzuri.
Ubaya wa njia hii ni kwamba mabadiliko yanaweza kukosa ikiwa shimoni ya encoder inazungushwa haraka.
Kutengua Programu
Njia hii hutumia kaunta mbili (Fungua, Ilifungwa) ambazo zimewekwa sifuri. [2]
Mara tu mpito unapogunduliwa kwenye Mawasiliano A:
- Endelea kupiga kura Mawasiliano A.
- Ongeza kaunta iliyofunguliwa, na weka upya kaunta iliyofungwa, wakati wowote Mawasiliano A iko juu.
- Ongeza kaunta iliyofungwa, na weka upya kaunta iliyofunguliwa, wakati wowote Mawasiliano A iko chini.
- Toka kitanzi wakati moja ya kaunta inapofikia hesabu iliyotanguliwa. Tunatafuta kwa ufanisi kipindi cha hali thabiti kufuatia bounce yoyote ya mawasiliano.
Msimbo halisi:
// ----- Ondoa Mawasiliano A
wakati (1) {if (digitalRead (ContactA)) {// ----- ContactA imefunguliwa wazi = 0; // Kitambulisho tupu cha wazi Fungua ++; // Unganisha ikiwa (Fungua> MaxCount) kurudi juu; } mwingine {// ----- MawasilianoA imefungwa wazi = 0; // Kitambulisho tupu cha wazi Kimefungwa ++; // Unganisha ikiwa (Imefungwa> MaxCount) kurudi CHINI; }}
Hakuna haja ya kufuta Mawasiliano B kwani mabadiliko ya Mawasiliano A na Mawasiliano B hayafanani.
Kuhesabu
"Uchafu" wa kiufundi unazidisha hesabu yako kwani hesabu mbili zimesajiliwa kati ya mibofyo (angalia tini 1).
Idadi ya "kizuizi" inaweza kuamua kutumia moduli 2 hesabu kama inavyoonyeshwa hapa chini.
Msimbo halisi:
// ----- Hesabu "detents"
ikiwa (Hesabu% 2 == 0) {Serial.print ("Hesabu:"); Serial.println (Hesabu / 2); }
Marejeo
Habari zaidi inaweza kupatikana kwa:
[1]
howtomechatronics.com/tutorials/arduino/ro…
[2]
newbiehack.com/ButtonorSwitchDebounceinSof…
Hatua ya 4: Programu
Mradi huu unahitaji toleo la hivi karibuni la Ardino Uno R3 IDE (mazingira jumuishi ya maendeleo) ambayo inapatikana kutoka
Pakua kila moja ya michoro mbili zifuatazo za Arduino (zilizoambatishwa)
- Rotary_encoder_1.ino (toleo la kupigia kura)
- Rotary_encoder_2.no (sumbua toleo)
Bonyeza mara mbili kwenye toleo unalopendelea na ufuate maagizo kwenye skrini.
Furahiya…
Bonyeza hapa kuona maelekezo yangu mengine.
Ilipendekeza:
Njia ya Haraka na Rahisi ya Kubadilisha Skrini Yako ya Kufuli kwa Hatua 6 Rahisi (Windows 8-10): Hatua 7
Njia ya Haraka na Rahisi ya Kubadilisha Skrini Yako ya Kufuli kwa Hatua 6 Rahisi (Windows 8-10): Unataka kubadilisha vitu kwenye kompyuta yako ndogo au PC? Unataka mabadiliko katika mazingira yako? Fuata hatua hizi za haraka na rahisi kufanikiwa kubinafsisha skrini yako ya kufunga kompyuta
DIY MusiLED, Muziki uliosawazishwa LEDs na Bonyeza mara moja Windows & Linux Maombi (32-bit & 64-bit). Rahisi kujirudia, Rahisi Kutumia, Rahisi kwa Port: 3 Hatua
DIY MusiLED, Muziki uliosawazishwa LEDs na Bonyeza mara moja Windows & Linux Maombi (32-bit & 64-bit). Rahisi kujirudia, Rahisi Kutumia, Rahisi Bandari. Mradi huu utakusaidia kuunganisha LEDs 18 (6 Nyekundu + 6 Bluu + 6 Njano) kwa Bodi yako ya Arduino na uchanganue ishara za wakati halisi wa Kompyuta yako na uzipeleke kwa taa za taa kuziwasha kulingana na athari za kipigo (Mtego, Kofia ya Juu, Kick)
Ubunifu wa PCB na Hatua Rahisi na Rahisi: Hatua 30 (na Picha)
Ubunifu wa PCB na Hatua Rahisi na Rahisi: HELLO MARAFIKI Mafunzo yake muhimu sana na rahisi kwa wale ambao wanataka kujifunza muundo wa PCB njoo tuanze
Arduino Magnetic Decoder Decoder: Hatua 4 (na Picha)
Arduino Magnetic Decoder Decoder: Hii inaweza kufundishwa jinsi ya kutumia nambari inayopatikana kwa uhuru, arduino, na msomaji wa kawaida wa safu ya sumaku kuchanganua na kuonyesha data iliyohifadhiwa kwenye kadi za mistari ya sumaku kama kadi za mkopo, vitambulisho vya wanafunzi, n.k. chapisha hii baada ya
NJIA RAHISI YA KUTENGENEZA TAA YA KIWANGO !! HATUA 3 RAHISI !!: 3 Hatua
NJIA RAHISI YA KUTENGENEZA TAA YA KIWANGO !! HATUA 3 RAHISI !!: Kile Utakachohitaji - bati ya bati 1 AA betri (betri zingine za AAA zitafanya kazi) 1 Mini Lightbulb (balbu za taa zinazotumika kwa tochi nyingi; rejea picha) Mtawala (ikiwa inahitajika)