Wie schließt man ein Potentiometer (Poti) an einem Arduino an und wie ließt man den Wert aus? Hier zeige ich wie man mit analogRead() ein Potentiometer ansteuern kann.

Potentiometer sind um Grunde verstellbare Widerstände. Es gibt sie in vielen Formen, sie funktionieren aber alle mehr oder weniger auf die selbe Art. Sie werden an einem positiven, einem negativen und einem analogen Pin angeschlossen. Je nach dem, wie weit ihr das Potentiometer aufdreht wird entweder mehr oder weniger Strom zum mittleren (analogen Eingangspin ) fließen. Der Arduino besitzt die Funktion diesen Eingangsstrom zu messen. Dies passiert über analogRead(PIN).

Der Versuch erklärt wie man das Potentiometer anschließt und wie man die Daten verwenden kann. Im Bild unten ist die Anschlussweise abgebildet.

A0 ist in dem Fall unser analoger Eingang an dem gemessen wird. Es ist zu beachten, dass der mittlere Pin des Potentiometers an einem Eingang angeschlossen wird, sonst ist der Poti unter Umständen kaputt. Wenn die Verkabelung erledigt ist, geht’s zum Sketch.

 int pot1 = A0; //hier legen wir unseren Pin zur Messung fest
 int pot1_wert = 0; //wir setzen den Wert vor der Messung auf 0

 void setup() {
   Serial.begin(9600); // Starte Serialmonitor
 }

 void loop() {
   pot1_wert = analogRead(pot1); // wir legen fest, dass die Variable pot1_wert für uns den Wert des Potis speichert
   Serial.print("P1 = "); // Der Serialmonitor soll vor dem Wert des ersten Potis "P1 =" anzeigen, fals wir mehrere Potis anschließen wollen
   Serial.println(pot1_wert); // Nun wird der Wert ausgegeben und die Zeile des Serialmonitors beendet.
   delay(100); // Zwischen jeder Messung wird jetzt eine Pause von 100ms eingelegt
 }

Der ausgegebene Wert liegt zwischen 0 und 1023. Wenn wir daraus Prozentangaben machen möchten, müssen wir die Werte skalieren. Dies geschieht über “pot1_wert = map(pot1_wert, 0, 1023, 0, 100);” vor der Ausgabe an den Serialmonitor. Der Fertige Code sieht folgendermaßen aus:

int pot1 = A0; //hier legen wir unseren Pin zur Messung fest
 int pot1_wert = 0; //wir setzen den Wert vor der Messung auf 0

 void setup() {
   Serial.begin(9600); // Starte Serialmonitor
 }

 void loop() {
   pot1_wert = analogRead(pot1); // wir legen fest, dass die Variable pot1_wert für uns den Wert des Potis speichert
   pot1_wert = map(pot1_wert, 0, 1023, 0, 100); // Skalierung der Werte von 0-1023 auf 0-100.
   Serial.print("P1 = "); // Der Serialmonitor soll vor dem Wert des ersten Potis "P1 =" anzeigen, fals wir mehrere Potis anschließen wollen
   Serial.println(pot1_wert); // Nun wird der Wert ausgegeben und die Zeile des Serialmonitors beendet.
   delay(100); // Zwischen jeder Messung wird jetzt eine Pause von 100ms eingelegt
 }

Quellen:

https://funduino.de/nr-7-potentiometer
https://www.arduino.cc/en/tutorial/potentiometer
https://codingworld.io/project/potentiometer-am-arduino

Von geekduino

Kontakt: info@geekduino.de