در این آموزش، ما به بررسی نحوه کنترل یک LED RGB با استفاده از ماجیول ESP32 از کیت آموزشی SunFounder ESP32 خواهیم پرداخت. با ارسال دستورات از دستگاه موبایل خود، میتوانید رنگ LED را تغییر دهید یا آن را کاملاً خاموش کنید. این پروژه از قابلیتهای ESP32 بهره میبرد و از ویژگیهای داخلی Wi-Fi و Bluetooth برای اتصال و کنترل بیوقفه استفاده میکند.
ESP32_RGB_چراغ_LED_سیمهاESP32_rgb_pin
دیود نوری RGB شامل سه دیود مجزای نوری است: قرمز، سبز و آبی، که میتوان آنها را مخلوط کرد تا رنگهای مختلفی بهوجود آید. در این پروژه، شما یاد خواهید گرفت که چگونه دیود نوری RGB را بهطور صحیح سیمکشی کنید و ESP32 را برنامهریزی کنید تا به دستورات بلوتوث پاسخ دهد. این آموزش همچنین شما را در کدهای لازم برای دستیابی به این عملکرد راهنمایی خواهد کرد (در ویدیو در :15).
تجزیه و تحلیل سختافزار
اجزای اصلی این پروژه شامل میکروکنترلر ESP32 و LED RGB است. ESP32 یک ماجیول قدرتمند با Wi-Fi و بلوتوث داخلی است که آن را برای برنامههای IoT ایدهآل میسازد. در این پروژه، به عنوان یک سرور عمل میکند تا دستورات را از یک دستگاه موبایل دریافت کرده و LED RGB را به طور مناسب کنترل کند.
LED RGB دارای چهار پایه است: یک پایه مشترک (یا آند یا کاتد) و سه پایه برای رنگهای فردی. پایه مشترک به منبع تغذیه یا زمین متصل میشود، در حالی که سه پایه دیگر به پایههای GPIO ESP32 از طریق مقاومتها متصل میشوند تا جریان را محدود کرده و از LEDها محافظت کنند. این تنظیمات امکان کنترل دقیق روشنایی هر رنگ را فراهم میکند و دامنه وسیعی از رنگها را ایجاد میکند.
جزئیات ورقه داده
تولیدکننده
سان فاندئر
شماره قطعه
دیود ساطعکننده نور RGB
نوع میخ معمولی
الکترود مشترک / کاتد مشترک
ولتاژ پیش رونده (V)
۲.۰ - ۳.۲ ولت
جریان پیشرو حداکثر (آمپر)
۲۰ میلی آمپر
جریان معمولی (آمپر)
۱۵ میلی آمپر
رزولوشن رنگ
8 بیت (0-255)
پکage
پراز سوراخ / SMD
مطمئن شوید که مقادیر مناسب مقاومت (معمولاً 220 اهم) برای محدود کردن جریان از طریق هر کانال LED استفاده میشود.
پیکربندی پایههای مشترک (آند یا کاتد) را قبل از سیمکشی بررسی کنید.
از PWM برای کم نور کردن و مخلوط کردن رنگ با تنظیم سیگنالی که به هر LED ارسال میشود، استفاده کنید.
با احتیاط سیمکشی کنید تا از اتصال کوتاه جلوگیری شود؛ هر بار یک پایه را متصل کنید.
هر رنگ را به صورت جداگانه پس از راهاندازی آزمایش کنید تا از صحت سیمکشی اطمینان حاصل شود.
دستورالعملهای سیمکشی
ES32-38_RGB_LED-wiring
برای اتصال LED RGB به ESP32، ابتدا LED RGB را روی یک بستر نان قرار دهید. پایه بلندتر پایه مشترک است که شما آن را به ولتاژ مثبت (برای آند مشترک) یا زمین (برای کاتد مشترک) متصل خواهید کرد. اگر از آند مشترک استفاده میکنید، پایه بلند را به پایه 3.3V روی ESP32 متصل کنید. برای کاتد مشترک، آن را به پایه GND متصل کنید.
در مرحله بعد، سه مقاومت ۲۲۰ اهمی بردارید و یک سر هر مقاومت را به پایههای RGB مربوطه LED متصل کنید. سر دیگر مقاومتها را به پایههای GPIO ESP32 متصل کنید: پایه قرمز LED را به GPIO ۲۷، پایه سبز را به GPIO ۲۶ و پایه آبی را به GPIO ۲۵ متصل کنید. در نهایت، اطمینان حاصل کنید که پایه مشترک به طور مناسب براساس پیکربندی شما (آند یا کاتد) متصل شده باشد.
مثالهای شِفر (کود) و راهنمایی
شِفر (کود) این پروژه با تعریف پایههای متصل به LED RGB آغاز میشود. گزیده زیر نشان میدهد که چگونه پایهها اعلام میشوند:
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
اینجا،redPin,greenPin, andbluePinبرای هر کانال رنگی LED RGB، شمارههای GPIO خاصی در ESP32 اختصاص داده شدهاند.
در تابع راهاندازی، بلوتوث راهاندازی میشود و تنظیمات PWM اعمال میگردد. این بخش این راهاندازی را نشان میدهد:
void setup() {
Serial.begin(115200); // Initialize the serial port
setupBLE(); // Initialize the Bluetooth BLE
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
این شِفر (کود) ارتباط سریال را راهاندازی کرده و قابلیت بلوتوث را تنظیم میکند در حالی که پایههای LED RGB را به کانالهای PWM برای کنترل متصل میکند.
در پایان، تابع حلقه بررسی میکند که آیا پیامهای بلوتوث دریافت شدهاند و رنگ LED را بر این اساس تنظیم میکند:
if (value == "red") {
setColor(255, 0, 0); // Red
Serial.println("red");
}
در این بخش، اگر مقدار دریافتی "قرمز" باشد، LED با استفاده ازsetColorتابع.
برای درک کامل شِفر (کود)، توصیه میشود ویدیو آموزشی را مشاهده کنید که در آن شِفر (کود) کامل در زیر مقاله بارگذاری شده است.
نمایش / چه انتظاری باید داشت
پس از اینکه همه چیز متصل شد و شِفر (کود) آپلود شد، شما باید بتوانید LED RGB را از طریق دستگاه موبایل خود با بلوتوث کنترل کنید. با ارسال دستورات مانند "قرمز"، "سبز"، "آبی" و غیره، خواهید دید که LED بر اساس آنها رنگ خود را تغییر میدهد. اگر "LED_off" را ارسال کنید، LED RGB خاموش خواهد شد. مطمئن شوید که نمایشگر مسلسل را برای هرگونه پیام اشکالزدایی بررسی کنید تا تأیید کنید که دستورات به درستی دریافت میشوند (در ویدیو در ۱۰:۴۵).
زمانبندی ویدیو
۰۰:۰۰ شروع
RGB LED چیست؟
توضیح رنگ RGB 6:01
صفحه مستندات 10:01
11:19 توضیحاتی درباره سیمکشی
انتخاب بورد ESP32 و پورت COM در آردوینو IDE
۱۵:۱۵ شِفر (کود) آردوینو
۱۸:۰۲ демонстрация کنترل LED RGB با استفاده از تلفن همراه شما
تصاویر
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
839-ESP32 Tutorial 38/55- Arduino code for controlling RGB LED using bluetooth app