Inhaltsverzeichnis
Für dieses Projekt benötigst du
Potentiometer zum Regeln der Blinkgeschwindigkeit einer LED verwenden
Aufgabe: Eine LED soll blinken. Die Blinkgeschwindigkeit soll mit einem Drehregler eingestellt werden.
Lerninhalt: Spannung eines Drehreglers auslesen, Sensorwerte mathematisch verarbeiten und für eine Ausgabe verwenden (in diesem Fall für die Dauer einer Pause).
Ein Drehregler hat drei Anschlüsse. Außen wird rechts + und links – angeschlossen. Von dem mittleren Pin geht ein Kabel zu einem analogen Eingangspin am Mikrocontroller-Board. Wenn man den Drehregler dreht, dann gibt der mittlere Pin eine Spannung zwischen 0 und 5 Volt aus. Drehregler ganz links: 0 V und Drehregler ganz rechts: 5V, bzw. Seitenverkehrt, je nach Verkabelung. Der Analog-Digital-Wandler wandelt die gemessene Spannung in einen Wertebereich um.
- Arduino UNO: 0 bis 1023
- ESP32-Wroom: 0 bis 4096
- NodeMCU und Wemos D1 Mini: 0 bis 1024
Schaltpläne
Der Programmcode
Arduino UNO
// speichern des am Anschluss A0 gelesenen Werts
int ReglerWert;
// Potentiometer am Anschluss A0
int REGLER = A0;
// LED am Anschluss D1
int LED = D1;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
// Wert des Potentiometers lesen
ReglerWert = analogRead(REGLER);
// LED einschalten
digitalWrite(LED, HIGH);
// LED für die Dauer des gelesenen Werts eingeschaltet lassen
delay(ReglerWert);
// LED ausschalten
digitalWrite(LED, LOW);
// LED für die Dauer des gelesenen Werts ausgeschaltet lassen
delay(ReglerWert);
}
Wemos D1 Mini
// speichern des am Anschluss A0 gelesenen Werts
int ReglerWert;
// Potentiometer am Anschluss A0
int REGLER = A0;
// LED am Anschluss D1
int LED = D1;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
// Wert des Potentiometers lesen
ReglerWert = analogRead(REGLER);
// LED einschalten
digitalWrite(LED, HIGH);
// LED für die Dauer des gelesenen Werts eingeschaltet lassen
delay(ReglerWert);
// LED ausschalten
digitalWrite(LED, LOW);
// LED für die Dauer des gelesenen Werts ausgeschaltet lassen
delay(ReglerWert);
}
ESP32-Wroom
// speichern des am Anschluss 34 gelesenen Werts
int ReglerWert;
// Potentiometer am Anschluss 34
int REGLER = 34;
// LED am Anschluss 23
int LED = 23;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
// Wert des Potentiometers lesen
ReglerWert = analogRead(REGLER);
// LED einschalten
digitalWrite(LED, HIGH);
// LED für die Dauer des gelesenen Werts eingeschaltet lassen
delay(ReglerWert);
// LED ausschalten
digitalWrite(LED, LOW);
// LED für die Dauer des gelesenen Werts ausgeschaltet lassen
delay(ReglerWert);
}
NodeMCU
// speichern des am Anschluss A0 gelesenen Werts
int ReglerWert;
// Potentiometer am Anschluss A0
int REGLER = A0;
// LED am Anschluss D1
int LED = D1;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
// Wert des Potentiometers lesen
ReglerWert = analogRead(REGLER);
// LED einschalten
digitalWrite(LED, HIGH);
// LED für die Dauer des gelesenen Werts eingeschaltet lassen
delay(ReglerWert);
// LED ausschalten
digitalWrite(LED, LOW);
// LED für die Dauer des gelesenen Werts ausgeschaltet lassen
delay(ReglerWert);
}
Funduino - Dein Onlineshop für Mikroelektronik
-
Dauerhaft bis zu 10% Rabatt für Schüler, Studenten und Lehrkräfte
-
Mehr als 3.500 Artikel sofort verfügbar!
-
Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.
SALE