This page is also available in 3 other languages

analogRead()

[Analogowe We/Wy]

Opis

Odczytuje wartość z określonego styku analogowego. Płytki Arduino posiadają wielokanałowy, 10-bitowy przetwornik analogowo-cyfrowy. Oznacza to, że przypisuje napięciom wejściowym z zakresu od 0 do napięcia roboczego (5V lub 3,3V) wartości liczbowe z zakresu od 0 do 1023. Na przykład Arduino UNO dokonuje pomiarów napięcia z dokładnością 4,9mV (5V / 1024 = 0,0049V). Sprawdź w poniższej tabeli za pomocą jakich styków można dokonywać tych pomiarów, jakie jest napięcie robocze i maksymalna dokładność.

Zakres wejściowy można zmienić za pomocą analogReference(), podczas gdy dokładność może być zmieniona (tylko dla płytek Zero, Due i MKR) za pomocą analogReadResolution().

Płytki oparte na ATmega (UNO, Nano, Mini, Mega) potrzebują około 100 milisekund (0,0001s) na odczyt wejścia analogowego, więc maksymalna szybkość odczutu wynosi około 10.000 razy na sekundę.

Płytka Napięcie robocze Użyteczne styki Maksymalna dokładność

Uno

5 woltów

A0 do A5

10 bitów

Mini, Nano

5 woltów

A0 do A7

10 bitów

Mega, Mega2560, MegaADK

5 woltów

A0 do A14

10 bitów

Micro

5 woltów

A0 do A11*

10 bitów

Leonardo

5 woltów

A0 do A11*

10 bitów

Zero

3,3 wolta

A0 do A5

12 bitów**

Due

3,3 wolta

A0 do A11

12 bitów**

rodzina płytek MKR

3,3 wolta

A0 do A6

12 bitów**

*oznaczenia wejść A0 do A5 znajdują się na płytce, a wejścia A6 do A11 dostępne są odpowiednio na stykach 4,6,8,9,10 i 12
**Domyślna dokładność analogRead() dla tych płytek wynosi 10 bitów, dla zapewnienia zgodności. Możesz użyć analogReadResolution() aby ją zmienić na 12 bitów.

Składnia

analogRead(styk)

Parametry

styk: nazwa styku odczytującego wejście analogowe (od A0 do A5 na większości płytek, od A0 do A6 na płytkach MKR, od A0 do A7 na Mini i Nano, a od A0 do A15 na Mega).

Wartości zwracane

Wartość odczytana z wejściowego styku analogowego. Ograniczona dokładnością przetwornika analogowo-cyfrowego (0-1023 dla 10 bitów lub 0-4095 dla 12 bitów). Typ dancyh: int.

Przykładowy kod

Kod odczytuje napięcie panujące na styku analogowym i je wyświetla.

int analogowyStyk = A3; // potencjometr wycieraczki (zacisk środkowy) podłączony do analogowego styku nr 3
                        // zewnętrzne zaciski poprowadzone do masy i 5V
int wart = 0;           // zmienna przechowująca odczytaną wartość

void setup() {
  Serial.begin(9600);   //  ustawienie portu szeregowego
}

void loop() {
  wart = analogRead(analogowyStyk);  // odczytaj styk wejściowy
  Serial.println(wart);              // podgląd wartości
}

Uwagi i ostrzeżenia

Jeśli styk wejścia analogowego nie jest do niczego podłączony, to wartość zwracana przez analogRead() będzie się zmieniać w zależności od wielu czynników (np. wartości innych wejść analogowych, jak blisko twoja ręka jest płytki itp.).