Nr.15 – Schieberegler

Inhaltsverzeichnis

Schieberegler / Schiebe-Potentiometer auslesen und die Werte zum Regeln der Blinkgeschwindigkeit einer LED verwenden

Aufgabe: Eine LED soll blinken. Die Blinkgeschwindigkeit soll mit einem Schieberegler eingestellt werden.

Ein Schieberegler hat drei oder noch mehr Pins. Zwei davon werden für die Spannungsversorgung (+ und -) verwendet. Von dem weiteren Pin geht ein Kabel zu einem analogen Eingangspin am Mikrocontroller-Board. Wenn man den Regler verschiebt, dann gibt der dritte Pin eine Spannung zwischen 0 und der Versorgungsspannung aus. In unserem Fall also zwischen 0 und 5 Volt. Ist der Schieberegler ganz links: 0 V und Schieberegler ganz rechts: 5V, bzw. Seitenverkehrt, je nach Verkabelung (+ und – können vertauscht werden).

Als LED, die blinken soll, verwenden wir zur Vereinfachung des Aufbaus die LED, die mit Pin13 am Mikrocontroller befestigt ist. Zusätzlich werden wir uns in diesem Sketch mithilfe des serial monitor die Sensorwerte anzeigen lassen, die der Mikrocontroller vom Schieberegler ausliest. Diese Werte können später sehr wichtig sein, wenn man in Abhängigkeit der Position des Schiebereglers weitere Funktionen programmieren möchte. (Beispiel: Ab der Hälfte des verschobenen Reglers soll eine rote LED angehen etc.)

Der Schaltplan

Versuchsaufbau - Linearpotentiometer "Schiebepotentiometer" am Funduino UNO R3

Der Programmcode

int eingang= A0; // Port A0 wird nun mit dem Wort "eingang" gleichgesetzt
int sensorwert = 0; // "sensorwert" wird als Variable für den Wert des Schiebereglers verwendet

void setup()
{
pinMode (13, OUTPUT); // Pin 13 wrd als Ausgang festgelegt, damit die dort angeschlossene LED genutzt werden kann
Serial.begin (9600); // Starten der Datenverbindung zum serial monitor
}

void loop()
{
sensorwert =analogRead(eingang); //Der Wert des Schiebereglers wird ausgelesen und unter der Variable "sensorwert" gespeichert
Serial.println (sensorwert); // Der Wert wird an den serial Monitor übermittelt
digitalWrite (13, HIGH); // Einschalten der LED an Pin13
delay (sensorwert); // LED leuchtet für die Dauer des Sensorwerts (in millisekunden)
digitalWrite (13, LOW); // Ausschalten der LED an Pin13
delay (sensorwert); // LED bleibt für die Dauer des Sensorwerts aus (in millisekunden)
}

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