Tartalomjegyzék:
Videó: Rotációs kódoló - megértése és használata (Arduino/egyéb Μvezérlő): 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A forgó kódoló egy elektromechanikus eszköz, amely a forgó mozgást digitális vagy analóg információvá alakítja. Az óramutató járásával megegyező vagy az óramutató járásával ellentétes irányba foroghat. Kétféle forgó jeladó létezik: abszolút és relatív (növekményes) kódolók.
Míg egy abszolút jeladó az aktuális tengelyszöggel arányos értéket ad ki, egy inkrementális jeladó a tengely lépését és annak irányát adja ki. (Ebben az esetben inkrementális kódolóval rendelkezünk)
A forgó jeladók egyre népszerűbbek, mert két funkciót használhat egy elektromos modulban: Egy egyszerű kapcsoló a műveletek megerősítéséhez és a forgó kódoló a navigáláshoz, pl. menü segítségével.
Az inkrementális forgó jeladó két kimeneti jelet generál, miközben a tengely forog. Az iránytól függően az egyik jel vezeti a másikat. (lásd lejjebb)
1. lépés: A kimeneti adatok megértése
Amint láthatja, amikor a jeladó tengelye forogni kezd az óramutató járásával megegyező irányba, az A kimenet először LOW -ra csökken, és a B kimenet követi. Az óramutató járásával ellentétes irányban a művelet ellentétesen fordul.
Most már csak ezt kell végrehajtanunk a µControllerünkön (egy Arduino Nano -t használtam).
2. lépés: Építse fel az áramkört
Amint azt korábban leírtam, a kimenetek HIGH és LOW szárnyat hoznak létre. Ahhoz, hogy a µController A és B adattüskéjén tiszta HIGH-ot kapjunk, hozzá kell adnunk a Pull-Up ellenállásokat. A közös C csap közvetlenül a földre kerül az LOW szárnyhoz.
A belső kapcsolóról (nyomógomb) való tájékozódáshoz a másik két érintkezőt használjuk. Az egyik a VCC -hez, a másik pedig a µController adattüskéjéhez megy. Hozzá kell adnunk egy lehúzható ellenállást is az adattűhöz, hogy tiszta LOW értéket kapjunk.
A µController belső felhúzó és lehúzó ellenállásait is használhatja!
Esetemben a pinout így néz ki:
- +3, 3V => +3, 3V (Arduino) (+5V is lehetséges)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Tű
11
- C => GND
-
SW =>
Tű
12
3. lépés: A kód írása
int pinA = 10; // belső kapcsoló A int pinB = 11; // belső kapcsoló B int pinSW = 12; // kapcsoló (lenyomva Encoder) int encoderPosCount = 0; // nulláról indul, változtasd meg, ha akarod
int pozícióval;
bool switchval; int mrotateLast; int mrotate;
void setup () {
int mrotateLast = digitalRead (pinA); Sorozat.kezdet (9600); késleltetés (50); }
void loop () {readencoder (); if (readswitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// a gomb forog, ha (digitalRead (pinB)! = mrotate) {// az A kapcsoló először megváltozott -> az óramutató járásával megegyező irányban forgó kódolóPosCount ++; Serial.println ("jobbra forgatva"); } else {// a B kapcsoló először megváltozott-> az óramutató járásával ellentétes irányban forgó kódolóPosCount--; Serial.println ("az óramutató járásával ellentétes irányba forgatva"); }
Serial.print ("Encoder Position:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; return encoderPosCount; } bool readswitch () {
ha (digitalRead (pinSW)! = 0) {// kapcsoló le van nyomva
while (digitalRead (pinSW)! = 0) {} // kapcsoló jelenleg lenyomva switchval = 1; } else {switchval = 0;} // kapcsoló nincs megnyomva return switchval; }
Most elforgathatja a kódolót, és az encoderPosCount változó felfelé számol, ha az óramutató járásával megegyező irányba forgatja, és visszaszámol, ha az óramutató járásával ellentétes irányba forgatja.
Ez az! Egyszerűen és hasznos.
Nyugodtan módosítsa és hajtsa végre a kódot. Ezt megvalósíthatja projektjében.
Feltöltök egy LED projektet is, ahol a kódolóval állítottam be a LED -ek fényerejét.
Ajánlott:
Rotációs kódoló által vezérelt robotkar: 6 lépés
Rotary Encoder vezérelt robotkar: Meglátogattam a howtomechatronics.com webhelyet, és láttam ott a bluetooth vezérlésű robotkart. Nem szeretem a Bluetooth -ot használni, ráadásul láttam, hogy forgó kódolóval vezérelhetjük a szervót, ezért újratervezem, hogy irányíthassam a robotot használjon forgó jeladót, és rögzítse
Rotációs kódoló az Arduino Nano használatával: 4 lépés
Rotációs kódoló az Arduino Nano használatával: Sziasztok! Ebben a cikkben bemutatok egy tutorialt arról, hogyan kell használni a forgó kódolót Arduino Nano használatával. A Rotary kódoló használatához nincs szükség külső könyvtárra. Tehát közvetlenül létrehozhatunk programokat anélkül, hogy először könyvtárakat adnánk hozzá. ok kezdjük el
Rotációs kódoló: Hogyan működik és hogyan kell használni az Arduino -val: 7 lépés
Rotary Encoder: Hogyan működik és hogyan kell használni az Arduino -val: Ezt és más csodálatos oktatóanyagokat elolvashatja az ElectroPeak hivatalos weboldalán. Áttekintés Ebben az oktatóanyagban megismerheti a forgó kódoló használatát. Először néhány információt lát a forgó kódolóról, majd megtanulja, hogyan kell
Rotációs kódoló STM32 Nucleo kártyával: 12 lépés
Rotary Encoder STM32 Nucleo Board: Ez a bemutató a Rotary Encoder helyzetének meghatározásához, amely inkrementális típusú kódoló. A kódolók általában két típusból állnak:- az egyik növekményes, abszolút. Ez a kód használható az STM32L476 és STM32L0 mikrokontrollerekhez .De ha h
Arduino menü Nokia 5110 LCD -n rotációs kódoló használatával: 6 lépés (képekkel)
Arduino menü a Nokia 5110 LCD -n Rotációs kódoló használatával: Kedves barátaim, üdvözöljük egy újabb oktatóanyagban! Ebben a videóban megtanuljuk, hogyan készíthetjük el saját menünket a népszerű Nokia 5110 LCD kijelzőhöz, hogy felhasználóbarátabbá és hatékonyabbá tegyük projektjeinket. Kezdjük! Ez a projekt