Sadržaj:
Video: Rotacijski koder - razumite i koristite ga (Arduino/drugi Μkontroler): 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Rotacijski davač je elektromehanički uređaj koji pretvara rotacijsko kretanje u digitalne ili analogne informacije. Može se okretati u smjeru kazaljke na satu ili suprotno. Postoje dvije vrste rotacionih davača: apsolutni i relativni (inkrementalni) davači.
Dok apsolutni davač daje vrijednost proporcionalnu trenutnom kutu osovine, inkrementalni davač daje korak vratila i njegov smjer. (U ovom slučaju imamo inkrementalni davač)
Rotacijski davači postaju sve popularniji jer možete koristiti dvije funkcije u jednom električnom modulu: jednostavan prekidač za potvrdu rada i okretni davač za navigaciju, npr. kroz meni.
Inkrementalni rotacijski davač generira dva izlazna signala dok se osovina okreće. Ovisno o smjeru, jedan od signala vodi drugi. (vidi dole)
Korak 1: Razumijevanje izlaznih podataka
Kao što vidite kada se vratilo davača počne okretati u smjeru kazaljke na satu, izlaz A prvo pada na LOW, a izlaz B slijedi. U smjeru suprotnom od kazaljke na satu, radnja se okreće suprotno.
Sada samo moramo ovo implementirati na naš µController (koristio sam Arduino Nano).
Korak 2: Izgradite krug
Kao što sam već opisao, izlazi stvaraju HIGH i LOW bok. Da bismo postigli čistu HIGH vrijednost na podatkovnom pinu A i B µControlera, moramo dodati otpornike za povlačenje. Uobičajeni pin C ide ravno u zemlju za LOW bok.
Za dobivanje informacija o unutarnjem prekidaču (tipkalo) upotrijebit ćemo druga dva pina. Jedan od njih ide na VCC, a drugi na podatkovni pin µControlera. Moramo dodati i pull-down otpornik na pin za podatke kako bismo dobili čisti LOW.
Takođe je moguće koristiti interne otpornike za povlačenje i povlačenje vašeg µKontrolera!
U mom slučaju pinout izgleda ovako:
- +3, 3V => +3, 3V (Arduino) (takođe +5V moguće)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Pin
11
- C => GND
-
SW =>
Pin
12
Korak 3: Pisanje koda
int pinA = 10; // interni prekidač A int pinB = 11; // interni prekidač B int pinSW = 12; // prekidač (pritisnuti koder) int encoderPosCount = 0; // počinje na nuli, promijenite ako želite
int positionval;
bool switchval; int mrotateLast; int mrotate;
void setup () {
int mrotateLast = digitalRead (pinA); Serial.begin (9600); kašnjenje (50); }
void loop () {readencoder (); if (readwitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// dugme se rotira if (digitalRead (pinB)! = mrotate) {// prekidač A se prvo menja -> rotirajući enkoder u smeru kazaljke na satuPosCount ++; Serial.println ("rotirano u smjeru kazaljke na satu"); } else {// prekidač B se prvo promijenio-> rotirajući koder u smjeru kazaljke na satuPosCount--; Serial.println ("rotirano u smjeru suprotnom od kazaljke na satu"); }
Serial.print ("Položaj kodera:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; return encoderPosCount; } bool readwitch () {
if (digitalRead (pinSW)! = 0) {// prekidač je pritisnut
while (digitalRead (pinSW)! = 0) {} // prekidač je trenutno pritisnut switchval = 1; } else {switchval = 0;} // prekidač nije pritisnut return switchval; }
Sada možete okrenuti davač i varijabla enkoderPosCount će odbrojavati ako rotirate u smjeru kazaljke na satu i odbrojavati ako se okrećete u smjeru suprotnom od kazaljke na satu.
To je to! Jednostavno i korisno.
Slobodno promijenite i izvedite kod. Možete ga implementirati u svoj projekt.
Postavit ću i LED projekt u kojem sam pomoću kodera postavio svjetlinu LED dioda.
Preporučuje se:
Koristite svoj telefon kao drugi monitor: 5 koraka
Koristite svoj telefon kao drugi monitor: Svi smo imali iskustva u radu od kuće. Daje nam luksuz dovršavanja poslova ili zaduženja iz udobnosti vlastitog doma. Međutim, svi želimo dovršiti ove zadatke na što učinkovitiji i produktivniji način, tako da
Kako: beskontaktni rotacijski koder: 3 koraka
Kako: beskontaktni rotacijski koder: Ova napomena o aplikaciji opisuje kako dizajnirati rotacijski prekidač ili koder visoke pouzdanosti koristeći Dialog GreenPAK ™. Ova izvedba prekidača je beskontaktna i stoga zanemaruje oksidaciju kontakta i trošenje. Idealan je za upotrebu na otvorenom gdje je dugo
Dodajte koder u Feetech Micro 360 stepeni kontinuirani rotacijski servo FS90R: 10 koraka
Dodajte koder u Feetech Micro 360 -stepeni kontinuirani rotacijski servo FS90R: Vrlo je teško ili gotovo nemoguće precizno kontrolirati kretanje robota na kotačima pomoću upravljanja motorom s otvorenom petljom. Mnoge aplikacije zahtijevaju precizno postavljanje položaja ili udaljenosti putovanja robota na kotačima. Mali kontinuirani rotacijski mikro servo moto
Kako koristiti koračni motor kao rotacijski koder i OLED ekran za korake: 6 koraka
Kako koristiti koračni motor kao rotacijski koder i OLED zaslon za korake: U ovom ćemo vodiču naučiti kako pratiti korake koračnog motora na OLED zaslonu. Pogledajte demonstracijski video. Zasluge za originalni vodič idu korisniku youtube " sky4fly "
Rotacijski koder: Kako funkcionira i kako se koristi s Arduinom: 7 koraka
Rotacijski koder: Kako funkcionira i kako se koristi s Arduinom: Ovaj i druge nevjerojatne vodiče možete pročitati na službenoj web stranici ElectroPeak -a Pregled U ovom vodiču ćete saznati kako se koristi rotacijski koder. Prvo ćete vidjeti neke informacije o rotacijskom koderu, a zatim ćete naučiti kako