Arduino UNO R4 - Potentiometer

Dieses Tutorial zeigt Ihnen, wie Sie den Arduino Uno R4 mit einem Potentiometer verwenden. Im Detail werden wir lernen:

Arduino UNO R4 Potentiometer

Über Potentiometer

Ein Drehpotentiometer, auch bekannt als Drehwinkel-Sensor, wird verwendet, um Einstellungen wie die Stereo-Lautstärke, die Lampenhelligkeit oder die Zoomstufe des Oszilloskops manuell zu ändern.

Potentiometer-Pinbelegung

Pinbelegung

Ein Potentiometer hat typischerweise drei Anschlüsse.

  • GND-Pin: mit GND (0 V) verbinden
  • VCC-Pin: mit VCC (5 V oder 3,3 V) verbinden
  • Ausgangspin: sendet Spannung an den Eingangspin des Arduino UNO R4
Potentiometer-Pinbelegung

※ Notiz:

Der GND-Pin und der VCC-Pin können vertauscht werden.

Wie es funktioniert

Die Welle des Potentiometers kann sich von 0° (am nächsten zur Masse) bis zu einem maximalen Winkel drehen (am nächsten zum VCC-Pin) und wird ANGLE_MAX genannt.

Die Spannung am Ausgangspin variiert von der Spannung am GND bis zur Spannung am VCC. Die Ausgangsspannung ändert sich direkt mit dem Winkel, um den die Welle gedreht wird.

  • Wenn der Winkel 0° beträgt, liegt die Spannung am Ausgangspin bei 0 Volt.
  • Wenn der Winkel ANGLE_MAX beträgt, entspricht die Spannung am Ausgangspin der VCC-Spannung.
  • Wenn der Winkel zwischen 0° und ANGLE_MAX liegt, output_voltage = angle × VCC / ANGLE_MAX

※ Notiz:

Der Wert von ANGLE_MAX variiert je nach Hersteller. In der Regel schenken wir dem Wert von ANGLE_MAX nicht viel Beachtung, es sei denn, wir müssen den Rotationswinkel berechnen (siehe Abschnitt Anwendungsfälle).

Wie ein Potentiometer funktioniert

Arduino UNO R4 - Drehpotentiometer

Die Pins A0 bis A5 des Arduino UNO R4 können als analoge Eingänge eingerichtet werden. Diese Pins wandeln die Spannung, die sich im Bereich von 0 Volt bis VCC befindet, in Ganzzahlen zwischen 0 und 1023 um. Diese Werte werden als ADC-Werte oder analoge Werte bezeichnet.

Indem wir den Ausgangspin eines Potenziometers mit einem analogen Eingangspin des Arduino UNO R4 verbinden, können wir den Arduino so programmieren, dass er den ADC-Wert liest und in eine nützliche Zahl umwandelt.

Der vom Arduino UNO R4 empfangene Wert ist weder ein Winkel noch eine Spannung; es handelt sich um eine Ganzzahl, die von 0 bis 1023 reicht.

Wir nehmen die Zahl vom analogen Eingangspin und wandeln sie in eine andere Zahl um. Jetzt schauen wir, wie sie verwendet wird.

Anwendungsfälle

  • Den ADC-Wert in den Winkel umrechnen.
  • Den ADC-Wert in die Spannung umrechnen.
  • Den ADC-Wert in einen steuerbaren Wert umrechnen (z. B. die Lautstärke eines Stereos, die Helligkeit oder die Motordrehzahl). Dies ist der am häufigsten verwendete Anwendungsfall.

Bereich neu skalieren

FROM TO
Anglerotated by userANGLE_MAX
Voltagefrom potentiometer's pin 0VVCC
ADC valueread by Arduino UNO R4 01023
Other valueconverted by Arduino UNO R4 VALUE_MINVALUE_MAX

Verdrahtungsdiagramm

Arduino UNO R4 Potentiometer-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Wie man ein Potentiometer programmiert

  • Verwende die Funktion analogRead(), um den Wert von einem Pin zu lesen, der mit dem Ausgangspin des Potentiometers verbunden ist.
adc_value = analogRead(A0);
  • Wandle den ADC-Wert in den Winkel des Potentiometers um, indem du die map()-Funktion verwendest.
angle = map(adc_value, 0, 1023, 0, ANGLE_MAX);
  • Konvertieren Sie den ADC-Wert in die Spannung:
voltage = map(adc_value, 0, 1023, 0, VCC);
  • Wandle den ADC-Wert in eine handhabbare Stufe um (zum Beispiel die Lautstärke des Stereos, die Helligkeit oder die Drehzahl des Gleichstrommotors).
value = map(adc_value, 0, 1023, VALUE_MIN, VALUE_MAX);
  • Zum Beispiel das Dimmen einer LED. Die Helligkeit einer LED kann mit einem PWM-Wert von 0 (immer AUS) bis 255 (immer AN) gesteuert werden. Daher können wir den ADC-Wert der LED-Helligkeit (von AUS bis zur höchsten Helligkeit) wie folgt zuordnen:
brightness = map(adc_value, 0, 1023, 0, 255);

※ Notiz:

Die Funktion map() wird verwendet, um einen analogen Wert in entweder einen int- oder long-Typwert zu ändern. Wenn du mit einem float-Typwert arbeiten musst, solltest du stattdessen die Funktion floatMap() verwenden.

Die floatMap()-Funktion:

float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }

Arduino UNO R4 Programmcode

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-r4/arduino-uno-r4-potentiometer */ float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { // Wandelt einen Fließkommawert von einem Bereich in einen anderen um. return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void setup() { // Serielle Kommunikation mit einer Baudrate von 9600 starten: Serial.begin(9600); } void loop() { // Analogen Wert vom Pin A0 abrufen: int adc_value = analogRead(A0); // Wandelt den analogen Wert in eine Spannung um (Bereich 0-5V): float voltage = floatMap(adc_value, 0, 1023, 0, 5); // Gibt den analogen Wert und die entsprechende Spannung auf dem seriellen Monitor aus: Serial.print("Analog: "); Serial.print(adc_value); Serial.print(", Voltage: "); Serial.println(voltage); // Warte eine Sekunde, bevor die Schleife erneut durchlaufen wird: delay(1000); }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE (BASE_URL/tutorials/arduino-uno-r4/arduino-uno-r4-software-installation).
  • Schließen Sie das Potentiometer gemäß dem bereitgestellten Diagramm an den Arduino Uno R4 an.
  • Schließen Sie das Arduino Uno R4-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 WiFi) und COM-Port aus.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf Arduino UNO R4 hochzuladen.
Arduino IDE Code hochladen
  • Öffne den seriellen Monitor.
  • Drehe am Potentiometer.
  • Überprüfe den Serial Monitor auf das Ergebnis.
COM6
Send
Analog: 0, Voltage: 0.00 Analog: 0, Voltage: 0.00 Analog: 126, Voltage: 0.62 Analog: 281, Voltage: 1.37 Analog: 517, Voltage: 2.53 Analog: 754, Voltage: 3.69 Analog: 906, Voltage: 4.43 Analog: 1023, Voltage: 5.00 Analog: 1023, Voltage: 5.00
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

Funktionsreferenzen

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!