Potentiometrit ja pyörivät anturit näyttävät ensi silmäyksellä lähes identtisiltä, ​​mutta ne toimivat eri tavoin. Tutustu molempien käyttöön Arduinon kanssa.

Elektronisista käyttäjän ohjauskomponenteista kiertonupit erottuvat joukosta miellyttävimpiä käyttää. Ne voivat täydentää kosketusnäyttöjä ja muita syöttölaitteita sekä toimia hyvin painikkeiden ja kytkimien kanssa. Mutta kuinka voit lisätä nupin omiin DIY Arduino -projekteihisi?

Sinulla on kaksi päävaihtoehtoa: potentiometri tai pyörivä anturi. Nämä komponentit voivat näyttää samanlaisilta, mutta menetelmät niiden käyttämiseksi Arduino-mikrokontrollerilevyn kaltaisen laitteen kanssa ovat hyvin erilaisia. Katsotaan kuinka ne vertautuvat toisiinsa.

Potentiometrit vs. Pyörivät enkooderit

Suurin osa potentiometreistä ja pyörivistä antureista, joita tee-se-itse-harrastajat kohtaavat, ovat samankaltaisia. Niissä on kuutiomainen tai lieriömäinen pohja, johon on kiinnitetty liitinjalat, ja pyöreä akseli, joka kiertyy ja jossa on leikkaukset kannen kiinnitystä varten.

Jotkut potentiometrit näyttävät erilaisilta, kuten ne, jotka tulevat pitkien diojen muodossa, kuten ne, joita löytyy musiikin miksauslevyiltä. Mitä tulee pyöriviin tyyppeihin, ne näyttävät ensi silmäyksellä lähes identtisiltä pyörivien kooderien kanssa, joten saat anteeksi, jos luulet niiden olevan samoja.

Mikä on potentiometri?

Potentiometri on pohjimmiltaan muuttuva vastus. Kun akselia käännetään, potentiometrin sisällä oleva vastus muuttuu, jolloin käyttäjä voi muuttaa piirin ominaisuuksia ilman, että sitä tarvitsee rakentaa uudelleen. Potentiometrit voivat olla sekä analogisia että digitaalisia, mutta digitaaliset potentiometrit jäljittelevät analogisia ja tämä tekee niistä hyvin samankaltaisia.

Potentiometreillä on aina määritelty aloitus- ja loppupiste, jossa akselia ei voi enää kääntää. Jotkut potentiometrit tuntuvat kuoppaiselta käännettäessä, mutta monet ovat myös sileitä, kuten vanhoissa stereoissa.

Vaikka potentiometrit ovat analogisia, ne toimivat hyvin mikro-ohjainten kanssa. Voit helposti asenna potentiometri Raspberry Pi Picolla tai Arduino.

Mikä on Rotary Encoder?

Pyörivät anturit määrittävät akselinsa asennon anturin avulla antamaan analogisen tai digitaalisen signaalin laitteelle, johon ne on kytketty. Tämä kertoo laitteelle, missä asennossa kooderi on. Pyörivän akselin ohella pyörivissä koodereissa on yleensä myös sisäänrakennettu painike, joka aktivoidaan työntämällä akselia alaspäin.

Toisin kuin potentiometrit, pyörivät anturit voivat kääntyä pysähtymättä, ja niissä on lähes aina kosketuskuormitus jokaisessa akselin asennossa. Monet nykyaikaiset autot käyttävät pyöriviä koodereita viihdejärjestelmiensä ohjaamiseen.

Kuinka käyttää potentiometriä Arduinon kanssa

Yksinkertaisen suunnittelunsa ansiosta potentiometrin käyttö Arduinon kanssa on yksinkertaista. Potentiometrissäsi on kolme liitintä: maadoitus, lähtö ja vref. Maadoitus- ja vref-nastat liitetään Arduinon GND- ja 5V-liittimiin, kun taas potentiometrin lähtönasta kytketään yhteen levysi analogisista tuloista.

Arduino potentiometrin koodi

Arduino-potentiometrikoodisi alkaa peruskoodilla perustaa() ja loop() malli, jonka näet, kun luot uuden tiedoston Arduino IDE: ssä. Lisää ensin a const int muuttuja koodin alussa rekisteröimään potin analogisen nastayhteyden – tässä tapauksessa A0.

konstint potentiometri = A0;

Tämän jälkeen, perustaa() toiminto on yksinkertainen: sinun tarvitsee vain ilmoittaa potentiometrin nastasi syötteeksi. Voit myös käynnistää sarjayhteyden, jos haluat lähettää tietoja tietokoneellesi diagnostiikkaa varten.

mitätönperustaa(){
pinMode (potentiometri, INPUT);
Sarja.alkaa(9600);
}

Seuraavaksi on aika määrittää loop() toiminto. Aloita luomalla int muuttuja käyttämällä analogRead() toiminto tallentaa potentiometrin sijainnin. Tämän jälkeen voit käyttää kartta() toiminto pienentää käsittelemäsi arvon kokoa – tässä esimerkissä PWM-spesifikaatioiden mukaiseksi, esimerkiksi LED-valon kirkkauden säätämiseksi. Lisää lyhyt viive vakauden varmistamiseksi.

mitätönsilmukka(){
int potentiometerValue = analogRead (potentiometri);
kartta (potentiometerValue, 0, 1023, 0, 255);
Sarja.println(potentiometriArvo);
viive (10);
}

Nyt kun sinulla on potentiometrisi sijainti, voit käyttää sitä muiden koodin osien kanssa. Esimerkiksi an jos lauseke toimisi hyvin käynnistämään koodin, kun potentiometri on tietyssä asennossa.

