Arduino analogRead ( )
On 31 října, 2021 by adminFunkce analogRead( ) načte hodnotu ze zadaného analogového pinu přítomného na konkrétní desce Arduino.
ADR (analogově digitální převodník) na desce Arduino je vícekanálový převodník. Mapuje vstupní a provozní napětí mezi hodnotami 0 a 1023. Provozní napětí může být 5 V nebo 3,3 V.
Hodnoty od 0 do 1023 jsou celočíselné hodnoty. Lze je také zapsat jako 0 až (2^10) -1.
Doba trvání čtení analogového vstupního signálu na deskách (UNO, Mega, Mini a Nano) je přibližně 100 mikrosekund nebo 0,0001 sekundy.
Maximální rychlost čtení analogového vstupu je tedy přibližně 10000krát za sekundu.
Prodiskutujme provozní napětí a rozlišení některých desek Arduino.
- Provozní napětí desek Arduino UNO, Mini, Mega, Nano, Leonardo a Micro je 5 V a rozlišení je 10 bitů.
- Pracovní napětí desek rodiny MKR, Arduino Due a Zero je 3 V a rozlišení je 12 bitů.
Změna vstupního napětí a rozlišení
- Na konkrétní desce můžeme vstupní napětí změnit pomocí funkce analogReference( ).
analogReference( )
Referenční napětí použité pro analogový vstup se konfiguruje pomocí funkce analogReference( ).
Syntaxe je:
Poznámka: Externí referenční napětí na pinu AREF by nemělo být větší než 5V nebo menší než 0V. Při práci na pinu AREF musíme nastavit analogovou referenci jako externí.
Jinak může dojít k poškození mikrokontroléru přítomného na desce Arduino.
- Pomocí funkce analogReadResolution( ) můžeme měnit rozlišení pouze u desek MKR Family, Zero a Due.
analogReadResolution( )
Desky MKR Family, Zero a Due mají rozlišení ADC 12 bitů.
Funkce analogReadResolution( ) vrátí celočíselné hodnoty mezi 0 a 4095 z funkce analogRead( ).
Syntaxe je:
kde,
bity: Označuje bity rozlišení vrácené funkcí analogRead( ). Hodnotu bitů můžeme nastavit v rozmezí 1 až 32.
Poznámka: Pokud jsou zadány bity rozlišení vyšší, než jsou možnosti desky, Arduino doplní bity navíc nulami.
Například analogReadResolution (14)
Výše uvedená funkce poskytne 14bitové aproximované číslo s prvními dvěma 12 bity (které zahrnují čtení ADC) a posledními dvěma doplněnými bity.
Syntaxe funkce analogRead ( )
Syntaxe je:
kde,
pin: Obsahuje název konkrétního analogového pinu, ze kterého se má číst.
Datový typ je int.
Nezapojený analogový pin může také vrátit nějakou hodnotu. Taková hodnota závisí na poloze naší ruky na desce a na ostatních analogových vstupech v okolí.
Příklad kódu
Pochopme koncept analogRead na příkladu.
Podívejme se na následující kód:
Výše uvedený kód čte napětí ze zadaného analogového pinu (AnaPin) a zobrazuje ho.
.
Napsat komentář