analogRead()

analogRead() liest den Wert eines analogen Pins. Im Unterschied zu digitalRead(), das nur die Zustände an (HIGH) oder aus (LOW) kennt, misst analogRead() die am analogen Pin anliegende Spannung. Ein analog-digital-Umwandler wandelt die Betriebsspannung des Arduinos (5 Volt oder 3,3 Volt) in Zahlenwerte zwischen 0 und 1023 um.

Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // Potentiometer am analogen Pin A0 int SENSOR = A0; // speichert den gelesenen Wert int SensorWert; void setup() { // Seriellen Monitor starten Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); } void loop() { SensorWert = analogRead(SENSOR); // zeigt den gelesenen Wert im Seriellen Monitor an Serial.println(SensorWert); delay(500); } |
Im ⇒Seriellen Plotter können die Werte sichtbar gemacht werden:

analogWrite()
analogWrite() wird dazu verwendet eine LED mit Hilfe der ⇒Pulsweitenmodulation (PWM) an einem digitalen Pin mit unterschiedlicher Helligkeit zum Leuchten zu bringen. Nur die digitalen Ports, die mit einer Tilde (~) gekennzeichnet sind, unterstützen die PWM.
0 ⇒ Strom aus
255 ⇒ maximale Stromstärke

Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | int LED = 6; void setup() { // bei analogWrite ist kein setup notwendig } // erhöht die Leuchtstärke von 0 auf 255 in 5‑er Schritten void loop() { for (int i = 0; i < 255; i += 5) { analogWrite(LED, i); delay(200); } } |
Letzte Aktualisierung: