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:
// 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:
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);
}
}
Variable digitalWrite() Operatoren LED
Letzte Aktualisierung: