Potentsiomeetrid ja pöörlevad andurid tunduvad esmapilgul peaaegu identsed, kuid töötavad erinevalt. Avastage, kuidas mõlemat Arduinoga kasutada.

Elektrooniliste kasutajajuhtimiskomponentide seas paistavad pöördnupud silma kui ühed kõige rahuldavamad kasutada. Need võivad täiendada puuteekraane ja muid sisendseadmeid, samuti töötavad hästi nuppude ja lülititega. Aga kuidas saate oma DIY Arduino projektidele nuppu lisada?

Teil on kaks peamist võimalust: potentsiomeeter või pöördkooder. Need komponendid võivad tunduda sarnased, kuid nende kasutamise meetodid selliste seadmetega nagu Arduino mikrokontrolleri plaat on väga erinevad. Vaatame, kuidas neid üksteisega võrrelda.

Potentsiomeetrid vs. Pöörlevad kodeerijad

Enamik potentsiomeetritest ja pöörlevatest kodeerijatest, millega DIY entusiastid kokku puutuvad, on sarnase kujuga. Neil on risttahukas või silindriline alus, millele on kinnitatud konnektorijalad, ja ümmargune võll, mis keerab ja millel on väljalõiked korgi jaoks.

Mõned potentsiomeetrid näevad välja teistsugused, näiteks need, mis on saadaval pikkade slaididena, nagu need, mida leidub muusika miksimisplatvormidel. Kui aga rääkida pöörlevatest tüüpidest, siis esmapilgul näevad need välja peaaegu identsed pöörlevate kodeerijatega, nii et teile antaks andeks, kui arvate, et need on samad.

Mis on potentsiomeeter?

Potentsiomeeter on sisuliselt muutuv takisti. Kui võlli keeratakse, muutub potentsiomeetri sees olev takistus, võimaldades kasutajal muuta vooluringi omadusi ilma seda ümber ehitamata. Potentsiomeetrid võivad olla nii analoog- kui digitaalsed, kuid digitaalsed potentsiomeetrid jäljendavad analoogseid ja see muudab nende kasutamise väga sarnaseks.

Potentsiomeetritel on alati määratletud algus- ja lõpp-punkt, kus võlli enam pöörata ei saa. Mõnel potentsiomeetril on pööramisel konarlik tunne, kuid paljud on ka siledad, nagu vanadel stereoseadmetel.

Vaatamata sellele, et potentsiomeetrid on analoogsed, töötavad nad mikrokontrolleritega hästi. Saate lihtsalt seadke potentsiomeeter Raspberry Pi Picoga üles või Arduino.

Mis on pöörlev kodeerija?

Pöörlevad andurid määravad oma võlli asukoha anduri abil, et anda analoog- või digitaalsignaal seadmele, millega nad on ühendatud. See annab seadmele teada, millises asendis kodeerija on. Lisaks pöörlevale võllile on pöörlevatel anduritel tavaliselt ka sisseehitatud nupp, mida käivitatakse võlli allapoole surudes.

Erinevalt potentsiomeetritest saavad pöörlevad koodrid pöörata peatumata ja neil on peaaegu alati iga võlli asendi jaoks puutetundlikud löögid. Paljud kaasaegsed autod kasutavad meelelahutussüsteemide juhtimiseks pöörlevaid kodeerijaid.

Kuidas kasutada potentsiomeetrit Arduinoga

Tänu nende lihtsale disainile on Arduinoga potentsiomeetri kasutamine lihtne. Teie potentsiomeetril on kolm pistikut: maandus, väljund ja vref. Maandus- ja vref-tihvtid ühendatakse vastavalt teie Arduino GND- ja 5V-pistikutega, samas kui potentsiomeetri väljundtihvt ühendub ühe teie plaadi analoogsisendiga.

Arduino potentsiomeetri kood

Teie Arduino potentsiomeetri kood algab põhikoodiga setup() ja loop () mall, mida näete, kui loote Arduino IDE-s uue faili. Esiteks lisage a const int muutuja koodi alguses, et registreerida poti analoogviiguühendus – antud juhul A0.

konstint potentsiomeeter = A0;

Pärast seda, setup() funktsioon on lihtne: peate lihtsalt sisestama oma potentsiomeetri tihvti. Jadaühenduse saate luua ka siis, kui soovite saata andmeid arvutisse diagnostikaks.

tühineseadistamine(){
pinMode (potentsiomeeter, INPUT);
Sari.alusta(9600);
}

Järgmiseks on aeg seadistada loop () funktsiooni. Alustage selle loomisega int muutuja kasutades analoogRead() funktsioon potentsiomeetri asukoha salvestamiseks. Pärast seda saate kasutada kaart () funktsioon, et vähendada käsitletava väärtuse suurust – selles näites PWM-i spetsifikatsioonidele vastavusse viimiseks, näiteks LED-i heleduse juhtimiseks. Stabiilsuse tagamiseks lisage lühike viivitus.

tühinesilmus(){
int potentsiometerValue = analoogRead (potentsiomeeter);
kaart (potentiometerValue, 0, 1023, 0, 255);
Sari.println(potentsiomeeterVäärtus);
viivitus (10);
}

Nüüd, kui teil on potentsiomeetri asukoht, saate seda kasutada koodi muude osadega. Näiteks an kui lause toimiks hästi koodi käivitamiseks, kui potentsiomeeter on kindlas asendis.

