Projekt B04 - Analoge Werte lesen und LED dimmen
Projekte B01-B03 abgeschlossen, Grundlagen-Modul (PWM) verstanden
Was du brauchst
Ein variabler Widerstand mit drei Anschlüssen. Durch Drehen ändert sich die Spannung am mittleren Pin (Schleifer).
Anschlüsse: VCC, Schleifer (Signal), GND
Die LED wird über PWM gedimmt - ihre Helligkeit folgt der Poti-Position.
Die analogen Eingänge A0-A5 können analoge Werte lesen! Wir nutzen A0.
Der ADC wandelt eine Spannung (0-5V) in eine Zahl um.
int wert = analogRead(A0);
// Ergibt 0 bis 1023PWM schaltet schnell ein/aus. Der Duty Cycle bestimmt die "Helligkeit".
analogWrite(pin, 127);
// PWM-Wert 0-255Poti und LED anschließen
Potentiometer:
Pin 1 (VCC) → 5V
Pin 2 (Schleifer) → A0
Pin 3 (GND) → GND
LED:
Pin 9 ──[220Ω]──LED──GND
Nur Pins 3, 5, 6, 9, 10, 11 können PWM!
// Schritt 1: Potentiometer-Wert auslesen
const int POTI_PIN = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int wert = analogRead(POTI_PIN); // 0 bis 1023
Serial.print("Poti-Wert: ");
Serial.println(wert);
delay(100);
}Drehe am Poti und beobachte die Werte in der Konsole. Sie sollten von 0 bis 1023 reichen.
// Schritt 2: PWM für LED einrichten
const int POTI_PIN = A0;
const int LED_PIN = 9; // PWM-faehiger Pin!
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int wert = analogRead(POTI_PIN); // 0-1023
// map() rechnet den Wert um: 0-1023 → 0-255
int helligkeit = map(wert, 0, 1023, 0, 255);
analogWrite(LED_PIN, helligkeit);
Serial.print("Helligkeit: ");
Serial.println(helligkeit);
delay(50);
}map(wert, vonMin, vonMax, zuMin, zuMax) rechnet einen Wertebereich in einen anderen um. Perfekt für ADC→PWM!
// Fertige Version: Poti steuert LED-Helligkeit
const int POTI_PIN = A0;
const int LED_PIN = 9;
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
Serial.println("Drehe am Potentiometer!");
}
void loop() {
int wert = analogRead(POTI_PIN);
int helligkeit = map(wert, 0, 1023, 0, 255);
analogWrite(LED_PIN, helligkeit);
// Prozent berechnen
int prozent = wert * 100 / 1023;
Serial.print("Helligkeit: ");
Serial.print(prozent);
Serial.println("%");
delay(100);
}Die LED-Helligkeit folgt stufenlos der Poti-Position. In der Konsole siehst du die Helligkeit in Prozent.
Simulation in Wokwi
Suche nach "potentiometer" und ziehe es in die Simulation. Klicke auf den Knopf und ziehe um zu drehen!
Nutze 5 LEDs als Füllstandsanzeige (wie ein VU-Meter).
Teile den Bereich in 5 Stufen. LED blinkt je nach Stufe unterschiedlich schnell.
Nutze einen Piezo und ändere die Tonhöhe mit dem Poti.
Zeige den Prozentwert auf einem LCD Display an.
Du kannst jetzt analoge Werte verarbeiten
Analoge Werte lesen
LED stufenlos dimmen
Wertebereiche umrechnen
B05: RGB-LED Farbmischer - Drei Kanäle mit PWM steuern