Bu eğitim, bir ESP32 mikrodenetleyici kullanarak bir LED'in parlaklığının nasıl kontrol edileceğini gösterir; özellikle SunFounder ESP32 IoT Öğrenme Kiti (videoda 00:04'te). Bu proje, darbe genişliği modülasyonu (PWM) ve ışık kaynaklarının yoğunluğunu kontrol etmedeki uygulamaları hakkında bilgi edinen yeni başlayanlar için idealdir. ESP32'nin yerleşik PWM yetenekleri, yumuşak ve hassas kontrol sağlayarak yaratıcı projeler için bir dünya olasılık sunar.
Pratik Uygulamalar:
Ayaralanabilir parlaklığa sahip ortam aydınlatma sistemleri oluşturma.
Kademeli sönme ile basit bir gece lambası yapma.
Çeşitli durumlar için dinamik bir gösterge ışığı geliştirme (ör. düşük pil, ağ bağlantısı).
Karmaşık etkileşimli kurulumlar oluşturmak için diğer sensörler ve aktüatörlerle entegrasyon.
Donanım/Bileşenler
Proje, bir ESP32 mikrodenetleyici, bir genişletme kartı, çeşitli bileşenler ve bir 18650 lityum pil içeren SunFounder ESP32 Başlangıç Kiti'ni (videoda 00:12'de) kullanır. Ayrıca bir LED ve 220 ohm'luk bir dirence ihtiyacınız olacak (videoda 04:32'de).
Bağlantı Kılavuzu
Videodaki bağlantı şemasına (videoda 01:46 ve 04:18'de) ve 04:40 zaman damgasındaki ayrıntılı açıklamaya bakın. Bağlantı, LED'in anotunu dirence, direnci ESP32'nin GPIO 26 pinine ve LED'in katodunu toprağa bağlamayı içerir.
LED_with_Resistor
220 ohm dirençle seri bağlı LED. Aşağıda breadboard üzerindeki bağlantı verilmiştir.
LED_fade_ESP32
Kod Açıklaması
Arduino kodu, LED'in parlaklığını kontrol etmek için Darbe Genişliği Modülasyonu (PWM) kullanır. Ana yapılandırılabilir kısımlar şunlardır:
ledPin: LED'e bağlı GPIO pinini tanımlar (videoda 09:41'de, 26 olarak ayarlanmıştır). Farklı bir pin kullanırsanız bunu değiştirin.
fadeAmount: LED'in parlaklığının değişme hızını kontrol eder (videoda 10:06'da). Daha yüksek bir değer daha hızlı sönme sağlar. Kod, parlaklık minimum (0) veya maksimum (255) değerine ulaştığında yönü otomatik olarak tersine çevirir (videoda 11:44'te).
const int ledPin = 26; // LED için GPIO pini
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // Pini PWM kanalına bağla
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
Canlı Proje/Gösterim
Video, sönen LED'i çalışırken gösterir (videoda 14:51'de). Eğitmen, sönme hızını kontrol etmek için fadeAmount değişkeninin nasıl ayarlanacağını gösterir (videoda 15:16 ve 15:51'de). Kodun ESP32'ye yüklenme süreci de gösterilir (videoda 14:20'de).
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Dil: 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
}
Açıklama: Amazon Ortaklığı olarak, nitelikli satın alımlardan kazanç sağlıyoruz. Bu, bir bağlantıya tıklayıp satın alma işlemi yaptığınızda, size ek bir maliyet olmadan küçük bir komisyon alabileceğimiz anlamına geliyor.