Analóg bemeneti kivezetések

Az Arduino chip (ATmega8, ATmega168, ATmega328P vagy ATmega1280) analóg bemeneti kivezetésjeinek leírása.

A/D konverter

Az Arduino-hoz használt ATmega vezérlők 6 csatornás (a Mini és a Nano 8 csatornás, a Mega 16 csatornás) analóg-digitális (A/D) átalakítót tartalmaznak. Az átalakító 10 bites felbontású, 0 és 1023 közötti egész számokat ad vissza. Míg a legtöbb Arduino-felhasználó számára az analóg kivezetések fő funkciója az analóg kivezetések olvasása, az analóg kivezetések az általános célú bemeneti/kimeneti (GPIO) kivezetések összes funkciójával is rendelkeznek (ugyanúgy, mint a 0-13 digitális kivezetések).

Következésképpen, ha a felhasználónak általános bemeneti kimeneti kivezetésekre van szüksége, és az összes analóg kivezetés nincs használatban, az analóg kivezetések felhasználhatók a GPIO-hoz.

kivezetés-leképezés

Az analóg kivezetések ugyanúgy használhatók, mint a digitális kivezetések, az A0 (a 0 analóg bemenethez), A1 stb. álnevekkel. Például a kód így néz ki, ha az analóg 0-t kimenetre, és HIGH-ra állítja:

pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH);

Felhúzó ellenállások

Az analóg kivezetések rendelkeznek felhúzó ellenállásokkal is, amelyek ugyanúgy működnek, mint a digitális kivezetések felhúzó ellenállásai. Ezeket egy parancs kiadásával engedélyezik, mint pl

pinMode(A0, INPUT_PULLUP);  // beállítja a felhúzást a 0 analóg kivezetésre

Ne feledje azonban, hogy a felhúzás bekapcsolása hatással lesz az analogRead() által jelentett értékekre.

Megjegyzések és figyelmeztetések

Az analogRead parancs nem fog megfelelően működni, ha egy kivezetést előzőleg kimenetre állították, ezért ebben az esetben állítsa vissza bemenetre az analogRead használata előtt. Hasonlóképpen, ha a kivezetés HIGH-ra van állítva kimenetként, a felhúzó ellenállás is be lesz állítva, amikor visszakapcsoljuk bemenetre.

Az ATmega adatlapja arra is figyelmeztet, hogy az analóg kivezetéseket más analóg kivezetéseken való A/D leolvasások (analogRead) időbeli közelségében ne váltsa át. Ez elektromos zajt okozhat, és rezgést okozhat az analóg rendszerben. Az analóg kivezetések manipulálása után (digitális módban) kívánatos lehet egy rövid késleltetés hozzáadása mielőtt másik analóg kivezetéseket olvasna az analogRead()-del.