Spisu treści:

PWM z ESP32 - Ściemnianie LED Z PWM na ESP 32 Z Arduino IDE: 6 kroków
PWM z ESP32 - Ściemnianie LED Z PWM na ESP 32 Z Arduino IDE: 6 kroków

Wideo: PWM z ESP32 - Ściemnianie LED Z PWM na ESP 32 Z Arduino IDE: 6 kroków

Wideo: PWM z ESP32 - Ściemnianie LED Z PWM na ESP 32 Z Arduino IDE: 6 kroków
Wideo: Dimmer or speed controller controlled by ESP32 2024, Lipiec
Anonim
PWM z ESP32 | Ściemnianie LED z PWM na ESP 32 z Arduino IDE
PWM z ESP32 | Ściemnianie LED z PWM na ESP 32 z Arduino IDE

W tej instrukcji zobaczymy, jak generować sygnały PWM za pomocą ESP32 za pomocą Arduino IDE i PWM jest w zasadzie używane do generowania wyjścia analogowego z dowolnego MCU, a to wyjście analogowe może wynosić od 0 V do 3,3 V (w przypadku esp32) i od 0 V do 5V (w przypadku arduino uno) i te sygnały PWM (wyjście analogowe) służą do ściemniania (wyjście zmienne, świecenie diody z różną jasnością) diody LED.

Krok 1: Rzeczy, których potrzebujesz

Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz
Rzeczy, których potrzebujesz

Do tego samouczka potrzebne będą następujące rzeczy: ESP32

Rezystory 220 omów

Kolorowa dioda led

płytka do krojenia chleba

Kilka skoczków

Krok 2: Zrozumienie PWM na ESP32

Zrozumienie PWM w ESP32
Zrozumienie PWM w ESP32

ESP32 ma 16-kanałowy kontroler PWM, a te 16 kanałów jest niezależnych i można je niezależnie skonfigurować, aby uzyskać sygnały PWM o różnych właściwościach dla różnych wymagań. Przed przejściem przez kod i cały proces musisz wiedzieć następujące rzeczy: >> jest 16 (0 do 15) Kanały pwm w ESP32. Musisz wybrać swój kanał PWM.>>Następnie musimy wybrać częstotliwość dla PWM, możemy ustawić 5000hz.>>Tutaj mamy rozdzielczość od 1 do 16 bitów w ESP32, ale w tym samouczku wybierzemy tylko 8 bitów co oznacza, że jasność będzie kontrolowana wartościami od 0 do 255.>>Musisz ustawić diodę LED na PWM, aby to zrobić, musisz użyć następującej linii kodu, w tym musisz wspomnieć o kanale led (używamy kanału 0 ESP32) używasz do PWM i freq to częstotliwość (używamy 5000 Hz) PWM i rozdzielczość, której używasz (używamy rozdzielczości 8bit). ledcSetup (ledChannel, freq, resolution); Wartości w naszym przypadku: const int freq = 5000; const int ledChannel = 0; const int resolution = 8;>> następnie wspomnij, który pin LED potrzebujesz, używając następującego polecenia: ledcAttachPin(ledPin, ledChannel);- tutaj ledPin to pin nr. Który będziemy używać & ledChannel to kanał, który musimy wybrać dla PWM.5. Na koniec, aby kontrolować jasność LED za pomocą PWM, użyj następującej funkcji:>> główną ważną częścią kodu będzie następujące polecenie, które zapisze wyjście analogowe do pinu LED: ledcWrite(ledChannel, dutycycle); to powyższe polecenie potrzebuje „ledChannel” i „dutyCycle”, gdzie kanał to numer kanału, którego będziemy używać, a cykl pracy to wartość, którą zapisujemy jako wyjście na pin LED.

Krok 3: Połączenia

Znajomości
Znajomości

Część łącząca jest bardzo łatwa. Musisz podłączyć diodę LED z rezystorem do GPIO16, jak pokazano w schmatics.

Krok 4: Zainstaluj ESP32 BOARDS w Arduino IDE

Zainstaluj ESP32 BOARDS w Arduino IDE
Zainstaluj ESP32 BOARDS w Arduino IDE

Upewnij się, że masz Arduino IDE na swoim komputerze i zainstalowałeś płyty ESP32 w swoim Arduino IDE, a jeśli tak nie jest, postępuj zgodnie z poniższymi instrukcjami, aby je zainstalować.:

Krok 5: Kod

Kod
Kod

Skopiuj poniższy kod i prześlij go do swojego ESP32: // numer diody pinconst int ledPin = 16; // 16 odpowiada GPIO16// ustawienie PWM propertiesconst int freq = 5000;const int ledChannel = 0;const int resolution = 8;void setup(){ // skonfiguruj funkcje LED PWM ledcSetup(ledChannel, freq, resolution); // podłącz kanał do GPIO, który ma być kontrolowany ledcAttachPin(ledPin, ledChannel);}void loop(){ // zwiększ jasność LED for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){ // zmiana LED jasność dzięki ledcWrite PWM (ledChannel, dutyCycle); opóźnienie(15); } // zmniejszenie jasności LED for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){ // zmiana jasności LED za pomocą PWM ledcWrite(ledChannel, dutyCycle); opóźnienie(15); }}

Krok 6: Testowanie funkcjonalności PWM

Testowanie funkcjonalności PWM
Testowanie funkcjonalności PWM

Po przesłaniu kodu zobaczysz, jak zmienia się intensywność diod LED, co prowadzi nas do końca tej instrukcji. Baw się dobrze, używając PWM z ESP32 w swoich projektach.

Zalecana: