Funkcia → analogReadResolution()

Popis :

analogReadResolution() je rozšírením analógového API pre rodinu Zero, Due, MKR, Nano 33 (BLE a IoT) a Portenta. Nastavuje veľkosť (v bitoch) hodnoty vrátenej funkciou analogRead(). Predvolená hodnota je 10 bitov (vracia hodnoty medzi 0-1023) pre spätnú kompatibilitu s doskami založenými na AVR. Dosky Zero, Due, MKR a Nano 33 (BLE a IoT) majú 12-bitové možnosti ADC, ku ktorým je možné pristupovať zmenou rozlíšenia na 12. To vráti hodnoty z analogRead() medzi 0 a 4095. Portenta H7 má 16-bitový ADC, ktorý umožňuje hodnoty medzi 0 a 65535.

Syntax :

Parametre :

bity: určuje rozlíšenie (v bitoch) hodnoty vrátenej funkciou analogRead(). Môžete to nastaviť medzi 1 a 32. Môžete nastaviť rozlíšenie vyššie ako podporovaných 12 alebo 16 bitov, ale hodnoty vrátené funkciou analogRead() sa budú približovať.

Returns : –

Príklad kódu :

Kód ukazuje, ako používať ADC s rôznymi rozlíšeniami.

void setup() {
  // otvoriť sériové pripojenie
  Serial.begin(9600);
}

void loop() {
  //čítať vstup na A0 v predvolenom rozlíšení (10 bitov)
  //a odoslať ho cez sériové pripojenie
  analogReadResolution(10);
  Serial.print("ADC 10-bit (default) : ");
  Serial.print(analogRead(A0));

  // zmeniť rozlíšenie na 12 bitov a prečítať si A0
  analogReadResolution(12);
  Serial.print(", 12-bit : ");
  Serial.print(analogRead(A0));

  // zmeniť rozlíšenie na 16 bitov a prečítať si A0
  analogReadResolution(16);
  Serial.print(", 16-bit : ");
  Serial.print(analogRead(A0));

  // zmeniť rozlíšenie na 8 bitov a prečítať si A0
  analogReadResolution(8);
  Serial.print(", 8-bit : ");
  Serial.println(analogRead(A0));

  // a little delay to not hog Serial Monitor
  delay(100);
}

Poznámky :

Ak nastavíte hodnotu analogReadResolution() na hodnotu vyššiu, než sú možnosti vašej dosky, Arduino to bude hlásiť iba pri najvyššom rozlíšení a doplní extra bity nulami.

Napríklad: použitie Due s analogReadResolution(16) vám poskytne približné 16-bitové číslo, pričom prvých 12 bitov obsahuje skutočné čítanie ADC a posledné 4 bity sú doplnené nulami.

Ak nastavíte hodnotu analogReadResolution() na hodnotu nižšiu, ako sú možnosti vašej dosky, najmenej významné bity načítané z ADC budú vyradené. Použitie 16-bitového rozlíšenia (alebo akéhokoľvek rozlíšenia vyššieho ako sú skutočné možnosti hardvéru) vám umožňuje písať skice, ktoré automaticky spracovávajú zariadenia s vyšším rozlíšením ADC.


Pridaj komentár

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

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