Sisällysluettelo:
- Vaihe 1: Pyörivän anturin pulssivirta
- Vaihe 2: Kiertokooderin kiinnitys
- Vaihe 3: Kaavio
- Vaihe 4: Koodi
- Vaihe 5: Selitys
- Vaihe 6: Lähtö
Video: Rotary Encoderin opetusohjelma Arduinolla: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Pyörivä anturi on elektroninen komponentti, joka pystyy seuraamaan liikettä ja asentoa pyöriessä. Pyörivä anturi käyttää optisia antureita, jotka voivat tuottaa pulsseja pyörivän anturin pyöriessä. Kiertokooderin käyttöä tavallisesti mekaanisena tai robotti -liikkeenvalvontana voidaan käyttää myös näytön valikon valintaan. Pyörivässä anturissa on kaksi lähtöä, jotta se voi erottaa negatiivisen (CW) ja positiivisen (CCW) pyörimisen, ja siinä on myös yksi painike.
Vaihe 1: Pyörivän anturin pulssivirta
Seuraavan kiertokooderin tuottama pulssivirta on yllä olevan kuvan mukainen.
Vaihe 2: Kiertokooderin kiinnitys
Selitys:
- GND GND
- + + 5V
- Pyörivän anturin SW -painike, kun sitä painetaan
- DT -tiedot
- CLK -tiedot 2
Yksi DT- tai CLK -nastoista on liitettävä Arduino Unon keskeytysjalkaan, tai molemmat DT- ja CLK -liittimet on kytketty keskeytystappiin.
Vaihe 3: Kaavio
- GND ja GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Vaihe 4: Koodi
Seuraavassa opetusohjelmassa, jota käytetään keskeytyksenä, on Arduino Unon PIN 2, kun taas PIN 3: ta käytetään vain tavallisena syöttönä.
#define encoder0PinA 2 #define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (kooderi0PinA, INPUT_PULLUP); pinMode (kooderi0PinB, INPUT_PULLUP); pinMode (kooderi0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Sarjanjälki (btn); Serial.print (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } jos (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); viive (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = kooderi0Pos/2.5; }
Yllä olevan luonnoksen rivillä 10 käytetään Arduino Unon nastan 2 keskeyttämistä. Toiminnossa "doEncoder" lasketaan pyörivä anturi. Jos DT: n ja CLK: n (Arduino Unon pin -keskeytys) arvo on sama, "encoder0Pos" -muuttujaa lisätään / lisätään, tämän ehdon lisäksi "encoder0Pos" -muuttujaa pienennetään.
Vaihe 5: Selitys
ValRotary -arvo on käynnissä olevien vaiheiden määrän arvo. ValRotary -arvo saadaan pyörivän anturianturin lukema jaettuna 2,5. Testistä saadaan arvo 2,5, koska yksi pyörivän anturin vaihe voi ylittää 1, joten jaa se arvolla 2,5 arvolla vaiheen ja myös lukuviiveen mukaan.
Linjalla 19 - 25 on ohjelma, joka määrittää, onko pyörivä pyörivä anturi CW vai CCW. Rivien 19 - 25 selitys on silloin, kun pyörivän anturin nykyinen lukema on suurempi kuin edellinen pyörivä data, joka ilmaistiin sitten CW: nä. Jos nykyinen lukema on pienempi kuin edellinen lukema, se ilmoitetaan CCW: nä.
Vaihe 6: Lähtö
1 = pyörivän käynnistyspainikkeen arvo, kun sitä ei ole painettu
Suositeltava:
Rotary Encoder Kit -opetusohjelma: 5 vaihetta
Rotary Encoder Kit -opetusohjelma: Kuvaus: Tätä pyörivää anturipakkausta voidaan käyttää moottorin asennon ja nopeuden tunnistamiseen. Se on hyvin yksinkertainen sarja, joka koostuu optisesta säteilyanturista (optokytkin, valotransistori) ja palasta uralevyä. Se voidaan liittää mihin tahansa mikroyhteyteen
Arduino -opetusohjelma - Servomoottorin ohjaus Arduinolla: 5 vaihetta
Arduino -opetusohjelma - Servomoottorin ohjaus Arduinolla: Tämä ohje on kirjallinen versio "Arduino: Servo -moottorin ohjaamisesta Arduinolla". Äskettäin lataamani YouTube -video. Suosittelen lämpimästi tarkistamaan sen. Käy YouTube -kanavalla
Ultrasonic Range Finder -opetusohjelma Arduinolla ja LCD -näytöllä: 5 vaihetta
Ultrasonic Range Finder -opetusohjelma Arduinolla ja LCD: llä: Monet ihmiset ovat luoneet Instructables -ohjeet Arduino Unon käyttämiseen ultraäänianturilla ja joskus myös nestekidenäytöllä. Olen kuitenkin aina huomannut, että nämä muut oppaat ohittavat usein vaiheet, joiden alku ei ole ilmeistä
PIR -anturin opetusohjelma - Arduinolla tai ilman: 8 vaihetta
PIR -anturin opetusohjelma - Arduinon kanssa tai ilman: Juuri ennen seuraavan projektin opetusohjelman luomista, jossa käytetään PIR -anturia, ajattelin luoda erillisen opetusohjelman, joka selittää PIR -anturin toiminnan. Näin tekemällä voin pitää toisen opetusohjelmani lyhyenä ja ytimessä. Niin
Helppo opetusohjelma: Flex -anturit Arduinolla: 4 vaihetta
Helppo opetusohjelma: Flex -anturit Arduinon kanssa: Flex -anturit ovat siistejä! Käytän niitä koko ajan robotiikkaprojekteissani, ja ajattelin tehdä yksinkertaisia pieniä opetusohjelmia, joiden avulla voit tutustua näihin mutkaisiin pieniin nauhoihin. Puhutaanpa mitä flex -anturi on ja miten se toimii, miten