Mikä on ero Arduino-potentiometrin ja pyörivän kooderin välillä

Mika On Ero Arduino Potentiometrin Ja Pyorivan Kooderin Valilla



Potentiometrejä ja pyöriviä antureita käytetään molempien pyörimisen tai asennon havaitsemiseen. Ne ovat sähkömekaanisia laitteita, joita käytetään erilaisissa sovelluksissa elektroniikan alalla. Ne voidaan myös liittää Arduinoon erilaisten projektien tekemiseen. Tämän artikkelin tarkoituksena on osoittaa potentiometrin ja pyörivän kooderin väliset perustavanlaatuiset erot.

Mikä on potentiometri

Potentiometri on reostaatti, tai voimme kutsua sitä muuttuvaksi vastukseksi. Resistanssin arvo vaihtelee potentiometrin akselin pyörimisnopeuden mukaan. Potentiometrit voivat kääntyä vain tietylle etäisyydelle. On olemassa sekä analogisia että digitaalisia potentiometrejä, mutta ne ovat melkein samanlaisia. Analogiset potentiometrit voidaan liittää Arduino-, Raspberry Pi- ja muiden laitteiden mikrokontrollereihin. Potentiometrissä on kolme nastaa, jotka ovat tulojännitteen nasta Vcc, Ground Pin GND ja tulosignaalin nasta. Signaalinasta antaa tulon Arduinolle.









Mikä on Rotary Encoder

Pyörivät anturit tunnistavat kiertonupin kulma-asennon ja lähettävät signaalin mikro-ohjaimelle tai muulle laitteelle, johon ne on kytketty. Siinä on levy, jonka kosketuspinnat ovat tasaisin välimatkoin ja jotka on kytketty yhteiseen nastaan. Pyöritävissä koodereissa on myös sisäänrakennettu painike tai kiertokytkin, joka antaa ON- ja OFF-signaaleja erityisvaatimusten mukaan.







Pinout-kaavio ja nastan kuvaus pyörivästä kooderista

Alla oleva kaavio esittää pyörivän kooderin nastat. Nämä nastat on kuvattu seuraavasti:

Out B tai CLK



Tämä nasta näyttää, kuinka monta kertaa nuppi tai pyörivä anturi on pyörinyt. Joka kerta kun nuppia käännetään, CLK suorittaa HIGH- ja LOW-jakson. Se lasketaan yhdeksi kierrokseksi.

Out A tai DT

Tämä on pyörivän kooderin toinen lähtönasta, joka määrittää pyörimissuunnan. Se on 90° jäljessä CLK-signaalista. Siksi, jos sen tila ei ole yhtä suuri kuin CLK:n tila, pyörimissuunta on myötäpäivään, muuten vastapäivään.

Vaihtaa

Kytkintappia käytetään tarkistamaan, onko painiketta painettu vai ei.

Vcc

Tämä nasta on kytketty 5V syöttöön

GND

Tämä nasta on kytketty maahan

Ero potentiometrin ja pyörivän kooderin välillä

Erittely Potentiometri Pyörivä kooderi
Kierto Potentiometriä voidaan pyörittää vain yhteen suuntaan, ja sitäkin kolme neljäsosaa ympyrästä. Rotary Encoder pystyy pyörimään 360° jatkuvasti sekä myötä- että vastapäivään.
Analoginen tai digitaalinen laite Potentiometri on enimmäkseen analoginen syöttölaite, joka mittaa paikan muutosta vastuksen arvon muutoksen seurauksena Pyörivä anturi on digitaalinen syöttölaite, joka tunnistaa kulma-asennon ja antaa digitaalisia arvoja.

Syöttöasemien määrä Potentiometrissä on ääretön määrä syöttökohtia, joista voidaan ottaa arvoja, koska se on analoginen laite Pyörivillä koodereilla on rajallinen määrä tulopaikkoja.

Potentiometrin asettaminen Arduinon kanssa

Potentiometri on helpompi asentaa Arduinolla kuin pyörivällä kooderilla. Potentiometrissä on vain kolme nastaa VCC, GND ja INPUT-nasta, joka on kytketty Arduinoon. Potentiometrin liitäntä Arduinoon on esitetty alla:

Potentiometrin ohjelmointi Arduinossa on helpompaa kuin pyörivän kooderin ohjelmointi. Alla on esimerkkisyntaksikoodit molemmille.

Esimerkkikoodi potentiometrille

const int pot = A0; // Ilmoita tulonasta
tyhjä asetus ( ) {
   pinMode ( potti, INPUT ) ; // Asetusarvo otettu potentiometristä kuten syöttö
Serial.begin ( 9600 ) ;
}
tyhjä silmukka ( ) {
int potValue = analogRead ( potti ) ; // Lue potentiometrin syöttämä arvo
kartta ( potValue, 0 , 1023 , 0 , 255 ) ; // Skaalaa syötteen arvo vastaamaan sitä 8 -bitti
Serial.println ( potValue ) ; // Tulostaa potentiometriin syötetyn arvon
viive ( 100 ) ;
}

