Arduino Tutorial: Potentiometer

 

Bevor wir ein Potentiometer definieren, schauen wir uns kurz an, was ein Widerstand ist. Ein Widerstand ist ein grundlegendes elektrisches Element mit zwei Anschlüssen, das dem elektrischen Stromfluss widersteht, wenn eine Spannung zwischen den beiden Anschlüssen angelegt wird. Der Wert des Widerstands bestimmt, wie viel Strom in Abhängigkeit von der an den Anschlüssen anliegenden Spannung fließt, und wird durch das Ohmsche Gesetz als I = V / R angegeben.

Stellen Sie sich vor, es gibt eine Möglichkeit, dem Widerstand einen dritten Anschluss hinzuzufügen, der umherbewegt werden kann. Durch Hinzufügen eines beweglichen dritten Anschlusses wird der Widerstand in ein Potentiometer umgewandelt. Daher kann ein Potentiometer als ein Widerstand mit drei Anschlüssen mit einem variablen oder beweglichen Kontakt definiert werden, der eine Spannung in zwei Teile teilt.

 

Zwei Arten von Potentiometer

Unterschieden werden kann zwischen linearen und rotierenden Potentiometer.

Der Unterschied zwischen den beiden liegt im mechanischen Aufbau des Potentiometers. Ein Potentiometer besteht aus vier Hauptkomponenten: zwei festen Klemmen, einer beweglichen Klemme (Wischer genannt), einem Widerstandsstreifen oder einer Widerstandsspur und dem Gehäuse.
Sowohl für das lineare als auch für das Drehpotentiometer gleitet der dritte Anschluss oder Wischer über das Widerstandselement und abhängig von der Position des Wischers ändert sich die Ausgangsspannung.

Der einzige Unterschied zwischen den beiden Arten von Potentiometern besteht darin, dass bei einem linearen Potentiometer der Widerstandsstreifen auf einer geraden Spur angeordnet ist, während bei einem Drehpotentiometer der Widerstandsstreifen auf einer Kreisbahn angeordnet ist.

 

Arduino-Beispiel: Lesen eines Potentiometers (analoger Eingang)

Ein Potentiometer ist ein einfacher Regler, der einen variablen Widerstand liefert, den wir als Analogwert in das Arduino-Board einlesen können. In diesem Beispiel steuert dieser Wert die Rate bzw. Geschwindigkeit mit der eine LED blinkt.

Hierfür verbinden wir drei Drähte mit dem Arduino-Board. Der erste Draht geht von einem der äußeren Stifte des Potentiometers auf Masse (GND). Der zweite geht von 5 Volt zum anderen äußeren Stift des Potentiometers. Der dritte Draht geht vom analogen Eingang 2 zum mittleren Pin des Potentiometers.

Durch Drehen der Welle des Potentiometers ändern wir den Widerstandswert auf beiden Seiten des Wischers, der mit dem mittleren Stift des Potentiometers verbunden ist. Dadurch wird die relative "Nähe" dieses Pins auf 5 Volt und Masse geändert, wodurch wir einen anderen analogen Eingang erhalten.

Wenn die Welle ganz in eine Richtung gedreht wird, gehen 0 Volt zum Stift, und wir lesen 0. Wenn die Welle ganz in die andere Richtung gedreht wird, gehen 5 Volt zum Stift und wir lesen 1023. Dazwischen gibt analogRead () eine Zahl zwischen 0 und 1023 zurück, die proportional zu der an den Pin angelegten Spannung ist.

 

Arduino Code: 

/* Analog Read to LED
* ------------------
*
* turns on and off a light emitting diode(LED) connected to digital
* pin 13. The amount of time the LED will be on and off depends on
* the value obtained by analogRead(). In the easiest case we connect
* a potentiometer to analog pin 2.
*
* Created 1 December 2005
* copyleft 2005 DojoDave <http://www.0j0.org>
* http://arduino.berlios.de
*
*/
int potPin = 2; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int val = 0; // variable to store the value coming from the sensor
void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT
}
void loop() {
val = analogRead(potPin); // read the value from the sensor
digitalWrite(ledPin, HIGH); // turn the ledPin on
delay(val); // stop the program for some time
digitalWrite(ledPin, LOW); // turn the ledPin off
delay(val); // stop the program for some time
}

Passend dazu

panel-mount-10k-potentiometer_600x600.jpgpanel-mount-10k-potentiometer-01_600x600.jpg
Adafruit Panel Mount 10K potentiometer (Breadboard Friendly) - 10K Linear
Sonderpreis1,10 €
Nicht auf Lager, mit Lieferzeit bestellbar

Passend zu diesem Artikel

View all
breadboard-friendly-spdt-slide-switch-02_600x600.jpgbreadboard-friendly-spdt-slide-switch-01_600x600.jpg
Adafruit Breadboard-friendly SPDT Slide Switch
Sonderpreis1,10 €
Auf Lager
10597-01_600x600.jpgaction_shot-01_919_2_600x600.jpg
Sparkfun Clear Plastic Knob
Sonderpreis0,52 €
Auf Lager, 46 Stück
tactile-button-switch-6mm-x-20-pack-02_600x600.jpgtactile-button-switch-6mm-x-20-pack-03_600x600.jpg
Adafruit Tactile Button switch (6mm) x 20 pack
Sonderpreis3,30 €
Auf Lager
rocker-switch-3-pin-spdt-10a_600x600.jpg
Pololu Rocker Switch: 3-Pin, SPDT, 10A
Sonderpreis0,93 €
Auf Lager
00097-03-l_600x600.jpg00097-01-l_600x600.jpg
Sparkfun Mini Push Button Switch (20-Pack)
Sonderpreis3,75 €
Auf Lager, 5 Stück
on-off-power-button-pushbutton-toggle-switch-08_600x600.jpgon-off-power-button-pushbutton-toggle-switchdims_600x600.jpg
Adafruit On-Off Power Button / Pushbutton Toggle Switch
Sonderpreis2,21 €
Nicht auf Lager, mit Lieferzeit bestellbar
psp-2-axis-analog-thumb-joystick-05_600x600.jpgpsp-2-axis-analog-thumb-joystick-07_600x600.jpg
Adafruit PSP 2-Axis Analog Thumb Joystick
Sonderpreis4,41 €
Auf Lager