Talaan ng mga Nilalaman:
Video: Rotary Encoder - Maunawaan at Gamitin Ito (Arduino / iba pang ΜController): 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang isang rotary encoder ay isang electro-mechanical device na nag-convert ng rotational na galaw sa digital o analog na impormasyon. Maaari itong lumiko sa pakanan o sa counter. Mayroong dalawang uri ng rotary encoder: Ganap at kamag-anak (incremental) na mga encoder.
Habang ang isang ganap na encoder ay naglalabas ng isang proporsyonal na halaga sa kasalukuyang anggulo ng baras, ang isang incremental encoder ay naglalabas ng hakbang ng baras at ng direksyon nito. (Sa kasong ito mayroon kaming isang incremental encoder)
Ang mga rotary encoder ay naging mas tanyag dahil nagamit mo ang dalawang pag-andar sa isang de-koryenteng module: Isang simpleng switch para sa kumpirmasyon ng mga opperation at ang rotary encoder upang mag-navigate, hal. sa pamamagitan ng isang menu.
Ang isang incremental rotary encoder ay bumubuo ng dalawang output signal habang ang baras nito ay umiikot. Nakasalalay sa direksyon, ang isa sa mga signal ay humahantong sa isa pa. (tingnan sa ibaba)
Hakbang 1: Pag-unawa sa Data ng Output
Tulad ng nakikita mo kapag ang encoder shaft ay nagsisimulang paikutin nang pakanan, ang Output A ay babagsak sa LOW muna at sinusundan ito ng Output B. Sa isang direksyon na pabalik-pabalik na direksyon ang operasyon ay lumiliko sa tapat.
Ngayon ay ipapatupad lamang namin ito sa aming µController (Gumamit ako ng isang Arduino Nano).
Hakbang 2: Buuin ang Circuit
Tulad ng inilarawan ko bago ang mga output ay lumikha ng isang TAAS at isang LABANG flank. Upang makakuha ng malinis na TAAS sa data pin A at B ng µController kailangan naming magdagdag ng mga resistors na Pull-Up. Ang karaniwang Pin C ay dumidiretso sa lupa para sa LOW flank.
Upang makakuha ng impormasyon tungkol sa panloob na switch (push-button) gagamitin namin ang iba pang dalawang mga pin. Ang isa sa kanila ay pupunta sa VCC at ang isa pa sa isang data Pin ng µController. Kailangan din naming magdagdag ng isang Pull-Down Resistor sa pin ng data upang makakuha ng isang malinis na LOW.
Posible rin na gumamit ng panloob na mga pull na Pull-Up at Pull-Down resistors ng iyong µController!
Sa aking kaso ang pinout ay katulad ng:
- +3, 3V => +3, 3V (Arduino) (posible + 5V din)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Pin
11
- C => GND
-
SW =>
Pin
12
Hakbang 3: Pagsulat ng Code
int pinA = 10; // internal switch A int pinB = 11; // internal switch B int pinSW = 12; // switch (pinindot Encoder) int encoderPosCount = 0; // nagsisimula sa zero, baguhin kung nais mo
int posisyonval;
bool switchval; int mrotateLast; int mrotate;
walang bisa ang pag-setup () {
int mrotateLast = digitalRead (pinA); Serial.begin (9600); antala (50); }
void loop () {readencoder (); kung (readswitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); kung (mrotate! = mrotateLast) {// knob ay umiikot kung (digitalRead (pinB)! = mrotate) {// switch A ay nagbago muna -> umiikot na clockwise encoderPosCount ++; Serial.println ("pinaikot nang pakanan"); } iba pa {// switch B ay nagbago muna -> umiikot ng pakaliwa na encoderPosCount--; Serial.println ("pinaikot na pakaliwa"); }
Serial.print ("Posisyon ng Encoder:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; ibalik ang encoderPosCount; } bool readswitch () {
kung (digitalRead (pinSW)! = 0) {// switch ay pinindot
habang (digitalRead (pinSW)! = 0) {} // switch ay kasalukuyang pinindot switchval = 1; } iba pa {switchval = 0;} // switch ay hindi naka-compress na return switch; }
Ngayon ay maaari mong buksan ang encoder at ang variable encoderPosCount ay bibilangin kung paikutin mo pakanan at bibilangin kung paikutin mo ang counter ng pakaliwa.
Ayan yun! Simple at kapaki-pakinabang.
Huwag mag-atubiling baguhin at isagawa ang code. Maaari mo itong ipatupad sa iyong proyekto.
Mag-a-upload din ako ng isang proyekto sa LED kung saan ginamit ko ang encoder upang maitakda ang ningning ng aking mga LED.
Inirerekumendang:
Diy Macro Lens Sa AF (Iba't Ibang sa Lahat ng Iba Pang Mga DIY Macro Lensa): 4 na Hakbang (na may Mga Larawan)
Diy Macro Lens With AF (Iba Pa Sa Lahat ng Iba Pang DIY Macro Lensa): Nakita ko ang maraming tao na gumagawa ng mga macro lens na may karaniwang kit lens (Karaniwan isang 18-55mm). Karamihan sa kanila ay isang lens na dumidikit lamang sa camera paatras o inalis ang pang-una na elemento. Mayroong mga downside para sa pareho sa mga pagpipiliang ito. Para sa pag-mount ng lens
Mga Lampara ng Pendant ng HV Insulator at Iba Pang Mga Natatanging Pag-iilaw ng accent: 8 Hakbang (na may Mga Larawan)
Mga Lampara ng Pendant ng HV Insulator at Iba Pang Mga Natatanging Pag-iilaw ng accent: Nagpunta ako sa isang tangent isang araw at nagsimulang gumawa ng iba't ibang mga ilawan. Nag-print ako ng 3D ng ilang mga bahagi at nakuha ang karamihan sa iba pa mula sa Lowes at ang dolyar na tindahan. Ang pinakamagandang hanapin ay nang makita ko ang isang balde ng mga insulator ng poste ng kuryente sa isang pagbebenta ng kamalig. Sila ay $ 3 bawat isa. Pagkatapos
Panoorin ito ng Raspberry Pi Oled Clock Pakinggan Ito at Pakiramdam Ito: 5 Hakbang (na may Mga Larawan)
Panoorin ito ng Raspberry Pi Oled Clock Naririnig Ito at Nararamdaman Ito: Ito ay isang matalinong orasan na nagpapakita ng oras sa isang OLED display at maaari mo ring marinig ang oras sa iba't ibang agwat ng oras na tutulong para sa bulag at binabago din nito ang humantong kulay sa oras tulad ng ilaw sa takipsilim na ilaw sa gabi ay nagiging kulay kahel sa dilaw at tulad ng
Gumawa ng isang Naaalis na Laptop Water Cooler! at Iba Pang Mga Cool na Device: 6 Mga Hakbang (na may Mga Larawan)
Gumawa ng isang Naaalis na Laptop Water Cooler! at Iba Pang Mga Cool na Device: Ipapakita sa iyo ng Mga Instructionable na ito kung paano gumawa ng isang kahanga-hangang tubig na pinalamig na heat extractor at pad cooler para sa iyong laptop. Kaya ano talaga ang heat extractor na ito? Ito ay isang aparato na idinisenyo upang gawing cool ang iyong laptop - sa bawat kahulugan ng salita. Maaari itong al
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Panahon ng Panahon ay Tugma): 5 Mga Hakbang (na may Mga Larawan)
Acurite 5 in 1 Weather Station Paggamit ng isang Raspberry Pi at Weewx (iba pang Mga Weather Stations ay Tugma): Nang binili ko ang Acurite 5 sa 1 istasyon ng panahon nais kong masuri ang lagay ng panahon sa aking bahay habang wala ako. Nang makauwi ako at naayos ko ito napagtanto ko na dapat kong magkaroon ng display na konektado sa isang computer o bumili ng kanilang smart hub,