Funkcia → analogRead()

Popis :

Číta hodnotu zo zadaného analógového pinu.

Dosky Arduino obsahujú viackanálový 10-bitový analógovo-digitálny prevodník. To znamená, že bude mapovať vstupné napätia medzi 0 a prevádzkovým napätím (5V alebo 3,3V) na celočíselné hodnoty medzi 0 a 1023.

Napríklad na Arduino UNO poskytuje rozlíšenie medzi odčítaniami: 5 voltov / 1024 jednotiek alebo , 0,0049 voltov (4,9 mV) na jednotku. V tabuľke nižšie nájdete použiteľné piny, prevádzkové napätie a maximálne rozlíšenie pre niektoré dosky Arduino.

Vstupný rozsah je možné zmeniť pomocou analogReference(), zatiaľ čo rozlíšenie možno zmeniť (len pre dosky Zero, Due a MKR) pomocou analógovéhoReadResolution().

DoskaPrevádzkové napätiePoužiteľné PinyMaximálne rozlíšenie
UNO R35 VoltsA0 to A510 bits
UNO R4 (Minima, WiFi)5 VoltsA0 to A514 bits**
Mini5 VoltsA0 to A710 bits
Nano, Nano Every5 VoltsA0 to A710 bits
Nano 33 (IoT, BLE, RP2040, ESP32)3.3 VoltsA0 to A712 bits**
Mega, Mega2560, MegaADK5 VoltsA0 to A1410 bits
Micro5 VoltsA0 to A11*10 bits
Leonardo5 VoltsA0 to A11*10 bits
Zero3.3 VoltsA0 to A512 bits**
Due3.3 VoltsA0 to A1112 bits**
GIGA R13.3 VoltsA0 to A1116 bits**
MKR Family boards3.3 VoltsA0 to A612 bits**

*A0 až A5 sú označené na doske, A6 až A11 sú dostupné na kolíkoch 4, 6, 8, 9, 10 a 12 **Pre kompatibilitu je predvolené rozlíšenie analogRead() pre tieto dosky 10 bitov. Ak chcete zmeniť rozlíšenie na vyššie rozlíšenie, musíte použiť analógReadResolution().

Syntax :

Parametre :

pin: názov analógového vstupného pinu, z ktorého sa má čítať.

Returns : Analógové čítanie na kolíku. Aj keď je obmedzené na rozlíšenie analógovo-digitálneho prevodníka (0-1023 pre 10 bitov alebo 0-4095 pre 12 bitov). Typ údajov: int.

Príklad kódu :

Kód načíta napätie na analógovom pine a zobrazí ho.

int analogPin = A3; // potenciometer (stredná svorka) pripojený k   analog pinu 3
                    //vonkajšia sorka vedie k zemi a +5V
int val = 0;  //premenná na uloženie načítanej hodnoty

void setup() {
  Serial.begin(9600);           // nastavenie
}

void loop() {
  val = analogRead(analogPin);  // prečítať vstupný kolík
  Serial.println(val);          // hodnota ladenia
}

Poznámky :

Ak analógový vstupný kolík nie je k ničomu pripojený, hodnota vrátená funkciou analogRead() bude kolísať v závislosti od mnohých faktorov (napr. hodnoty ostatných analógových vstupov, ako blízko máte ruku k doske atď.).


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Nemôžete kopírovať obsah tejto stránky