Nr.09 Potentiometer

Inhaltsverzeichnis

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.

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 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