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.
potenciometerPotenciometer 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.
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.
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
Vyhlásenie: Ako partner Amazon zarábame na kvalifikovaných nákupoch. To znamená, že môžeme dostať malú províziu, ak kliknete na odkaz a uskutočníte nákup bez ďalších nákladov pre vás.