د ESP32 ټیوټوریل 6/55 - د RGB LED کارول پروژه 2.3 - د سن فاونډر ESP32 IoT زده کړې کټ
په دې ټیوټوریل کې به موږ زده کړو چې څنګه د ESP32 مایکروکنټرولر په کارولو سره د RGB LED کنټرول کړو. دا پروژه به تاسو سره مرسته وکړي چې پوه شئ څنګه RGB LED وصل کړئ او د PWM (Pulse Width Modulation) سیګنالونو په کارولو سره د هغې رنګونه کنټرول کړئ. د دې ټیوټوریل په پای کې به تاسو وکولی شئ د هر LED برخې د شدت په تنظیمولو سره هر ډول رنګ ترکیب جوړ کړئ. دا د لیدلو وړ زړه راښکونکو پروژو جوړولو لپاره یوه بنسټیزه مهارت ده.

د RGB LED او د هغې د رنګ مخلوط کولو وړتیاوو ښه پوهیدو لپاره، موږ به د تارونو اړیکه او هغه کوډ وپلټو چې د ESP32 سره د کنټرول لپاره اړین دی. که تاسو لید مرستې ته اړتیا لرئ، ډاډ ترلاسه کړئ چې ویډیو (په ویډیو کې په 03:20) وګورئ د تارونو او کوډ د تنظیم روښانه توضیح لپاره.
هارډویر تشریح شوی
د دې پروژې اصلي برخې د ESP32 ماډل، RGB LED، او ریزسټرونه شامل دي. ESP32 یو پیاوړی مایکروکنټرولر دی چې په جوړه شوي Wi-Fi او بلوتوت باندې مجهز دی، چې دا د IoT غوښتنلیکونو لپاره مثالی کوي. RGB LED د دریو انفرادي LEDs (سور، شین، او نیلي) څخه جوړ دی چې په یوه واحد بسته کې ځای پر ځای شوي، چې د دریو رنګونو د ترکیب پر بنسټ د رنګونو پراخه لړۍ ته اجازه ورکوي.
زموږ په تنظیم کې، RGB LED به په عام انوډ ترتیب کې وصل شي، چیرې چې انوډ پن مثبت ولتاژ سره وصل دی، او د هر رنګ کیتوډ پن په خپلواکه توګه کنټرول کیږي. په دې توګه، موږ کولی شو د ESP32 له لارې د PWM سیګنالونو په لیږلو سره د هر رنګ روښانتیا تنظیم کړو.
ډیټاشیټ تفصیلات
| جوړونکی | SunFounder |
|---|---|
| د پرزې شمېره | RGB-LED-4PIN |
| عام ډول | عام انوډ |
| فارورډ ولتاژ (په هر LED) | 2.0 V (سور)، 3.2 V (شین)، 3.2 V (نیلي) |
| اعظمي جریان (په هر LED) | 20 mA |
| د عملیاتو تودوخه | -25 تر 85 °C |
| بسته | 4-پن سوري له لارې |
- د هر رنګ لپاره د 220 Ω ریزسټر وکاروئ ترڅو جریان محدود کړئ او زیان مخه ونیسئ.
- ډاډ ترلاسه کړئ چې عام پن مناسب ولتاژ سره وصل دی (د ESP32 لپاره 3.3 V).
- کله چې RGB LED وصل کوئ قطبيت دوه ځله وګورئ ترڅو د بیرته راګرځیدو زیان مخه ونیسئ.
- د روښانتیا کچو کنټرول لپاره PWM وکاروئ، د شاوخوا 5000 Hz فریکونسۍ سره وړاندیز کیږي.
- د ټول تنظیم له تارونو کولو دمخه هر رنګ په انفرادي ډول ازموئ.
د تارونو لارښوونې
د RGB LED د ESP32 سره د تارونو لپاره، د RGB LED په پنونو پیژندلو سره پیل وکړئ. تر ټولو اوږد پن عام انوډ دی، کوم چې به د ESP32 په 3.3 V عرضې سره وصل شي. نور درې پنونه د سور، شین، او نیلي لپاره دي. زموږ په تنظیم کې، سور پن GPIO 27 ته، شین پن GPIO 26 ته، او نیلي پن GPIO 25 ته وصل کړئ. د دې هر پن سره به د 220 Ω ریزسټر هم وصل وي.
د بریډبورډ په ځای کولو سره پیل وکړئ، ډاډ ترلاسه کړئ چې عام انوډ پن په کیڼ اړخ کې دی. سور پن په بریډبورډ کې دننه کړئ او د ریزسټر یوې پای ته یې وصل کړئ، د ریزسټر بله پای GPIO 27 ته ځي. دا د شین او نیلي پنونو لپاره تکرار کړئ، شین پن GPIO 26 ته او نیلي پن GPIO 25 ته وصل کړئ. په پای کې، عام پن د ESP32 په 3.3 V پن سره وصل کړئ ترڅو سرکټ بشپړ کړئ. ډاډ ترلاسه کړئ چې د ESP32 ځمکه هم بریډبورډ سره وصل کړئ.