konstint potentiometri = A0;

mitätönperustaa(){
pinMode (potentiometri, INPUT);
Sarja.alkaa(9600);
}

mitätönsilmukka(){
int potentiometerValue = analogRead (potentiometri);
kartta (potentiometerValue, 0, 1023, 0, 255);
Sarja.println(potentiometriArvo);
viive (10);
}

Kuinka käyttää pyörivää kooderia Arduinon kanssa

Pyörivät anturit vaativat monimutkaisempaa koodia kuin potentiometrit, mutta niiden kanssa on silti melko helppo työskennellä. Pyörivässä kooderissasi on viisi nastaa: maadoitus, VCC, nasta (SW), lähtö A (CLK) ja lähtö B (DT). Maadoitus- ja VCC-nastat yhdistetään Arduinon maahan ja 5V-liittimiin, kun taas SW-, CLK- ja BT-nastat yhdistetään Arduinon yksittäisiin digitaalisiin liittimiin.

Arduino Rotary Encoder Code

Jotta koodimme olisi yksinkertaisempi ja helpompi käsitellä, käytämme MPgramsin luomaa SimpleRotary Arduino -kirjastoa GitHub. Varmista, että sinulla on tämä kirjasto asennettuna ennen kuin alat työstää koodiasi.

Aivan kuten potentiometrikoodisi, voit aloittaa pyörivän kooderin komentosarjan perus-Arduinolla perustaa() ja loop() toimintomalli. Aloita ilmoittamalla SimpleRotary-kirjasto ja määrittämällä kooderin nastat tässä järjestyksessä; CLK, DT ja SW.

#sisältää 
YksinkertainenRotary pyörivä(1,2,3);

Sinun ei tarvitse lisätä mitään omaan perustaa() toimintoa, ellet halua käyttää sarjamonitoria pyörivän kooderin diagnosointiin.

mitätönperustaa(){
Sarja.alkaa(9600);
}

The loop() toiminto on eri tarina. Anturin akselin pyörimisen määrittäminen alkaa a: lla rotary.rotate() toimintokutsu, joka on määritetty an int muuttuja. Jos tulos on 1, kooderi pyörii myötäpäivään. Jos tulos on 2, kooderi pyörii vastapäivään. Tulos on aina 0, jos enkooderi ei ole kääntynyt viimeisen tarkistuksen jälkeen.

Voit käyttää jos lausekkeita, jotka laukaisevat muun koodin kooderin pyörimissuunnasta riippuen.

mitätönsilmukka(){
int encoderRotation;
encoderRotation = rotary.rotate();

if (encoderRotation == 1) {
Serial.println("myötäpäivään");
}

if (encoderRotation == 2) {
Serial.println("vastapäivään");
}
}

Sinun on myös lisättävä koodi enkooderisi painikkeelle loop() toiminto. Tämä prosessi on hyvin samanlainen, paitsi että käytät rotary.push() toiminto, sen sijaan rotary.rotate().

mitätönsilmukka(){
int encoderButton;
encoderButton = rotary.push();

if (encoderButton == 1) {
Serial.println("nappia painettu");
}
}

Tämä kirjoitus on melko yksinkertainen, ja voit tehdä paljon tehdäksesi siitä omasi. Kannattaa tutustua SimpleRotary-projektin dokumentaatioon varmistaaksesi, että käytät kaikkia sen tärkeimpiä ominaisuuksia. Kun enkooderikoodi on koottu, sen pitäisi näyttää tältä.

#sisältää 
YksinkertainenRotary pyörivä(1,2,3);

mitätönperustaa(){
Sarja.alkaa(9600);
}

mitätönsilmukka(){
int encoderRotation;
encoderRotation = rotary.rotate();

if (encoderRotation == 1) {
Serial.println("myötäpäivään");
}

if (encoderRotation == 2) {
Serial.println("vastapäivään");
}

int encoderButton;
encoderButton = rotary.push();

if (encoderButton == 1) {
Serial.println("nappia painettu");
}
}

Kuinka valita potentiometrien ja pyörivien kooderien välillä projekteja varten

Kuten näet, pyörivät anturit ja potentiometrit toimivat aivan eri tavalla. Molemmat komponentit antavat sinulle uusia tapoja ohjata elektroniikkaprojektejasi, mutta kumpi sinun kannattaa valita?

Potentiometrit ovat edullisia ja helppokäyttöisiä, mutta mahdollistavat vain rajoitetun syöttöalueen. Tämä tekee niistä upeita, kun haluat säätää LEDin kirkkautta tai nostaa ja vähentää tiettyjen komponenttien tehoa ja muita vastaavia tehtäviä.

Pyörivät anturit tarjoavat paljon enemmän mahdollisuuksia kuin potentiometrit. Painikkeen sisällyttäminen tarkoittaa, että ne sopivat erinomaisesti valikkojen ohjausjärjestelmiin, kuten monissa nykyaikaisissa autoissa näkyy. Tämän tyyppisestä komponentista on tullut erittäin suosittu mekaanisen näppäimistön rakennustilassa. Voit jopa rakentaa pieni makropad sisäänrakennetulla kooderilla.

Samanlainen ulkonäkö, erilaiset komponentit

Kun kaikki nämä tiedot ovat vyön alla, sinun pitäisi olla valmis aloittamaan elektroniikkaprojekti potentiometrin tai pyörivän kooderin avulla. Nämä komponentit voivat antaa sinulle paljon hallintaa rakentamissasi piireissä, mutta sinun on varmistettava, että valitset oikean vaihtoehdon projektillesi.