Pretraži kod

ESP32 Tutorijal 23/55 - Čitanje napona potenciometra koristeći ESP32 | SunFounder-ov ESP32 IoT komplet

ESP32 Tutorijal 23/55 - Čitanje napona potenciometra koristeći ESP32 | SunFounder-ov ESP32 IoT komplet

U ovom tutorijalu naučit ćemo kako izmjeriti istosmjerni napon s potenciometra koristeći ESP32 modul kompanije SunFounder. Projekat će također demonstrirati kako prigušiti LED diodu na osnovu položaja potenciometra. Dok okrećete potenciometar u smjeru suprotnom od kazaljke na satu, očitanje napona se smanjuje i LED dioda se u skladu s tim prigušuje. Ova vježba će pružiti praktično razumijevanje korištenja analogno-digitalnog pretvarača (ADC) u ESP32 modulu.

potenciometar
Potenciometar ili promjenjivi otpornik
Potenciometar ili promjenjivi otpornik

ESP32 je moćan mikrokontroler opremljen ugrađenim Wi-Fi i Bluetooth mogućnostima, što ga čini idealnim za IoT projekte. U ovom tutorijalu koristit ćemo njegove analogne ulazne funkcije za očitavanje nivoa napona s potenciometra, dok ćemo također kontrolirati svjetlinu LED diode na osnovu tih očitanja. Rezultat će biti responzivna LED dioda koja mijenja svoj intenzitet dok podešavate potenciometar.

Objašnjenje hardvera

Za ovaj projekat trebat će nam sljedeće komponente:

  • ESP32 modul: Glavni mikrokontroler koji će očitavati napon potenciometra i kontrolirati LED diodu.
  • Potenciometar: Promjenjivi otpornik koji se koristi za podešavanje napona. Ima tri pina: dva za fiksne otpornike i jedan koji se mijenja.
  • LED dioda: Svetleća dioda čija će svjetlina biti kontrolirana na osnovu položaja potenciometra.
  • Otpornik: Otpornik od 220 oma za ograničavanje struje kroz LED diodu.

Potenciometar radi tako što mijenja otpor između svojih pinova, omogućavajući generiranje napona koji ESP32 može očitati putem svog ADC-a. Svjetlina LED diode kontrolira se pomoću pulsno-širinske modulacije (PWM) kako bi se prilagodila snaga koja se isporučuje na osnovu analognog očitanja.

Detalji iz tehničke dokumentacije

Upute za povezivanje

ESP32-23-fading-LED_pot-wiring

Za povezivanje komponenti, počnite spajanjem potenciometra. Spojite jedan od njegovih vanjskih pinova na napajanje od 3.3V na ESP32 modulu. Spojite drugi vanjski pin na uzemljenje (GND). Srednji pin potenciometra spojit će se na pin 35 na ESP32 modulu, koji se koristi za očitavanje analognog napona.

Zatim, za LED diodu, spojite duži pin (anodu) na pin 26 na ESP32 modulu kroz otpornik od 220 oma. Spojite kraći pin (katodu) LED diode na uzemljenje. Provjerite da su svi spojevi sigurni i dvaput provjerite orijentaciju LED diode kako biste spriječili oštećenje.

Potentiometer or variable resistor

Primjeri koda i objašnjenje

Sljedeći isječak koda pokazuje kako postaviti ESP32 za očitavanje potenciometra i kontrolu LED diode:

const int potPin = 35; // Potenciometar spojen na
const int ledPin = 26; // LED dioda spojena na

// PWM postavke
const int freq = 5000; // PWM frekvencija
const int resolution = 12; // PWM rezolucija (bitovi)

U ovom izvatku definiramo pinove za potenciometar i LED diodu. PWM frekvencija i rezolucija su također postavljene, što će odrediti nivoe svjetline LED diode.

Zatim ćemo inicijalizirati postavke:

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

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

U setup funkciji inicijaliziramo serijsku komunikaciju i konfiguriramo PWM postavke za LED diodu. Ova postavka se pokreće jednom kada program počne.

Konačno, loop funkcija kontinuirano očitava vrijednost potenciometra i podešava svjetlinu LED diode:

void loop() {
  int potValue = analogRead(potPin); // očitaj vrijednost potenciometra
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Očitaj napon u milivoltima

  ledcWrite(ledPin, potValue);
  // Serijski izlaz izostavljen radi kratkoće
}

U loop funkciji očitavamo analognu vrijednost s potenciometra i pretvaramo je u kontrolu svjetline LED diode. Serijski izlaz prikazuje vrijednost potenciometra i napon, pomažući u provjeri očitanja.

Demonstracija / Šta očekivati

Kada je krug pravilno postavljen i kod je učitan, okretanje potenciometra trebalo bi rezultirati odgovarajućom promjenom očitanja napona prikazanog u serijskom monitoru. LED dioda bi trebala glatko blijedjeti i jačati dok se potenciometar podešava. Ako LED dioda ne reagira kako se očekuje, provjerite spojeve i uvjerite se da potenciometar ispravno funkcionira (u videu na 11:30).

Vremenske oznake videa

  • 00:00 Početak
  • 2:02 Šta je potenciometar
  • 4:15 Mjerenje otpora potenciometra
  • 6:59 Stranica dokumentacije
  • 8:56 Objašnjeno povezivanje
  • 12:28 Objašnjen Arduino kod
  • 15:58 Odabir ESP32 ploče i COM porta u Arduino IDE
  • 17:40 Demonstracija očitavanja vrijednosti potenciometra s ESP32

Slike

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

Resursi i reference

Datoteke📁

Nema dostupnih datoteka.