Sadržaj:
Video: Rotacijski davač - Shvatite i koristite ga (Arduino/drugi Μkontroler): 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Rotacijski davač je elektromehanički uređaj koji pretvara rotacijsko gibanje u digitalne ili analogne informacije. Može se okretati u smjeru kazaljke na satu ili u suprotnom smjeru. Postoje dvije vrste rotacijskih 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: Jednostavni prekidač za potvrdu rada i okretni davač za navigaciju, npr. kroz jelovnik.
Inkrementalni rotacijski davač generira dva izlazna signala dok mu se vratilo okreće. Ovisno o smjeru, jedan od signala vodi drugi. (Pogledaj ispod)
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 ga. U smjeru suprotnom od kazaljke na satu, radnja se okreće suprotno.
Sada samo moramo to 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 µKontrolera, moramo dodati otpornike za povlačenje. Uobičajeni pin C ide ravno na tlo 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 podatkovni pin kako bismo dobili čisti LOW.
Također je moguće koristiti unutarnje pull-up i pull-down otpornike vašeg µControlera!
U mom slučaju isječak izgleda ovako:
- +3, 3V => +3, 3V (Arduino) (također moguće +5V)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Pribadača
11
- C => GND
-
SW =>
Pribadača
12
Korak 3: Pisanje koda
int pinA = 10; // unutarnji prekidač A int pinB = 11; // unutarnji prekidač B int pinSW = 12; // prekidač (pritisnuti koder) int encoderPosCount = 0; // počinje od nule, promijenite ako želite
int positionval;
bool switchval; int mrotateLast; int mrotirati;
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) {// gumb se rotira if (digitalRead (pinB)! = mrotate) {// prekidač A se prvo promijenio -> rotirajući enkoder u smjeru 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; povratni enkoderPosCount; } 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 rotirate 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.
Također ću prenijeti LED projekt u kojem sam pomoću kodera postavio svjetlinu LED dioda.
Preporučeni:
Gumb za rotacijski davač: 6 koraka
Gumb za rotacijski davač: Ovo je rotacijski daljinski upravljač koji se temelji na rotacijskom davaču. Ima sljedeće značajke: Baterija radi s vrlo niskom potrošnjom struje kada je aktivirana Automatsko aktiviranje kada se kontrola okreće Automatsko spavanje nakon razdoblja neaktivnosti Konfiguriraj
Upotrijebite koračni motor kao rotacijski davač: 9 koraka (sa slikama)
Upotrijebite koračni motor kao rotacijski davač: Rotacijski davači izvrsni su za upotrebu u projektima mikrokontrolera kao ulazni uređaj, ali njihove performanse nisu baš glatke i zadovoljavajuće. Također, s puno rezervnih koračnih motora, odlučio sam im dati svrhu. Pa ako imate stepera
Model lokomotive kontroliran koračnim motorom - Koračni motor kao rotacijski davač: 11 koraka (sa slikama)
Model lokomotive kontroliran koračnim motorom | Koračni motor kao rotacijski davač: U jednom od prethodnih uputa naučili smo kako koristiti koračni motor kao okretni davač. U ovom ćemo projektu sada koristiti okretni davač s koračnim motorom za upravljanje modelom lokomotive pomoću Arduino mikrokontrolera. Dakle, bez fu
Koračni motor upravljanim koračnim motorom - Koračni motor kao rotacijski davač: 11 koraka (sa slikama)
Koračni motor upravljanim koračnim motorom | Koračni motor kao rotacijski davač: Imate li nekoliko koračnih motora u blizini i želite učiniti nešto? U ovom Instructableu upotrijebimo koračni motor kao rotacijski davač za kontrolu položaja drugog koračnog motora pomoću Arduino mikrokontrolera. Pa bez daljnjeg, idemo
Rotacijski davač pomoću Arduino Nano: 4 koraka
Rotacijski davač pomoću Arduino Nano: Pozdrav svima, U ovom članku ću napraviti vodič o tome kako koristiti rotacijski davač pomoću Arduino Nano. Za korištenje ovog rotacijskog kodera nije vam potrebna vanjska biblioteka. Tako možemo izravno stvarati programe bez prethodnog dodavanja knjižnica. ok počnimo