د کوډ مثالونه او تفصیل
په کوډ کې، موږ د RGB LED پنونو د تعریف کولو سره پیل کوو د ثابتو په کارولو سره. د مثال په توګه، const int redPin = 27; د سور LED لپاره GPIO پن تعریف کوي. موږ د PWM فریکونسۍ او ریزولوشن هم د const int freq = 5000; او const int resolution = 8; سره ټاکو. دا د هر LED رنګ د روښانتیا کنټرول لپاره اړین پیرامیټرې تنظیموي.
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
بیا، موږ د هر رنګ لپاره د PWM چینلونه په setup() فنکشن کې تنظیم کوو. د ledcAttach() فنکشن هر پن د اړونده PWM چینل سره نښلوي. دا تنظیم ډاډ ورکوي چې موږ کولی شو د هر رنګ روښانتیا په خپلواکه توګه کنټرول کړو.
void setup() {
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
په loop() فنکشن کې، موږ د LED رنګونو بدلولو لپاره د setColor() فنکشن کاروو. دې فنکشن ته لیږل شوي ارزښتونه د سور، شین، او نیلي شدت استازیتوب کوي. د مثال په توګه، د setColor(255, 0, 0); غوښتنه LED سور ته ټاکي. د هر رنګ بدلون وروسته، موږ د بل رنګ ته د بدلیدو دمخه د یوې ثانیې انتظار لپاره delay(1000); کاروو.
void loop() {
setColor(255, 0, 0); // سور
delay(1000);
setColor(0, 255, 0); // شین
delay(1000);
}
ښودنه / څه تمه وکړئ
د تارونو بشپړولو او د ESP32 ته د کوډ اپلوډ کولو وروسته، تاسو باید وګورئ چې RGB LED په مختلفو رنګونو کې ګرځي: سور، شین، نیلي، ژیړ، ارغواني، او اوبي. که LED په سمه توګه روښانه نشي، خپل تارونه دوه ځله وګورئ او ډاډ ترلاسه کړئ چې عام انوډ 3.3 V سره وصل دی. سربیره پردې، که تاسو کوم غیر متوقع رنګونه وګورئ، د LED پنونو ته د ریزسټر اړیکې تایید کړئ.
لکه څنګه چې په ویډیو کې ښودل شوي (په ویډیو کې په 10:45)، د setColor() فنکشن کې د ارزښتونو تنظیم کول تاسو ته اجازه درکوي مختلف رنګونه جوړ کړئ. د مختلفو ترکیبونو سره تجربه وکړئ ترڅو وګورئ چې RGB LED څنګه ځواب ورکوي.
د ویډیو وخت نښې
- 00:00 - د RGB LED پېژندنه
- 03:20 - د تارونو د نښلولو تشریح
- 10:45 - د کوډ تفصیلي کتنه
- 12:30 - د رنګونو د ګډولو مظاهره
// 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
Resources & references
-
DocumentationESP32 Tutorial 6/55 - SunFounder RGB LED doc pagedocs.sunfounder.com
Files📁
No files available.