Nr.13 – Schieberegler

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.

Material: Arduino Mikrocontrollerboard / ein Schieberegler (auch Schiebepotentiometer oder Fader genannt) / Breadboard / Drei Breadboardkabel

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 mit Hilfe 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 an gehen etc.)

Foto vom Aufbau

Der Sketch

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