Hľadať kód

Návod pre ESP32 23/55 - Čítanie napätia potenciometra pomocou ESP32 | SunFounder's ESP32 IoT kit

Návod pre ESP32 23/55 - Čítanie napätia potenciometra pomocou ESP32 | SunFounder's ESP32 IoT kit

V tomto návode sa naučíme, ako merať jednosmerné napätie z potenciometra pomocou modulu ESP32 od spoločnosti SunFounder. Projekt tiež ukáže, ako stmievať LED diódu na základe polohy potenciometra. Keď potenciometrom otáčate proti smeru hodinových ručičiek, hodnota napätia klesá a LED dióda sa zodpovedajúcim spôsobom stmieva. Toto cvičenie poskytne praktické pochopenie používania analógovo-digitálneho prevodníka (ADC) v ESP32.

potenciometer
Potenciometer alebo premenný odpor
Potenciometer alebo premenný odpor

ESP32 je výkonný mikrokontrolér vybavený vstavanými funkciami Wi-Fi a Bluetooth, vďaka čomu je ideálny pre projekty IoT. V tomto návode využijeme jeho analógové vstupné funkcie na čítanie úrovní napätia z potenciometra, pričom zároveň budeme riadiť jas LED diódy na základe týchto hodnôt. Výsledkom bude citlivá LED dióda, ktorá mení svoju intenzitu pri nastavovaní potenciometra.

Vysvetlenie hardvéru

Pre tento projekt budeme potrebovať nasledujúce komponenty:

  • Modul ESP32: Hlavný mikrokontrolér, ktorý bude čítať napätie z potenciometra a riadiť LED diódu.
  • Potenciometer: Premenný odpor používaný na nastavenie napätia. Má tri vývody: dva pre pevné odpory a jeden, ktorý sa mení.
  • LED dióda: Svetelná dióda, ktorej jas bude riadený na základe polohy potenciometra.
  • Rezistor: 220-ohmový rezistor na obmedzenie prúdu cez LED diódu.

Potenciometer funguje tak, že mení odpor medzi svojimi vývodmi, čo mu umožňuje generovať napätie, ktoré ESP32 dokáže čítať cez svoj ADC. Jas LED diódy je riadený pomocou pulznej šírkovej modulácie (PWM) na úpravu výkonu, ktorý sa jej dodáva na základe analógovej hodnoty.

Podrobnosti z katalógového listu

Pokyny na zapojenie

ESP32-23-fading-LED_pot-wiring

Na zapojenie komponentov začnite pripojením potenciometra. Pripojte jeden z jeho krajných vývodov k napájaniu 3,3 V na ESP32. Druhý krajný vývod pripojte k zemi (GND). Stredný vývod potenciometra sa pripojí na pin 35 na ESP32, ktorý sa používa na čítanie analógového napätia.

Ďalej, pre LED diódu, pripojte dlhší vývod (anódu) na pin 26 na ESP32 cez 220-ohmový rezistor. Kratší vývod (katódu) LED diódy pripojte na zem. Uistite sa, že všetky spojenia sú bezpečné a skontrolujte orientáciu LED diódy, aby ste predišli poškodeniu.

Potentiometer or variable resistor

Príklady kódu a vysvetlenie

Nasledujúci úryvok kódu ukazuje, ako nastaviť ESP32 na čítanie potenciometra a riadenie LED diódy:

const int potPin = 35; // Potenciometer pripojený na
const int ledPin = 26; // LED dióda pripojená na

// Nastavenia PWM
const int freq = 5000; // Frekvencia PWM
const int resolution = 12; // Rozlíšenie PWM (bity)

V tomto úryvku definujeme piny pre potenciometer a LED diódu. Frekvencia a rozlíšenie PWM sú tiež nastavené, čo určí úrovne jasu LED diódy.

Ďalej inicializujeme nastavenie:

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

  // Konfigurácia PWM
  ledcAttach(ledPin, freq, resolution);
}

Vo funkcii setup inicializujeme sériovú komunikáciu a nakonfigurujeme nastavenia PWM pre LED diódu. Toto nastavenie sa spustí raz, keď sa program spustí.

Nakoniec funkcia loop nepretržite číta hodnotu potenciometra a upravuje jas LED diódy:

void loop() {
  int potValue = analogRead(potPin); // prečítajte hodnotu potenciometra
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Prečítajte napätie v milivoltoch

  ledcWrite(ledPin, potValue);
  // Sériový výstup vynechaný kvôli stručnosti
}

V slučke čítame analógovú hodnotu z potenciometra a prevádzame ju na riadenie jasu LED diódy. Sériový výstup zobrazuje hodnotu potenciometra a napätie, čo pomáha overiť hodnoty.

Demonštrácia / Čo očakávať

Keď je obvod správne zapojený a kód je nahraný, otáčanie potenciometra by malo viesť k zodpovedajúcej zmene hodnoty napätia zobrazenej v sériovom monitore. LED dióda by mala plynulo stmievať a rozsvecovať sa pri nastavovaní potenciometra. Ak LED dióda nereaguje podľa očakávania, skontrolujte zapojenie a uistite sa, že potenciometer funguje správne (vo videu o 11:30).

Časové značky videa

  • 00:00 Začiatok
  • 2:02 Čo je potenciometer
  • 4:15 Meranie odporu potenciometra
  • 6:59 Dokumentačná stránka
  • 8:56 Vysvetlenie zapojenia
  • 12:28 Vysvetlenie kódu Arduino
  • 15:58 Výber dosky ESP32 a COM portu v Arduino IDE
  • 17:40 Demonštrácia čítania hodnoty potenciometra s ESP32

Obrázky

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
Jazyk: 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);
}

Zdroje a referencie

Súbory📁

Žiadne súbory nie sú k dispozícii.