Egy potenciométer olvasása, és az állapotának kinyomtatása az Arduino soros monitorra.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a példa bemutatja, hogyan olvassa le a fizikai világ analóg bemenetét potenciométer segítségével. A potenciométer egy egyszerű mechanikus eszköz, amely változó mértékű ellenállást hoz létre, amikor a tengelyét elforgatják. Ha feszültséget vezet át egy potenciométeren és a kártya analóg bemenetére, akkor megmérheti a potenciométer (vagy röviden poti) által termelt ellenállás mértékét analóg értékként. Ebben a példában figyelni fogja a potenciométer állapotát, miután soros kommunikációt létesített az Arduino és az Arduino szoftvert (IDE) futtató számítógépe között.
Hardver szükséglet
Arduino kártya
10 kohm-os potenciométer
Az áramkör
Csatlakoztassa a potenciométer három vezetékét a kártyához. Az első a potenciométer egyik szélső csatlakozójától a földig megy. A második a potenciométer másik szélső csatlakotójától az 5 voltra megy. A harmadik a potenciométer középső csatlakozójától az analóg A0 kivezetésre csatlakozik.

A potenciométer tengelyének elfordításával a csúszka mindkét oldalán változtatja az ellenállás mértékét, amely a potenciométer középső csapjához csatlakozik. Ez megváltoztatja a feszültséget a középső csatlakozón. Ha a középső és az 5 voltra csatlakoztatott oldal közötti ellenállás közel nulla (és a másik oldalon az ellenállás közel 10 kohm), a középső érintkező feszültsége megközelíti az 5 voltot. Ha a potenciométer szélső vezetékeit felcseréljük, a középső érintkező feszültsége megközelíti a 0 voltot, vagyis a testet. Ez a feszültség az analóg feszültség, amelyet bemenetként olvas.
Az Arduino kártyákon belül van egy analóg-digitális konverternek vagy ADC-nek nevezett áramkör, amely beolvassa ezt a változó feszültséget, és 0 és 1023 közötti számmá alakítja. Ha a tengelyt teljesen egy irányba fordítjuk, a kivezetésre 0 volt megy, a bemeneti érték pedig 0. Ha a tengelyt teljesen az ellenkező irányba forgatjuk, akkor 5 volt megy a kivezetésre, és a bemeneti érték 1023. A kettő között az analogRead() egy 0 és 1023 közötti számot ad vissza, amely arányos a kivezetésre adott feszültség mértékével.
Vázlat

A kód
Az alábbi vázlatban a setup függvényben csak annyit csinálunk, hogy soros kommunikációt indítunk 9600 bit/másodperc sebességgel a kártya és a számítógép között a következő paranccsal:
Serial.begin(9600);
Ezután a kód fő ciklusban létre kell hoznia egy változót, amely tárolja a potenciométerből érkező ellenállásértéket (amely 0 és 1023 között lesz, tökéletes hozzá az int
adattípus):
int sensorValue = analogRead(A0);
Végül ki kell nyomtatnia ezeket az információkat a soros monitor ablakába. Ezt a Serial.println() paranccsal teheti meg az utolsó kódsorban:
Serial.println(sensorValue);
Most, amikor megnyitja a soros monitort az Arduino szoftverben (IDE) (az objektívnek tűnő ikonra kattintva a jobb oldalon, a zöld felső sávban vagy a Ctrl+Shift+M billentyűparancs használatával), látnia kell, a 0 és 1023 közötti állandó számfolyam, amely a potméter pozíciójával korrelál. Ahogy forgatja a potenciométert, ezek a számok szinte azonnal reagálnak.
/*
AnalogReadSerial
Az analóg bemenetet a 0. kivezetést olvassa, az eredményt kiírja a soros monitorra.
A grafikus ábrázolás a Serial Plotter használatával érhető el (Eszközök > Soros plotter menü).
Csatlakoztassa a potenciométer középső csatlakozóját az A0 kivezetéshez, a külső csatlakozókat pedig a +5 V-hoz és a földhöz.
Ez a példakód nyilvános.
https://docs.arduino.cc/built-in-examples/basics/AnalogReadSerial
*/
// a setup (beállítási) funkció egyszer fut le, amikor megnyomja a reset gombot, vagy bekapcsolja a kártyát:
void setup() {
// a soros kommunikáció inicializálása 9600 bit/s sebességgel:
Serial.begin(9600);
}
// a loop (ciklus) függvény újra és újra lefut, örökké:
void loop() {
// a bemenet, az analóg 0 kivezetés beolvasása:
int sensorValue = analogRead(A0);
// a beolvasott érték kinyomtatása:
Serial.println(sensorValue);
delay(1); // késleltetés a leolvasások között a stabilitás érdekében
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.