ESP32 Tutorial 23/55 - Spannung des Potentiometers mit dem ESP32 lesen | SunFounders ESP32 IoT Kit

ESP32 Tutorial 23/55 - Spannung des Potentiometers mit dem ESP32 lesen | SunFounders ESP32 IoT Kit

In diesem Tutorial werden wir lernen, wie man die Gleichspannung von einem Potentiometer mit dem ESP32-Modul von SunFounder misst. Das Projekt wird außerdem demonstrieren, wie man eine LED entsprechend der Position des Potentiometers dimmt. Wenn Sie das Potentiometer gegen den Uhrzeigersinn drehen, sinkt der Spannungswert und die LED verblasst entsprechend. Diese Übung bietet ein praktisches Verständnis für die Verwendung des Analog-Digital- Wandlers (ADC) im ESP32.

Potentiometer
Potentiometer oder verstellbarer Widerstand
Potentiometer oder verstellbarer Widerstand

Der ESP32 ist ein leistungsstarker Mikrocontroller mit integriertem Wi-Fi und Bluetooth-Funktionen, was ihn ideal für IoT-Projekte macht. In diesem Tutorial werden wir seine analogen Eingabefunktionen nutzen, um Spannungsebenen von einem Potentiometer zu lesen, während wir gleichzeitig die Helligkeit einer LED basierend auf diesen Messungen steuern. Das Ergebnis wird eine reaktionsfähige LED sein, die ihre Intensität entsprechend der Anpassung des Potentiometers verändert.

Hardware erklärt

Für dieses Projekt benötigen wir die folgenden Komponenten:

  • ESP32 Modul:Der Hauptmikrocontroller, der die Spannung des Potenziometers liest und die LED steuert.
  • Potentiometer:Ein variabler Widerstand, der zur Anpassung der Spannung verwendet wird. Er hat drei Anschlüsse: zwei für feste Widerstände und einen, der variabel ist.
  • LED:Eine lichtemittierende Diode, deren Helligkeit basierend auf der Position des Potenziometers gesteuert wird.
  • Widerstand:Ein 220-Ohm-Widerstand, um den Strom durch die LED zu begrenzen.

Der Potentiometer funktioniert, indem er den Widerstand zwischen seinen Anschlüssen variiert, wodurch er eine Spannung erzeugt, die der ESP32 über seinen ADC lesen kann. Die Helligkeit der LED wird mithilfe von Pulsweitenmodulation (PWM) gesteuert, um die an sie gelieferten Leistung basierend auf dem analogen Wert anzupassen.

Datenblattdetails

Verdrahtungsanleitungen

ESP32-23-fading-LED_pot-wiring

Um die Komponenten zu verkabeln, beginnen Sie mit dem Anschluss des Potenziometers. Verbinden Sie einen seiner äußeren Pins mit der 3,3V-Stromversorgung auf dem ESP32. Verbinden Sie den anderen äußeren Pin mit dem Erdungspunkt (GND). Der mittlere Pin des Potenziometers wird mit dem Pin verbunden.35auf dem ESP32, der zum Lesen der analogen Spannung verwendet wird.

Als nächstes schließen Sie den längeren Pin (Anode) an den Pin an.26am ESP32 über einen 220-Ohm-Widerstand. Verbinde den kürzeren Pin (Kathode) der LED mit dem Ground. Stelle sicher, dass alle Verbindungen sicher sind, und überprüfe die Ausrichtung der LED, um Schäden zu vermeiden.

Potentiometer or variable resistor

Codebeispiele und Schritt-für-Schritt-Anleitung

Der folgende Codeausschnitt zeigt, wie man das ESP32 einrichtet, um den Potentiometer auszulesen und die LED zu steuern:

const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

In diesem Auszug definieren wir die Pins für den Potentiometer und die LED. Die PWM-Frequenz und -Auflösung werden ebenfalls festgelegt, die die Helligkeitsstufen der LED bestimmen.

Als Nächstes werden wir die Einrichtung initialisieren:

void setup() {
  Serial.begin(115200);

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

Im Setup-Funktion initialisieren wir die serielle Kommunikation und konfigurieren die PWM-Einstellungen für die LED. Dieses Setup wird einmal ausgeführt, wenn das Programm gestartet wird.

Schließlich liest die Schleifenfunktion kontinuierlich den Wert des Potenziometers und passt die Helligkeit der LED an:

void loop() {
  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);
  // Serial output omitted for brevity
}

In der Schleife lesen wir den analogen Wert vom Potentiometer und übersetzen ihn, um die Helligkeit der LED zu steuern. Die serielle Ausgabe zeigt den Potentiometerwert und die Spannung an, was hilft, die Messwerte zu überprüfen.

Demonstration / Was zu erwarten ist

Wenn der Schaltkreis korrekt eingerichtet und der Code hochgeladen ist, sollte das Drehen des Potenziometers zu einer entsprechenden Veränderung der Spannungsanzeige im seriellen Monitor führen. Die LED sollte sanft ein- und ausgeblendet werden, während das Potenziometer angepasst wird. Wenn die LED nicht wie erwartet reagiert, überprüfen Sie die Verdrahtungsverbindungen und stellen Sie sicher, dass das Potenziometer korrekt funktioniert (im Video um 11:30).

Video-Zeitstempel

  • 00:00 Start
  • 2:02 Was ist Pot
  • 4:15 Widerstand des Potenziometers messen
  • 6:59 Dokumentationsseite
  • 8:56 Verkabelung erklärt
  • 12:28 Arduino-Code erklärt
  • 15:58 Auswahl des ESP32-Boards und des COM-Ports in der Arduino IDE
  • 17:40 Demonstration der Ablesung des Topfwerts mit ESP32

Bilder

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
Sprache: C++
Kopiert!

Ressourcen & Referenzen

Dateien📁

Keine Dateien verfügbar.