ESP32 Eğitimi 6/55 - RGB LED Kullanımı Proje 2.3 -SunFounder'ın ESP32 IoT Öğrenme kiti
Bu eğitimde, ESP32 mikrodenetleyicisini kullanarak bir RGB LED'i nasıl kontrol edeceğimizi öğreneceğiz. Bu proje, RGB LED'i nasıl bağlayacağınızı ve PWM (Darbe Genişliği Modülasyonu) sinyallerini kullanarak renklerini nasıl kontrol edeceğinizi anlamanıza yardımcı olacaktır. Bu eğitimin sonunda, her LED bileşeninin yoğunluğunu ayarlayarak herhangi bir renk kombinasyonu oluşturabileceksiniz. Bu, görsel olarak ilgi çekici projeler oluşturmak için temel bir beceridir.

RGB LED'i ve renk karıştırma yeteneklerini daha iyi anlamak için, ESP32 ile kontrol etmek için gereken bağlantıları ve kodu inceleyeceğiz. Görsel yardıma ihtiyacınız varsa, bağlantı ve kod kurulumunun daha net bir açıklaması için videoyu (videoda 03:20'de) kontrol ettiğinizden emin olun.
Donanım Açıklaması
Bu projenin ana bileşenleri ESP32 modülü, RGB LED ve dirençlerdir. ESP32, yerleşik Wi-Fi ve Bluetooth özelliklerine sahip güçlü bir mikrodenetleyicidir ve bu da onu IoT uygulamaları için ideal kılar. RGB LED, tek bir paket içinde üç ayrı LED'den (kırmızı, yeşil ve mavi) oluşur ve üç rengin kombinasyonuna dayalı olarak geniş bir renk yelpazesi sağlar.
Kurulumumuzda, RGB LED ortak anot konfigürasyonunda bağlanacaktır; burada anot pini pozitif bir voltaja bağlanır ve her rengin katot pini bağımsız olarak kontrol edilir. Bu şekilde, ESP32 üzerinden PWM sinyalleri göndererek her rengin parlaklığını ayarlayabiliriz.
Veri Sayfası Detayları
| Üretici | SunFounder |
|---|---|
| Parça numarası | RGB-LED-4PIN |
| Ortak Tip | Ortak anot |
| İletim Voltajı (LED başına) | 2,0 V (Kırmızı), 3,2 V (Yeşil), 3,2 V (Mavi) |
| Maksimum Akım (LED başına) | 20 mA |
| Çalışma Sıcaklığı | -25 ila 85 °C |
| Paket | 4 Pinli Delik İçi |
- Akımı sınırlamak ve hasarı önlemek için her renk için 220 Ω'luk bir direnç kullanın.
- Ortak pimin uygun voltaja (ESP32 için 3,3 V) bağlı olduğundan emin olun.
- Ters hasarı önlemek için RGB LED'i bağlarken polariteyi iki kez kontrol edin.
- Parlaklık seviyelerini kontrol etmek için PWM kullanın; yaklaşık 5000 Hz frekans önerilir.
- Tüm kurulumu bağlamadan önce her rengi ayrı ayrı test edin.
Bağlantı Talimatları
RGB LED'i ESP32'ye bağlamak için önce RGB LED üzerindeki pinleri tanımlayarak başlayın. En uzun pin, ESP32 üzerindeki 3,3 V kaynağına bağlanacak olan ortak anottur. Diğer üç pin kırmızı, yeşil ve mavi içindir. Kurulumumuzda, kırmızı pini GPIO 27'ye, yeşil pini GPIO 26'ya ve mavi pini GPIO 25'e bağlayın. Bu pinlerin her birine ayrıca 220 Ω'luk bir direnç bağlanacaktır.
RGB LED'i breadboard'a yerleştirerek başlayın ve ortak anot pininin solda olduğundan emin olun. Kırmızı pini breadboard'a yerleştirin ve direncin bir ucuna bağlayın; direncin diğer ucu GPIO 27'ye gidecektir. Bunu yeşil ve mavi pinler için tekrarlayın; yeşil pini GPIO 26'ya ve mavi pini GPIO 25'e bağlayın. Son olarak, devreyi tamamlamak için ortak pini ESP32 üzerindeki 3,3 V pinine bağlayın. ESP32'nin toprağını da breadboard'a bağladığınızdan emin olun.