Potentiometrin koodi on erittäin helppo ja yksinkertainen. Arduinon analogisen tulonastan ilmoitetaan yksinkertaisesti ottavan syötettä potentiometristä, ja sitten analogRead()- ja map()-funktioita käytetään lukemaan ja antamaan tarkan lukeman arvo potentiometristä.

Rotary Encoderin liittäminen Arduinoon

Pyörivässä kooderissa on viisi nastaa. Pyörivän kooderin VCC ja GND on kytketty Arduinon vastaavaan. Loput nastat CLK, DT ja SW on kytketty Arduinon digitaalisiin tulonastoihin.

Arduino-koodi Rotary Encoderille

// Pyörivien enkooderin tulot
#define CLK_PIN 2
#define DT_PIN 3
#define SW_PIN 4
int laskuri = 0 ;
int nykyinenCLKState;
int lastCLKState;
String currentDirection = '' ;
allekirjoittamaton long lastButtonPressTime = 0 ;
tyhjä asetus ( ) {
// Aseta kooderin nastat kuten tulot
    pinMode ( CLK_PIN, INPUT ) ;
    pinMode ( DT_PIN, INPUT ) ;
    pinMode ( SW_PIN, INPUT_PULLUP ) ;
// Asenna Serial Monitor
Serial.begin ( 9600 ) ;
// Lue CLK:n alkutila
lastCLKState = digitalRead ( CLK_PIN ) ;
}
tyhjä silmukka ( ) {
// Lue CLK:n nykyinen tila
currentCLKState = digitalRead ( CLK_PIN ) ;
// Jos kestää ja CLK:n nykyinen tila ovat erilaiset, sitten pulssi tapahtui
// Reagoi vain 1 tilan muutos kaksinkertaisen laskennan välttämiseksi
jos ( nykyinenCLKState ! = lastCLKState && nykyinenCLKState == 1 ) {
// Jos DT-tila on eri kuin CLK-tila, sitten
// enkooderi pyörii vastapäivään, joten vähennä
jos ( digitaalinen luku ( DT_PIN ) ! = nykyinenCLKState ) {
laskuri--;
currentDirection = 'CCW' ;
} muu {
// Enkooderi pyörii myötäpäivään, joten lisää
laskuri++;
currentDirection = 'CW' ;
}
Serial.print ( 'Kiertosuunta:' ) ;
Serial.print ( nykyinen suunta ) ;
Serial.print ( ' | Laskuriarvo: ' ) ;
Serial.println ( laskuri ) ;
}
// Muista kestää CLK tila
lastCLKState = nykyinenCLKState;
// Lue painikkeen tila
int buttonState = digitaalinenLue ( SW_PIN ) ;
// Jos havaitsemme LOW-signaalin, painiketta painetaan
jos ( buttonState == LOW ) {
// Jos 50 ms on kulunut kestää LOW pulssi, se tarkoittaa, että
// -painiketta on painettu, vapautettu ja painettu uudelleen
jos ( millis ( ) - lastButtonPressTime > viisikymmentä ) {
Serial.println ( 'Nappia painettu!' ) ;
}
// Muista kestää painikkeen painallustapahtuma aika
lastButtonPressTime = millis ( ) ;
}
// Laittaa sisään pieni viive auta heikentää lukemaa
viive ( 1 ) ;
}

Yllä annetussa koodissa CLK-nastan tila tarkistetaan loop()-funktiossa. Jos se ei ole sama kuin edellinen tila, se osoittaa, että kiertonuppi on pyörinyt. Nyt nupin pyörimissuunnan tarkistamiseksi CLK:n nykyistä tilaa verrataan DT:n tilaan. Jos molemmat tilat ovat erisuuruisia, se osoittaa, että nuppi on kiertynyt myötäpäivään, ja laskuri lisää sen arvoa näyttääkseen kiertonupin asennon. Päinvastaisessa tapauksessa laskuri laskee.

Sovellukset

Potentiometrejä käytetään pääasiassa silloin, kun tarvitaan ohjaustoimintoa. Niitä käytetään äänenvoimakkuuden säätimessä, LED-kirkkauden säädössä. Toisaalta Rotary-anturit tarjoavat laajan valikoiman sovelluksia. Niitä käytetään robotiikassa, lääketieteellisissä laitteissa, automaatiossa ja peleissä.

Johtopäätös

Potentiometrit ja pyörivät anturit ovat molemmat erityisen hyödyllisiä laitteita elektroniikan alalla. Pyörivät anturit ovat edistyksellisiä potentiometreihin verrattuna, koska ne voivat pyöriä jatkuvasti 360°. Samoin niillä on enemmän sovelluksia nykyaikaisessa elektroniikassa, ja niitä on hieman vaikeampi käyttää kuin potentiometrejä .