konstint potentsiomeeter = A0;

tühineseadistamine(){
pinMode (potentsiomeeter, INPUT);
Sari.alusta(9600);
}

tühinesilmus(){
int potentsiometerValue = analoogRead (potentsiomeeter);
kaart (potentiometerValue, 0, 1023, 0, 255);
Sari.println(potentsiomeeterVäärtus);
viivitus (10);
}

Kuidas kasutada pöörlevat kodeerijat Arduinoga

Pöörlevad kodeerijad nõuavad keerukamat koodi kui potentsiomeetrid, kuid nendega on siiski üsna lihtne töötada. Teie pöörleval kodeerijal on viis kontakti: maandus, VCC, nuputihvt (SW), väljund A (CLK) ja väljund B (DT). Maandus- ja VCC-tihvtid ühendatakse vastavalt teie Arduino maanduse ja 5 V pistikutega, SW-, CLK- ja BT-viigud aga Arduino üksikute digitaalsete pistikutega.

Arduino pöörleva kodeerija kood

Koodi lihtsamaks ja hõlpsamaks töötamiseks kasutame SimpleRotary Arduino teeki, mille on loonud MPgrams GitHub. Enne koodi kallal töötamist veenduge, et see teek oleks installitud.

Sarnaselt potentsiomeetri koodiga saate käivitada pöörleva kodeerija skripti põhilise Arduinoga setup() ja loop () funktsiooni mall. Alustuseks deklareerige SimpleRotary teegi ja määrake oma kodeerija viigud selles järjekorras; CLK, DT ja SW.

#kaasa 
Lihtne Rotary pöörlev(1,2,3);

Te ei pea omale midagi lisama setup() funktsiooni, välja arvatud juhul, kui soovite kasutada jadamonitori oma pöörleva kodeerija diagnoosimiseks.

tühineseadistamine(){
Sari.alusta(9600);
}

The loop () funktsiooniga on hoopis teine ​​lugu. Kooderi võlli pöörlemise määramine algab a-ga rotary.rotate() funktsiooni kutse, mis on määratud an int muutuv. Kui tulemus on 1, pöörleb kooder päripäeva. Kui tulemus on 2, pöörleb kooder vastupäeva. Tulemuseks on alati 0, kui kooder pole pärast viimast kontrollimist sisse lülitatud.

Sa võid kasutada kui laused, mis käivitavad teise koodi sõltuvalt kodeerija pöörlemissuunast.

tühinesilmus(){
int encoderRotation;
encoderRotation = rotary.rotate();

if (encoderRotation == 1) {
Serial.println("päripäeva");
}

if (encoderRotation == 2) {
Serial.println("vastupäeva");
}
}

Peate lisama ka koodi oma kodeerija nupu jaoks loop () funktsiooni. See protsess on väga sarnane, välja arvatud juhul, kui kasutate rotary.push() funktsioon, mitte rotary.rotate().

tühinesilmus(){
int kodeerijaButton;
encoderButton = rotary.push();

if (encoderButton == 1) {
Serial.println("nuppu vajutatud");
}
}

See skript on üsna lihtne ja saate selle enda omaks muutmiseks palju ära teha. Tasub tutvuda SimpleRotary projekti dokumentatsiooniga, et veenduda, et kasutate kõiki selle põhifunktsioone. Pärast kokkupanemist peaks teie kodeerija kood välja nägema selline.

#kaasa 
Lihtne Rotary pöörlev(1,2,3);

tühineseadistamine(){
Sari.alusta(9600);
}

tühinesilmus(){
int encoderRotation;
encoderRotation = rotary.rotate();

if (encoderRotation == 1) {
Serial.println("päripäeva");
}

if (encoderRotation == 2) {
Serial.println("vastupäeva");
}

int kodeerijaButton;
encoderButton = rotary.push();

if (encoderButton == 1) {
Serial.println("nuppu vajutatud");
}
}

Kuidas valida projektide jaoks potentsiomeetrite ja pöörlevate kodeerijate vahel

Nagu näete, töötavad pöörlevad andurid ja potentsiomeetrid üsna erinevalt. Mõlemad komponendid annavad teile uusi viise oma elektroonikaprojektide juhtimiseks, kuid millise peaksite valima?

Potentsiomeetrid on taskukohased ja hõlpsasti kasutatavad, kuid võimaldavad ainult piiratud sisendvahemikku. See muudab need suurepäraseks, kui soovite juhtida LED-i heledust või suurendada ja vähendada konkreetsete komponentide võimsust ja muid sarnaseid ülesandeid.

Pöörlevad kodeerijad pakuvad palju rohkem võimalusi kui potentsiomeetrid. Nupu lisamine tähendab, et need sobivad suurepäraselt menüü juhtimissüsteemide jaoks, nagu on näha paljudes kaasaegsetes autodes. Seda tüüpi komponendid on mehaanilise klaviatuuri ehitamise ruumis muutunud väga populaarseks. Saate isegi ehitada väike makropad sisseehitatud kodeerijaga.

Sarnane välimus, erinevad komponendid

Kui kogu see teave on teie turvavöö all, peaksite olema valmis alustama potentsiomeetri või pöörleva koodriga elektroonikaprojekti. Need komponendid võivad anda teile suure kontrolli oma ehitatud vooluringide üle, kuid peate veenduma, et valite oma projekti jaoks õige valiku.