Kod Örnekleri ve Açıklaması
Kodda, RGB LED pinlerini sabitler kullanarak tanımlayarak başlıyoruz. Örneğin, const int redPin = 27; kırmızı LED için GPIO pinini tanımlar. Ayrıca PWM frekansını ve çözünürlüğünü const int freq = 5000; ve const int resolution = 8; ile ayarlıyoruz. Bu, her LED renginin parlaklığını kontrol etmek için gerekli parametreleri kurar.
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
Ardından, setup() fonksiyonunda her renk için PWM kanallarını yapılandırıyoruz. ledcAttach() fonksiyonu her pini ilgili PWM kanalına bağlar. Bu kurulum, her rengin parlaklığını bağımsız olarak kontrol edebilmemizi sağlar.
void setup() {
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
loop() fonksiyonunda, LED renklerini değiştirmek için setColor() fonksiyonunu kullanıyoruz. Bu fonksiyona iletilen değerler kırmızı, yeşil ve mavinin yoğunluğunu temsil eder. Örneğin, setColor(255, 0, 0); çağrısı LED'i kırmızıya ayarlar. Her renk değişiminden sonra, bir sonraki renge geçmeden önce bir saniye beklemek için delay(1000); kullanıyoruz.
void loop() {
setColor(255, 0, 0); // Kırmızı
delay(1000);
setColor(0, 255, 0); // Yeşil
delay(1000);
}
Gösterim / Beklentiler
Bağlantıları tamamladıktan ve kodu ESP32'ye yükledikten sonra, RGB LED'in çeşitli renklerde döngü yaptığını görmelisiniz: kırmızı, yeşil, mavi, sarı, mor ve camgöbeği. LED doğru şekilde yanmıyorsa, bağlantılarınızı iki kez kontrol edin ve ortak anotun 3,3 V'a bağlı olduğundan emin olun. Ayrıca, beklenmeyen renkler fark ederseniz, LED pinlerine olan direnç bağlantılarını doğrulayın.
Videoda gösterildiği gibi (videoda 10:45'te), setColor() fonksiyonundaki değerleri ayarlamak farklı renkler oluşturmanıza olanak tanır. RGB LED'in nasıl tepki verdiğini görmek için çeşitli kombinasyonlarla deney yapın.
Video Zaman Damgaları
- 00:00 - RGB LED'e Giriş
- 03:20 - Bağlantı açıklaması
- 10:45 - Kod incelemesi
- 12:30 - Renk karıştırma gösterimi
// Define RGB LED pins
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
// Define PWM frequency and resolution
const int freq = 5000;
const int resolution = 8;
void setup() {
// Set up PWM pins
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
void loop() {
setColor(255, 0, 0); // Red
delay(1000);
setColor(0, 255, 0); // Green
delay(1000);
setColor(0, 0, 255); // Blue
delay(1000);
setColor(255, 255, 0); // Yellow
delay(1000);
setColor(80, 0, 80); // Purple
delay(1000);
setColor(0, 255, 255); // Cyan
delay(1000);
}
void setColor(int red, int green, int blue) {
ledcWrite(redPin, red);
ledcWrite(greenPin, green);
ledcWrite(bluePin, blue);
}
Common Course Links
Common Course Files
Kaynaklar ve referanslar
-
BelgelendirmeESP32 Tutorial 6/55 - SunFounder RGB LED doc pagedocs.sunfounder.com
Dosyalar📁
Dosya mevcut değil.