Search Code

Samouczek ESP32 5/55 - Ściemnianie diody LED, sterowanie jasnością diody LED - zestaw edukacyjny ESP32 IoT

Samouczek ESP32 5/55 - Ściemnianie diody LED, sterowanie jasnością diody LED - zestaw edukacyjny ESP32 IoT

Ten poradnik pokazuje, jak kontrolować jasność diody LED za pomocą mikrokontrolera ESP32, a konkretnie zestawu edukacyjnego SunFounder ESP32 IoT Learning Kit (na filmie w 00:04). Ten projekt jest idealny dla początkujących uczących się modulacji szerokości impulsu (PWM) i jej zastosowań w kontrolowaniu intensywności źródeł światła. Wbudowane funkcje PWM w ESP32 umożliwiają płynną, precyzyjną kontrolę, otwierając świat możliwości dla kreatywnych projektów.

Praktyczne zastosowania:

  • Tworzenie systemów oświetlenia ambientowego z regulowaną jasnością.
  • Budowa prostej lampki nocnej z płynnym przygaszaniem.
  • Opracowanie dynamicznej diody sygnalizacyjnej dla różnych stanów (np. niski poziom baterii, połączenie sieciowe).
  • Integracja z innymi czujnikami i siłownikami w celu tworzenia złożonych instalacji interaktywnych.

Sprzęt/Komponenty

Projekt wykorzystuje zestaw startowy SunFounder ESP32 Starter Kit (na filmie w 00:12), który zawiera mikrokontroler ESP32, płytkę rozszerzającą, różne komponenty oraz baterię litową 18650. Będziesz również potrzebować diody LED i rezystora 220 omów (na filmie w 04:32).

Schemat połączeń

Zapoznaj się ze schematem połączeń na filmie (na filmie w 01:46 i 04:18) oraz szczegółowym wyjaśnieniem w czasie 04:40. Połączenie polega na podłączeniu anody diody LED do rezystora, rezystora do pinu GPIO 26 w ESP32 oraz katody diody LED do masy.

LED_z_Rezystorem


Dioda LED połączona szeregowo z rezystorem 220 omów.  Poniżej znajduje się połączenie na płytce stykowej. 

LED_przygaszanie_ESP32

Wyjaśnienie kodu

Kod Arduino wykorzystuje modulację szerokości impulsu (PWM) do kontrolowania jasności diody LED. Kluczowe konfigurowalne elementy to:

  • ledPin: Określa pin GPIO podłączony do diody LED (na filmie w 09:41, ustawiony na 26). Zmień to, jeśli używasz innego pinu.
  • fadeAmount: Kontroluje szybkość, z jaką zmienia się jasność diody LED (na filmie w 10:06). Wyższa wartość powoduje szybsze przygaszanie. Kod automatycznie odwraca kierunek, gdy jasność osiągnie wartość minimalną (0) lub maksymalną (255) (na filmie w 11:44).

const int ledPin = 26;  // Pin GPIO dla diody LED
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttachPin(ledPin, 0); // Przypisz pin do kanału PWM
}

void loop() {
  ledcWrite(ledPin, brightness); 
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50); 
}

Projekt na żywo/Demonstracja

Film pokazuje działającą diodę LED z płynnym przygaszaniem (na filmie w 14:51). Instruktor pokazuje, jak dostosować zmienną fadeAmount, aby kontrolować szybkość przygaszania (na filmie w 15:16 i 15:51). Proces przesyłania kodu do ESP32 jest również pokazany (na filmie w 14:20).

Rozdziały

  • [00:00] Wprowadzenie i przegląd projektu
  • [00:12] Przegląd zestawu startowego ESP32
  • [01:46] Schemat połączeń i wyjaśnienie
  • [02:03] Sygnały cyfrowe i PWM
  • [04:18] Podłączanie diody LED
  • [06:33] Wyjaśnienie kodu: Funkcje
  • [09:11] Wyjaśnienie kodu: Przygaszanie diody LED
  • [13:33] Przesyłanie kodu
  • [14:51] Demonstracja na żywo i regulacje

Obrazy

LED_fade_ESP32
LED_fade_ESP32
LED_with_Resistor
LED_with_Resistor
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Język: C++
const int ledPin = 26;  // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttach(ledPin, 5000, 8);  // Attach the LED pin
}

void loop() {
  ledcWrite(ledPin, brightness);  // Write the new brightness value to the PWM pin
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50);  // Wait for 50 milliseconds
}

Zasoby i odniesienia

Brak zasobów.

Pliki📁

Brak dostępnych plików.