Potentiometer

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

Arduino UNO
Board installieren

Wemos D1 Mini
Board installieren

ESP32-Wroom
Board installieren

NodeMCU
Board installieren

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.


Zu unserem Onlineshop

SALE