Tartalomjegyzék:
- 1. lépés: A forgó kódoló impulzusáramlása
- 2. lépés: A Rotary Encoder kioldása
- 3. lépés: Vázlatos
- 4. lépés: Kód
- 5. lépés: Magyarázat
- 6. lépés: Kimenet
Videó: Rotary Encoder bemutatója Arduino -val: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
A forgó kódoló egy elektronikus alkatrész, amely képes forgás közben figyelni a mozgást és a helyzetet. A forgó kódoló optikai érzékelőket használ, amelyek impulzusokat generálhatnak a forgó kódoló forgásakor. A forgó jeladó általában mechanikus vagy robot mozgásfigyelőként is használható a menü menüválasztására a kijelzőn. A forgó jeladónak két kimenete van, így meg tudja különböztetni a negatív (CW) és a pozitív (CCW) forgást, és egyetlen gombja is van.
1. lépés: A forgó kódoló impulzusáramlása
A következő forgó jeladó által generált impulzusáram hasonló a fenti képhez.
2. lépés: A Rotary Encoder kioldása
Magyarázat:
- GND GND
- + + 5V
- A forgó jeladó SW gombja megnyomáskor
- DT adatok
- CLK adatok 2
Az egyik DT vagy CLK csapot az Arduino Uno megszakító lábához kell csatlakoztatni, vagy mind a DT, mind a CLK csatlakozik a megszakító csaphoz.
3. lépés: Vázlatos
- GND és GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
4. lépés: Kód
A következő oktatóanyagban megszakításként az Arduino Uno 2 -es PIN -kódját használjuk, míg a 3 -as PIN -kódot csak normál bemenetként használjuk.
#define encoder0PinA 2 #define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (kódoló0PinA, INPUT_PULLUP); pinMode (kódoló0PinB, INPUT_PULLUP); pinMode (kódoló0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Soros.nyomat (btn); Serial.print (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } if (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); késleltetés (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = kódoló0Pos/2.5; }
A fenti vázlat 10. sorában az Arduino Uno 2. tű megszakítását engedélyezzük. A "doEncoder" funkciót a forgó kódolóból számítják ki. Ha a DT és a CLK (Arduino Uno pin megszakítása) értéke megegyezik, akkor az "encoder0Pos" változót növeljük / adjuk hozzá, ezen a feltételen kívül az "encoder0Pos" változó is csökken.
5. lépés: Magyarázat
A ValRotary érték a futó lépések számának értéke. A ValRotary értéket a forgó érzékelő jeladó leolvasási értékéből osztva 2,5 -tel kapjuk. A vizsgálat során 2,5 -es értéket kapunk, mivel a forgó jeladó egy lépése meghaladhatja az 1 -et, ezért ossza el 2,5 -tel az értékének megfelelően a lépés és az olvasási késleltetés hozzáadásával.
Míg a 19 - 25 sorban van egy program, amely meghatározza, hogy a CW vagy a CCW forgó forgó kódoló. A 19 - 25 sorok magyarázata az, amikor az aktuális forgó jeladó leolvasása nagyobb, mint a CW -ban kifejezett korábbi rotációs adatok. Míg ha az aktuális érték kisebb, mint az előző, akkor CCW -ként kell megadni.
6. lépés: Kimenet
1 = a forgókapcsoló indítógombjának értéke, ha nem nyomta meg
Ajánlott:
Arduino Nano - SI7050 hőmérséklet -érzékelő bemutatója: 4 lépés
Arduino Nano - SI7050 hőmérséklet -érzékelő oktatóanyag: Az SI7050 egy digitális hőmérséklet -érzékelő, amely az I2C kommunikációs protokollon működik, és nagy pontosságot kínál a teljes üzemi feszültség és hőmérséklet tartományban. Az érzékelő ezen nagy pontosságát az új jelfeldolgozás és az anális
Arduino Nano - TMP100 hőmérséklet -érzékelő bemutatója: 4 lépés
Arduino Nano-TMP100 hőmérséklet-érzékelő oktatóanyag: TMP100 nagy pontosságú, alacsony fogyasztású, digitális hőmérséklet-érzékelő I2C MINI modul. A TMP100 ideális a hosszabb hőmérsékletméréshez. Ez az eszköz ± 1 ° C pontosságot kínál kalibrálás vagy külső komponens jel kondicionálása nélkül. Ő
4 az 1 -ben MAX7219 pontmátrix kijelző modul bemutatója az Arduino UNO használatával: 5 lépés
4 az 1 -ben MAX7219 pontmátrix kijelző modul bemutatója az Arduino UNO használatával: Leírás: Könnyen kezelhető LED -mátrixot keres? Ennek a 4 az 1 -ben pontmátrix kijelző modulnak alkalmasnak kell lennie az Ön számára. Az egész modul négy darab 8x8 RED közös katód pontmátrixból áll, amelyek mindegyike MAX7219 IC -vel van felszerelve. Nagyszerű megjeleníteni a futó szöveget a
Az Arduino L293D motorvezérlő pajzsának bemutatója: 8 lépés
Arduino L293D motorvezérlő pajzs bemutatója: Ezt és még sok más csodálatos oktatóanyagot elolvashat az ElectroPeak hivatalos weboldalán. Áttekintés
DIY Rotary Encoder: 4 lépés
DIY Rotary Encoder: Elnézést a képek hiánya miatt, nem döntöttem úgy, hogy készítek egy oktatóanyagot erről, amíg majdnem befejeztem. Áttekintés: A forgó kódolók két vagy több érzékelőt használnak a helyzet, a forgásirány, a sebesség érzékelésére és a fordulatok száma