Soek Kode

ESP32 Tutoriaal 23/55 - Lees spanning van potensiometer met ESP32 | SunFounder se ESP32 IoT-kit

ESP32 Tutoriaal 23/55 - Lees spanning van potensiometer met ESP32 | SunFounder se ESP32 IoT-kit

In hierdie tutoriaal gaan ons leer hoe om die GS-spanning van 'n potensiometer te meet deur die ESP32-module van SunFounder te gebruik. Die projek sal ook demonstreer hoe om 'n LED te verdof op grond van die potensiometer se posisie. Soos jy die potensiometer antikloksgewys draai, neem die spanningslesing af en verdof die LED dienooreenkomstig. Hierdie oefening sal 'n praktiese begrip verskaf van die gebruik van die analoog-na-digitaal-omsetter (ADC) in die ESP32.

potensiometer
Potensiometer of verstelbare weerstand
Potensiometer of verstelbare weerstand

Die ESP32 is 'n kragtige mikrobeheerder met ingeboude Wi-Fi- en Bluetooth-vermoëns, wat dit ideaal maak vir IoT-projekte. In hierdie tutoriaal gaan ons sy analoog-insetfunksies gebruik om spanningsvlakke van 'n potensiometer te lees, terwyl ons ook 'n LED se helderheid beheer op grond van hierdie lesings. Die uitkoms sal 'n responsiewe LED wees wat sy intensiteit verander soos jy die potensiometer aanpas.

Hardeware Verduidelik

Vir hierdie projek sal ons die volgende komponente benodig:

  • ESP32-module: Die hoofmikrobeheerder wat die potensiometer se spanning sal lees en die LED beheer.
  • Potensiometer: 'n Verstelbare weerstand wat gebruik word om die spanning aan te pas. Dit het drie penne: twee vir vaste weerstande en een wat wissel.
  • LED: 'n Lig-emitterende diode waarvan die helderheid beheer sal word op grond van die potensiometer se posisie.
  • Weerstand: 'n 220-ohm-weerstand om die stroom deur die LED te beperk.

Die potensiometer werk deur die weerstand tussen sy penne te verander, wat dit toelaat om 'n spanning te genereer wat die ESP32 deur sy ADC kan lees. Die LED se helderheid word beheer deur Pulsbreedtemodulasie (PWM) te gebruik om die krag wat daaraan gelewer word aan te pas op grond van die analooglesing.

Databladbesonderhede

Bedradingsinstruksies

ESP32-23-fading-LED_pot-wiring

Om die komponente te bedraad, begin deur die potensiometer te koppel. Verbind een van sy buitenste penne aan die 3.3V-kragtoevoer op die ESP32. Verbind die ander buitenste pen aan die grond (GND). Die middelste pen van die potensiometer sal aan pen 35 op die ESP32 gekoppel word, wat gebruik word om die analoogspanning te lees.

Volgende, vir die LED, verbind die langer pen (anode) aan pen 26 op die ESP32 deur 'n 220-ohm-weerstand. Verbind die korter pen (katode) van die LED aan die grond. Maak seker dat alle verbindings veilig is en kontroleer die oriëntasie van die LED dubbel om skade te voorkom.

Potentiometer or variable resistor

Kodevoorbeelde & Deurloop

Die volgende kodestuk demonstreer hoe om die ESP32 op te stel om die potensiometer te lees en die LED te beheer:

const int potPin = 35; // Potensiometer gekoppel aan
const int ledPin = 26; // LED gekoppel aan

// PWM-instellings
const int freq = 5000; // PWM-frekwensie
const int resolution = 12; // PWM-resolusie (bis)

In hierdie uittreksel definieer ons die penne vir die potensiometer en die LED. Die PWM-frekwensie en -resolusie word ook gestel, wat die LED se helderheidsvlakke sal bepaal.

Volgende sal ons die opstelling initialiseer:

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

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

In die setup-funksie initialiseer ons die seriekommunikasie en konfigureer die PWM-instellings vir die LED. Hierdie opstelling loop een keer wanneer die program begin.

Laastens lees die loop-funksie voortdurend die potensiometerwaarde en pas die LED-helderheid aan:

void loop() {
  int potValue = analogRead(potPin); // lees die waarde van die potensiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Lees die spanning in millivolts

  ledcWrite(ledPin, potValue);
  // Serie-uitset weggelaat vir bondigheid
}

In die loop lees ons die analoogwaarde van die potensiometer en vertaal dit om die LED-helderheid te beheer. Die serie-uitset toon die potensiometerwaarde en spanning, wat help om die lesings te verifieer.

Demonstrasie / Wat om te Verwacht

Wanneer die stroombaan korrek opgestel is en die kode opgelaai is, behoort die draai van die potensiometer 'n ooreenstemmende verandering in die spanningslesing wat in die serie-monitor vertoon word, te veroorsaak. Die LED behoort glad in en uit te verdof soos die potensiometer aangepas word. As die LED nie reageer soos verwag nie, kontroleer die bedradingsverbindings en maak seker dat die potensiometer korrek funksioneer (in video by 11:30).

Video-tydstempels

  • 00:00 Begin
  • 2:02 Wat is Pot
  • 4:15 Meet die weerstand van pot
  • 6:59 Dokumentasiebladsy
  • 8:56 Bedrading verduidelik
  • 12:28 Arduino-kode verduidelik
  • 15:58 Kies ESP32-bord en COM-poort in Arduino IDE
  • 17:40 Demonstrasie van die lees van potwaarde met ESP32

Beelde

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
Taal: C++
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)

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

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

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.print("Potentiometer Value: ");
  Serial.print(potValue);
  Serial.print(", Voltage: ");
  Serial.print(voltage_mV / 1000.0); // Convert millivolts to volts
  Serial.println(" V");

  delay(100);
}

Hulpbronne en verwysings

Lêers📁

Geen lêers beskikbaar.