Search Code

د ESP32 ټیوټوریل 6/55 - د RGB LED کارول پروژه 2.3 - د سن فاونډر ESP32 IoT زده کړې کټ

د 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 ځمکه هم بریډبورډ سره وصل کړئ.

ESP32_RGB_LED_wiring_lesson_06

د کوډ مثالونه او تفصیل

په کوډ کې، موږ د 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 - د رنګونو د ګډولو مظاهره

Images

ESP32_rgb_pin
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_led_wires
ESP32_RGB_LED_wiring_lesson_06
ESP32_RGB_LED_wiring_lesson_06
806-ESP32 Tutorial 6/55 - Arduino code to control RGB LED with ESP32
Language: C++
// 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);
}

Resources & references

Files📁

No files available.