analogRead()

Beschreibung

Liest den Wert vom angegebenen analogen Pin ein. Die Arduino-Boards enthalten einen 10-Bit-Analog-zu-Digital-Konverter. D.h. das Board mappt Eingangsspannungen zwischen 0 und 5 V auf Integer-Werte zwischen 0 und 1023. Die erreichte Auflösung ist damit z.B. auf einem Arduino UNO 5 V / 1024 Teile oder 0,0049 V (4,9 mV) per Teil. Siehe dazu auch die Tabelle unterhalb für die benutzbaren Pins, Betriebsspannung und die maximale Auflösung für einige Arduino-Boards.

Die Eingangsbreite can mit analogReference() geändert werden, die Auflösung mit analogReadResolution() (Nur für Arduino Zero, Due und MKR).

Auf den ATmega-basierten Boards (UNO, Nano, Mini, Mega), benötigt das Board circa 100 Mikrosekunden (0,0001 s), um einen analogen Inputpin zu lesen. Damit ist die maximale Lesegeschwindigkeit 10000 Lesevorgänge pro Sekunde.

Board Betriebsspannung Nutzbare Pins Maximale Auflösung
Uno 5 Volt A0 to A5 10 Bit
Mini, Nano 5 Volt A0 to A7 10 Bit
Mega, Mega2560, MegaADK 5 Volt A0 to A14 10 Bit
Micro 5 Volt A0 to A11[1] 10 Bit
Leonardo 5 Volt A0 to A11[1] 10 Bit
Zero 3.3 Volt A0 to A5 12 Bit[2]
Due 3.3 Volt A0 to A11 12 Bit[2]
MKR-Familie 3.3 Volt A0 to A6 12 Bit[2]
  • [1]: A0 bis A5 sind auf dem Board benannt, A6 bis A11 sind auf den Pins 4, 6, 8, 9, 10, und 12 verfügbar
  • [2]: Die standardmäßige Auflösung von analogRead() ist bei diesen Boards 10 Bit aus Kompabilitätsgründen. Mit analogReadResolution() kann die Auflösung auf 12 Bit geändert werden.

Syntax

analogRead(pin)

Parameter

  • pin: Der Pinname, von der gelesen werden soll (A0 bis A5 auf den meisten Boards, A0 bis A6 auf dem MKR, A0 bis A7 auf dem Mini und Nano, A0 bis A15 auf dem Mega)

Rückgabewert

Den analog gelesenen Wert auf dem Pin (int). Allerdings ist der Wert limitiert durch die Auflösung des Digital-Konverters (0-1023 für 10 Bit und 0-4095 für 12 Bit). Datentyp: int.

Beispielcode

Der Code liest die Spannung auf einem Analogpin und zeigt diese an.

Hardware Required

1×Arduino UNO or Genuino UNO
1×Potentiometer
1×Potentiometer Kit
1×Breadboard
1×Jumper Wires
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Recommended) Breadboard Shield For Arduino Uno
1×(Recommended) Enclosure For Arduino Uno
Bitte Beachten: Dies sind Partnerschaftslinks. Wenn Sie die Komponenten über diese Links Kaufen, können wir eine Provision erhalten, ohne weitere Kosten für Sie. Wir Schätzen es.

Wiring Diagram

Arduino Potentiometer Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Arduino Code

int analogPin = A0; // Pin, der gelesen werden soll: Pin A0 int val = 0; // Variable, die den gelesenen Wert speichert void setup() { Serial.begin(9600); // Setup der seriellen Verbindung } void loop() { val = analogRead(analogPin); // Pin einlesen Serial.println(val); // Wert ausgeben }

Rotate the potentiometer and see the result on Serial Monitor

COM6
Send
0 0 126 281 517 754 906 1023 1023
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

For more detailed instruction, see Arduino - Potentiometer

※ Anmerkungen und Warnungen:

Wenn der analoge Pin nicht verbunden ist, wird der zurückgegebene Wert schwanken basierend auf mehreren Faktoren (z.B. Die Werte der anderen analogen Pins, Wie nahe die Hand am Board ist, etc.).

ARDUINO KAUFEMPFEHLUNG

Arduino UNO R3
Arduino Starter Kit

※ OUR MESSAGES