Talaan ng mga Nilalaman:
- Hakbang 1: Daloy ng Pulso ng Rotary Encoder
- Hakbang 2: Pinout ng Rotary Encoder
- Hakbang 3: Skematika
- Hakbang 4: Code
- Hakbang 5: Paliwanag
- Hakbang 6: Output
Video: Tutorial ng Rotary Encoder Sa Arduino: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Ang rotary encoder ay isang elektronikong sangkap na may kakayahang masubaybayan ang paggalaw at posisyon kapag umiikot. Gumagamit ang rotary encoder ng mga optical sensor na maaaring makabuo ng mga pulso kapag umiikot ang rotary encoder. Ang aplikasyon ng rotary encoder karaniwang bilang isang mekanikal o robotic na monitor monitor ay maaari ding magamit para sa pagpili ng menu sa display. Ang rotary encoder ay may dalawang output upang makilala nito ang pagitan ng negatibong (CW) at positibo (CCW) na pag-ikot at mayroon ding isang solong pindutan.
Hakbang 1: Daloy ng Pulso ng Rotary Encoder
Ang daloy ng pulso na nabuo ng sumusunod na rotary encoder ay tulad ng larawan sa itaas.
Hakbang 2: Pinout ng Rotary Encoder
Paliwanag:
- GND GND
- + + 5V
- SW button ng rotary encoder kapag pinindot
- Data ng DT
- Data ng CLK 2
Ang isa sa mga DT o CLK na pin ay dapat na konektado sa nakagambalang paa ng Arduino Uno, o pareho ng DT at CLK ay konektado sa makagambala na pin.
Hakbang 3: Skematika
- GND à GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Hakbang 4: Code
Sa sumusunod na tutorial, na gagamitin bilang isang nakakagambala ay ang PIN 2 ng Arduino Uno, habang ang PIN 3 ay ginagamit lamang bilang isang regular na input.
#define encoder0PinA 2 # tukuyin ang encoder0PinB 3 # tukuyin ang encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Serial.print (btn); Serial.print (""); Serial.print (valRotary); kung (valRotary> lastValRotary) {Serial.print ("CW"); } kung (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); pagkaantala (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } iba pa {encoder0Pos--; } valRotary = encoder0Pos / 2.5; }
Sa linya 10 ng sketch sa itaas ay ginagamit upang paganahin ang makagambala ng pin 2 Arduino Uno. Sa pagpapaandar na "doEncoder" ay kinakalkula mula sa rotary encoder. Kung ang halaga ng DT at CLK (pin makagambala ng Arduino Uno) ay pareho, pagkatapos ay ang variable na "encoder0Pos" ay madagdagan / idagdag, bilang karagdagan sa kondisyong iyon, ang variable na "encoder0Pos" ay nabawasan.
Hakbang 5: Paliwanag
Ang halaga ng ValRotary ay ang halaga ng bilang ng mga hakbang na tumatakbo. Ang halaga ng ValRotary ay nakuha mula sa halaga ng pagbabasa ng rotary sensor encoder na hinati sa 2.5. Ang isang halaga ng 2.5 ay nakuha mula sa pagsubok, dahil ang isang hakbang ng rotary encoder ay maaaring lumampas sa 1, kaya hatiin ng 2.5 para sa halaga nito alinsunod sa perstep at gayundin ang pagdaragdag ng nabasa na pagkaantala.
Habang nasa linya 19 - 25 ay isang programa upang matukoy kung rotary rotary encoder CW o CCW. Ang paliwanag ng mga linya 19 - 25 ay kapag ang kasalukuyang pag-read ng rotary encoder ay mas malaki kaysa sa nakaraang rotary data pagkatapos ay ipinahayag bilang CW. Sapagkat kung ang kasalukuyang pagbabasa ay mas maliit kaysa sa nakaraang pagbabasa pagkatapos ito ay nakasaad bilang CCW.
Hakbang 6: Output
1 = ang halaga ng pagsisimula ng pindutan ng paikutin kung hindi ito nai-press
Inirerekumendang:
Timer Sa Arduino at Rotary Encoder: 5 Hakbang
Timer With Arduino at Rotary Encoder: Ang timer ay isang tool na madalas na ginagamit sa parehong mga pang-industriya at aktibidad sa sambahayan. Ang pagpupulong na ito ay mura at madaling gawin. Napaka-maraming nalalaman din, na nakaka-load ng isang program na pinili ayon sa mga pangangailangan. Mayroong maraming mga programa na isinulat ko, para sa Ardui
Power Timer Sa Arduino at Rotary Encoder: 7 Hakbang (na may Mga Larawan)
Power Timer With Arduino at Rotary Encoder: Ang Power Timer na ito ay batay sa timer na ipinakita sa: https: //www.instructables.com/id/Timer-With-Arduin.. Isang module ng power supply at isang SSR (solid state relay ) ay naka-attach dito. Ang mga pag-load ng lakas na hanggang sa 1KW ay maaaring mapatakbo at may kaunting pagbabago
Paano Gumamit ng Stepper Motor Bilang Rotary Encoder at OLED Display para sa Mga Hakbang: 6 na Hakbang
Paano Gumamit ng Stepper Motor Bilang Rotary Encoder at OLED Display para sa Mga Hakbang: Sa tutorial na ito matututunan namin kung paano subaybayan ang mga hakbang sa motor ng stepper sa OLED Display. Manood ng isang demonstration video. Ang kredito para sa Orihinal na tutorial ay napupunta sa gumagamit ng youtube " sky4fly "
Rotary Encoder - Maunawaan at Gamitin Ito (Arduino / iba pang ΜController): 3 Mga Hakbang
Rotary Encoder - Maunawaan at Gamitin Ito (Arduino / iba pang ΜController): Ang isang rotary encoder ay isang electro-mechanical device na nagko-convert ng rotational na galaw sa digital o analog na impormasyon. Maaari itong lumiko sa pakanan o sa counter-pakanan. Mayroong dalawang uri ng rotary encoder: Ganap at kamag-anak (incremental) na mga encoder. Bakit
Tutorial ng Rotary Encoder Kit: 5 Hakbang
Tutorial ng Rotary Encoder Kit: Paglalarawan: Ang rotary encoder kit na ito ay maaaring magamit para sa pakiramdam ng posisyon at tulin ng motor. Ito ay isang napaka-simpleng kit na binubuo ng isang optical beam sensor (opto switch, phototransistor) at isang piraso ng slotted disc. Maaari itong konektado sa anumang microcontro