Kazalo:
Video: Rotacijski dajalnik - Razumejte in ga uporabite (Arduino/drug Μ krmilnik): 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Rotacijski dajalnik je elektromehanska naprava, ki pretvarja rotacijsko gibanje v digitalne ali analogne informacije. Lahko se obrača v smeri urinega kazalca ali v nasprotni smeri. Obstajata dve vrsti rotacijskih kodirnikov: absolutni in relativni (inkrementalni) dajalniki.
Medtem ko absolutni dajalnik odda vrednost, ki je sorazmerna s trenutnim kotom gredi, inkrementalni dajalnik odda korak gredi in njeno smer. (V tem primeru imamo inkrementalni dajalnik)
Rotacijski dajalniki postajajo vse bolj priljubljeni, ker lahko v enem električnem modulu uporabite dve funkciji: Enostavno stikalo za potrditev delovanja in rotacijski dajalnik za krmarjenje, npr. skozi meni.
Inkrementalni rotacijski dajalnik generira dva izhodna signala, medtem ko se njegova gred vrti. Odvisno od smeri, eden od signalov vodi drugega. (glej spodaj)
1. korak: Razumevanje izhodnih podatkov
Kot lahko vidite, ko se gred kodirnika začne vrteti v smeri urinega kazalca, izhod A najprej pade na LOW in izhod B mu sledi. V nasprotni smeri urinega kazalca se operacija obrne.
Zdaj moramo to le implementirati na naš µController (uporabil sem Arduino Nano).
2. korak: Zgradite vezje
Kot sem že opisal, izhodi ustvarijo HIGH in LOW bok. Če želimo doseči čisto HIGH na podatkovnem zatiču A in B µControllerja, moramo dodati vlečne upore. Navadni pin C gre naravnost na tla za NIZKO bok.
Za informacije o notranjem stikalu (gumb) bomo uporabili druga dva zatiča. Eden od njih gre v VCC, drugi pa na podatkovni pin µControllerja. Podatkovnemu zatiču moramo dodati tudi izvlečni upor, da dobimo čisto NIZKO.
Možna je tudi uporaba notranjih uporovnih in izvlečnih uporov vašega µControllerja!
V mojem primeru je pinout videti tako:
- +3, 3V => +3, 3V (Arduino) (možno tudi +5V)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Pin
11
- C => GND
-
SW =>
Pin
12
3. korak: Pisanje kode
int pinA = 10; // notranje stikalo A int pinB = 11; // notranje stikalo B int pinSW = 12; // stikalo (pritisnjen kodirnik) int encoderPosCount = 0; // se začne pri nič, če želite, spremenite
int positionval;
bool switchval; int mrotateLast; int mrotate;
void setup () {
int mrotateLast = digitalno branje (pinA); Serial.begin (9600); zamuda (50); }
void loop () {readencoder (); if (readwitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// gumb se vrti if (digitalRead (pinB)! = mrotate) {// stikalo A najprej spremenjeno -> vrtenje kodirnika v smeri urinega kazalcaPosCount ++; Serial.println ("zasukan v smeri urinega kazalca"); } else {// stikalo B najprej spremenjeno-> vrteči se kodirnik v nasprotni smeri urinega kazalcaPosCount--; Serial.println ("zasukan v nasprotni smeri urinega kazalca"); }
Serial.print ("Položaj kodirnika:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; povratni kodirnikPosCount; } bool readwitch () {
if (digitalRead (pinSW)! = 0) {// stikalo je pritisnjeno
while (digitalRead (pinSW)! = 0) {} // stikalo je trenutno pritisnjeno switchval = 1; } else {switchval = 0;} // stikalo ni pritisnjeno return switchval; }
Zdaj lahko obrnete kodirnik in spremenljivkoderPosCount se bo odšteval, če se obrnete v smeri urinega kazalca, in odšteval, če se obračate v nasprotni smeri urinega kazalca.
To je to! Preprosto in uporabno.
Spremenite in izvedite kodo. Lahko ga implementirate v svoj projekt.
Naložil bom tudi projekt LED, kjer sem z dajalnikom nastavil svetlost LED.
Priporočena:
Uporabite koračni motor kot rotacijski dajalnik: 9 korakov (s slikami)
Uporabite koračni motor kot rotacijski dajalnik: Rotacijski dajalniki so odlični za uporabo v projektih mikrokrmilnikov kot vhodna naprava, vendar njihova zmogljivost ni zelo gladka in zadovoljiva. Prav tako sem se odločil, da jim bom namenil veliko rezervnih koračnih motorjev. Torej, če imate kakšen stepper
Model lokomotive s krmilnim motorjem - Koračni motor kot rotacijski dajalnik: 11 korakov (s slikami)
Model lokomotive s krmilnim motorjem | Koračni motor kot rotacijski dajalnik: V enem od prejšnjih navodil smo se naučili uporabljati koračni motor kot rotacijski dajalnik. V tem projektu bomo zdaj uporabili tisti rotacijski dajalnik koračnega motorja za upravljanje vzorčne lokomotive z mikrokrmilnikom Arduino. Torej brez fu
Kako: brezstični rotacijski dajalnik: 3 koraki
Kako do: brezstičnega rotacijskega dajalnika: Ta opomba o uporabi opisuje, kako oblikovati vrtljivo stikalo ali kodirnik z visoko zanesljivostjo z uporabo Dialog GreenPAK ™. Ta oblika stikala je brezkontaktna, zato zanemarja oksidacijo in obrabo stikov. Idealen je za uporabo na prostem, kjer je dolgo
Rotacijski dajalnik z uporabo Arduino Nano: 4 koraki
Rotacijski dajalnik z uporabo Arduino Nano: Pozdravljeni, v tem članku bom naredil vadnico o tem, kako uporabljati rotacijski dajalnik z uporabo Arduino Nano. Za uporabo tega rotacijskega kodirnika ne potrebujete zunanje knjižnice. Tako lahko neposredno ustvarjamo programe, ne da bi najprej dodali knjižnice. ok začnimo
MIDI 5V LED tračni krmilnik za Spielatron ali drug MIDI Synth: 7 korakov (s slikami)
MIDI 5V LED trak za krmiljenje luči za Spielatron ali drug MIDI Synth: Ta krmilnik utripa tribarvne LED luči za 50mS na noto. Modra za G5 do D#6, rdeča za E6 do B6 in zelena za C7 do G7. Krmilnik je naprava ALSA MIDI, tako da lahko programska oprema MIDI oddaja LED diode hkrati z napravo za sinhronizacijo MIDI