• اتصال یک نوار RGB از طریق آردوینو برای کنترل تلفن. کنترل نوار LED با آردوینو

    آردوینو برای کنترل هر دستگاهی ایده آل است. ریزپردازنده ATmega با استفاده از یک برنامه اسکچ دستکاری می کند مقدار زیادخروجی های گسسته، ورودی/خروجی های آنالوگ دیجیتال و کنترل کننده های PWM.

    با توجه به انعطاف پذیری کد، میکروکنترلر ATmega به طور گسترده ای در ماژول های مختلف اتوماسیون استفاده می شود، از جمله بر اساس آن امکان ایجاد یک کنترل کننده کنترل روشنایی LED وجود دارد.

    اصل کنترل بار از طریق آردوینو

    برد آردوینو دو نوع پورت خروجی دارد: دیجیتال و آنالوگ (کنترل کننده PWM). پورت دیجیتال دو حالت ممکن دارد - صفر منطقی و یک منطقی. اگر یک LED به آن وصل کنید، یا می درخشد یا خیر.

    خروجی آنالوگ یک کنترلر PWM است که سیگنالی با فرکانس حدود 500 هرتز با چرخه کاری قابل تنظیم به آن اعمال می شود. کنترلر PWM چیست و چگونه کار می کند را می توان در اینترنت یافت. از طریق پورت آنالوگ نه تنها می توان بار را روشن و خاموش کرد، بلکه ولتاژ (جریان) روی آن را نیز تغییر داد.

    دستور دستور

    خروجی دیجیتال:

    pinMode (12، OUTPUT)؛- پورت 12 را به عنوان پورت خروجی داده تنظیم کنید.
    digitalWrite (12، HIGH);- ما یک واحد منطقی را به خروجی گسسته 12 اعمال می کنیم و LED را روشن می کنیم.

    خروجی آنالوگ:

    analogOutPin = 3;- پورت 3 را برای خروجی یک مقدار آنالوگ تنظیم کنید.
    analogWrite(3، مقدار);- ما یک سیگنال با ولتاژ 0 تا 5 ولت در خروجی تشکیل می دهیم. مقدار - چرخه وظیفه سیگنال از 0 تا 255. با مقدار 255، حداکثر ولتاژ.

    راه های کنترل ال ای دی ها از طریق آردوینو

    فقط یک LED ضعیف را می توان مستقیماً از طریق پورت وصل کرد و حتی در این صورت بهتر است از طریق یک مقاومت محدود کننده. تلاش برای اتصال یک بار قوی تر، آن را غیرفعال می کند.

    برای بارهای قوی تر، از جمله نوارهای LED، از یک کلید الکترونیکی استفاده می شود - یک ترانزیستور.

    انواع کلیدهای ترانزیستوری

    • دوقطبی؛
    • رشته؛
    • کامپوزیت (مجموعه دارلینگتون).
    بارگذاری روش های اتصال
    از طریق ترانزیستور دوقطبی از طریق یک ترانزیستور اثر میدانی از طریق کلید ولتاژ

    هنگامی که یک سطح منطقی بالا اعمال می شود (digitalWrite (12، HIGH)؛)از طریق درگاه خروجی به پایه ترانزیستور از طریق زنجیره کلکتور-امیتر، ولتاژ مرجع به بار جریان می یابد. به این ترتیب می توانید LED را روشن و خاموش کنید.

    یک ترانزیستور اثر میدانی به روشی مشابه کار می کند، اما از آنجایی که به جای "پایه" دارای تخلیه است، که نه با جریان، بلکه توسط ولتاژ کنترل می شود، یک مقاومت محدود کننده در این مدار اختیاری است.

    نمای دوقطبی به شما اجازه نمی دهد بارهای قدرتمند را تنظیم کنید. جریان عبوری از آن در سطح 0.1-0.3A محدود شده است.

    ترانزیستورهای اثر میدانی با بارهای قوی تر با جریان تا 2 آمپر کار می کنند. برای حتی بیشتر بار قدرتمنداستفاده کنید FET هاماسفت با جریان تا 9 آمپر و ولتاژ تا 60 ولت.

    به جای میدان، می توانید از مجموعه دارلینگتون ترانزیستورهای دوقطبی روی ریزمدارهای ULN2003، ULN2803 استفاده کنید.

    تراشه ULN2003 و نمودار مدار سوئیچ ولتاژ الکترونیکی:

    اصل عملکرد ترانزیستور برای کنترل صاف نوار LED

    ترانزیستور مانند یک شیر آب کار می کند، فقط برای الکترون ها. هر چه ولتاژ وارد شده به پایه ترانزیستور دوقطبی یا تخلیه اثر میدان بیشتر باشد، مقاومت در زنجیره امیتر-کلکتور کمتر، جریان عبوری از بار بیشتر می شود.

    با اتصال ترانزیستور به پورت آنالوگ آردوینو، مقداری از 0 تا 255 به آن اختصاص دهید، ولتاژ اعمال شده به کلکتور یا تخلیه را از 0 به 5 ولت تغییر دهید. از طریق مدار کلکتور-امیتر از 0 تا 100 درصد ولتاژ مرجع بار عبور می کند.

    برای کنترل LED نوار آردوینولازم است یک ترانزیستور با توان مناسب انتخاب شود. جریان عملیاتی برای تغذیه کنتور LED 300-500 میلی آمپر است، یک ترانزیستور دوقطبی قدرت برای این منظور مناسب است. برای طول های بیشتر، ترانزیستور اثر میدان مورد نیاز است.

    طرح اتصالات LEDنوار برای آردوینو:

    کنترل نوار RGB با Andurino

    آردوینو علاوه بر ال ای دی های تک تراشه ای می تواند با ال ای دی های رنگی نیز کار کند. با اتصال خروجی های هر رنگ به خروجی های آنالوگ آردوینو می توانید به صورت دلخواه میزان روشنایی هر کریستال را تغییر دهید و به رنگ درخشندگی دلخواه برسید.

    نمودار سیم کشی آردوینو RGB LED:

    کنترل نوار آردوینو RGB به طور مشابه ساخته شده است:

    کنترلر آردوینو RGB بهتر است روی ترانزیستورهای اثر میدانی مونتاژ شود.

    برای کنترل صافروشناییدو دکمه قابل استفاده است یکی روشنایی درخشش را افزایش می دهد، دیگری کاهش می یابد.

    طرح کنترل روشنایی نوار LED آردوینو

    int led = 120; نصب سطح متوسطروشنایی

    void setup()(
    pinMode (4، OUTPUT)؛ چهارمین پورت آنالوگ را روی خروجی تنظیم کنید
    pinMode (2، INPUT)؛

    pinMode (4، INPUT)؛ 2 و 4 نصب کنید پورت دیجیتالروی دکمه های ورودی به نظرسنجی
    }
    حلقه خالی()(

    button1 = digitalRead(2);

    button2 = digitalRead(4);
    اگر (دکمه 1 == بالا) با فشار دادن دکمه اول، روشنایی افزایش می یابد
    {
    led=led+5;

    analogWrite(4، led);
    }
    اگر (دکمه 2 == بالا) با فشار دادن دکمه دوم روشنایی کاهش می یابد
    {
    led \u003d led - 5;

    analogWrite(4، led);
    }

    با نگه داشتن دکمه اول یا دوم، ولتاژ اعمال شده به کنتاکت کنترل به آرامی تغییر می کند کلید الکترونیکی. سپس یک تغییر آرام در روشنایی وجود خواهد داشت.

    ماژول های کنترل آردوینو

    برای ایجاد یک درایور نوار LED کامل، می توانید از ماژول های حسگر استفاده کنید.

    کنترل IR

    این ماژول اجازه برنامه نویسی تا 20 دستور را می دهد.

    شعاع سیگنال حدود 8 متر است.

    قیمت ست 6 سی سی.

    از طریق کانال رادیویی

    واحد چهار کانال با برد تا 100 متر

    قیمت ست 8 سی سی.

    به شما امکان می دهد حتی هنگام نزدیک شدن به آپارتمان، روشنایی را روشن کنید.

    بدون تماس

    سنسور فاصله با حرکت عقربه قادر است روشنایی نور را کم و زیاد کند.

    برد تا 5 متر

    قیمت ماژول 0.3 c.u.

    آخرین بار، روشی برای اتصال یک نوار LED به آردوینو از طریق درایور L298 در نظر گرفته شد. مدیریت رنگ به صورت برنامه نویسی انجام شد - تابع تصادفی. اکنون زمان آن رسیده است که نحوه کنترل رنگ نوار LED را بر اساس خوانش سنسور دما و رطوبت DHT 11 دریابیم.

    مثال اتصال یک نوار LED از طریق درایور L298 به عنوان پایه در نظر گرفته شده است. به علاوه، صفحه نمایش LCD 1602 به نمونه اضافه شده است که خوانش سنسور DHT 11 را نمایش می دهد.

    برای پروژه، به عناصر آردوینو زیر نیاز دارید:

    1. برد آردوینو UNO.
    2. نمایشگر LCD 1602 + I2C.
    3. سنسور دما و رطوبت DHT
    4. چراغ نوار LED.
    5. درایور L298.
    6. منبع تغذیه 9-12 ولت.
    7. کیس برای آردوینو و صفحه نمایش (اختیاری).

    اول از همه، بیایید به نمودار مدار نگاه کنیم (شکل 1). روی آن می توانید ببینید که چگونه باید همه عناصر فوق را به هم وصل کنید. هیچ چیز پیچیده ای در مونتاژ مدار و اتصال آن وجود ندارد، اما لازم به ذکر است یک نکته ظریف است که اکثر مردم آن را فراموش می کنند و در نهایت به نتایج اشتباه می رسند. LED کار- روبان با آردوینو.

    تصویر 1. مداراتصال آردوینو و نوار LED با سنسور DHT 11

    برای جلوگیری از نه عملکرد صحیحنوار LED (سوسو زدن، عدم تطابق رنگ، درخشش ناقص و غیره)، منبع تغذیه کل مدار باید مشترک باشد، یعنی. پایه های GND (زمین) کنترلر آردوینو و درایور L298 (نوار LED) را وصل کنید. نحوه انجام این کار را می توانید در نمودار مشاهده کنید.

    چند کلمه در مورد اتصال سنسور رطوبت. اگر یک DHT 11 لخت را بدون تسمه بخرید، به ترتیب بین اولین و دومین کنتاکت، 5 ولت و دیتا، باید یک مقاومت با مقدار اسمی 5-10 کیلو اهم لحیم کنید. محدوده اندازه گیری دما و رطوبت روی آن نوشته شده است سمت معکوسبدنه سنسور DHT 11. دما: 0-50 درجه سانتیگراد. رطوبت: 0-80٪.


    شکل 2. اتصال صحیحسنسور رطوبت DHT 11

    پس از مونتاژ تمام عناصر پروژه طبق طرح، باید بنویسید کد برنامه نویسی، که باعث می شود همه آن طوری کار کند که ما می خواهیم. و ما نیاز داریم چراغ نوار LEDبسته به خوانش سنسور DHT 11 (رطوبت) تغییر رنگ داد.

    برای برنامه ریزی سنسور DHT 11، به یک کتابخانه اضافی نیاز دارید.

    کد برنامه های آردوینوو RGB - نوار. رنگ روبان بسته به رطوبت تغییر می کند.

    #include #include //library برای کار با صفحه نمایش ال سی دی 1602 #include //کتابخانه برای کار با سنسور رطوبت و دما DHT 11 int chk; //متغیر تمام داده ها را از حسگر DHT11 ذخیره می کند. //متغیر خوانش رطوبت از سنسور DHT11 dht11 DHT را ذخیره می کند. //ابژه از نوع DHT #define DHT11_PIN 4 //مخاطب داده سنسور DHT11 به ورودی 4 متصل است #define LED_R 9 //pin for channel R #define LED_G 10 //pin for channel G #define LED_B 11 //pin for کانال B / / متغیرها مقادیر رنگ را ذخیره می کند // هنگام مخلوط کردن هر سه رنگ، رنگ مورد نیاز به دست می آید int led_r=0, led_g=0, led_b=0; //اعلام یک شی نمایش با آدرس 0x27 //فراموش نکنید از صفحه نمایش در پروژه از طریق برد I2C استفاده کنید LiquidCrystal_I2C lcd(0x27,16,2); void setup() (//create display lcd.init(); lcd.backlight(); // پین ها را به عنوان خروجی اعلام کنید pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); ) void حلقه () ( chk = DHT.read(DHT11_PIN);//خواندن داده ها از حسگر DHT11 //داده های خروجی به نمایشگر lcd.print("Temp:"); lcd.print(DHT.temperature, 1); .print( "C"); lcd.setCursor(0,1); lcd.print("Hum: "); ) / /برای عملکرد صحیح سنسور، یک تأخیر برای نظرسنجی lcd.clear(); hum = DHT.humidity؛ //گرفتن قرائت های رطوبت //در محدوده 19 تا 30 درصد رطوبت برای نمایش نیاز است. رنگ سبزاگر ((Hum >= 19) && (Hum<= 30)) { led_r = 1; led_g = 255; led_b = 1; } //в диапозоне от 31 до 40% влажности выдать красный цвет if ((hum >= 31) && (هوم<= 40)) { led_r = 255; led_g = 1; led_b = 1; } //в диапозоне от 41 до 49% влажности выдать синий цвет if ((hum >= 41) && (هوم<= 49)) { led_r = 1; led_g = 1; led_b = 255; } // подача сигналов цвета на выхода analogWrite(LED_R, led_r); analogWrite(LED_G, led_g); analogWrite(LED_B, led_b); }

    برچسب ها: برچسب ها


    در آستانه سال نو، به شما پیشنهاد می کنم یک حلقه گل RGB قابل برنامه ریزی درخت کریسمس با قابلیت ایجاد الگوهای مختلف جمع آوری کنید.

    برای گلدسته به چه چیزی نیاز دارید؟

    WS2811 RGB Full Color 12mm LED String DC 5V را می توان در Aliexpress با قیمت 20 دلار خریداری کرد. انتهای معمولی یکی از این حلقه ها را می توان برای افزایش طول به دیگری متصل کرد. این مقاله برای ساخت الگوهای نور طراحی شده است، بنابراین اگر یک حلقه LED قابل برنامه ریزی با پروتکل متفاوت در دست دارید، باید برنامه را بازنویسی کنید و حلقه حلقه را مطابق دیتاشیت وصل کنید.
    منبع تغذیه 5 ولت برای جریانی که توسط رشته شما کشیده می شود. معمولاً فروشنده جریان مصرف شده توسط گلدسته را نشان می دهد.
    آردوینو از هر نسخه ای. نویسنده از Arduino Uno استاندارد استفاده کرده است.
    رنگ اکریلیک سبز
    نوار عایق
    سیم.
    داشتن کانکتورهای JST برای سهولت در اتصال گلدسته به کنترلر مطلوب است

    قبل از شروع به مونتاژ گلدسته درخت کریسمس، مطمئن شوید که همه LED ها کار می کنند. در اینترنت می توانید نحوه اتصال WS2811 به آردوینو را بیابید.

    پین های +5V و GND را از دیتاشیت WS2811 خود تعیین کنید
    قرمز = + 5 ولت
    آبی=GND
    سفید = داده

    اتصال به شکلی است که در تصویر نشان داده شده است.

    کتابخانه محبوب WS2811 Arduino را از Adafruit نصب کنید. می توانید دستورالعمل نصب را از اینجا دانلود و مطالعه کنید:
    کد پیوست را با توجه به طول گلدسته خود در آن تغییر دهید #define LED_COUNT. برنامه آردوینو را دانلود و اجرا کنید. توجه داشته باشید که رنگ پیکسل ها از قرمز به سبز و آبی به سفید در طول 5 ثانیه تغییر می کند. این تضمین می کند که هر 3 LED داخل پیکسل خوب هستند.

    (دانلود: 1085)

    ارزیابی افت ولتاژ

    هر پیکسل LED و حلقه LED متصل بعدی باعث نوعی افت ولتاژ می شود. بنابراین پس از 50 LED در گلدسته LED شما، ولتاژ منبع تغذیه مقدار قابل توجهی کاهش می یابد. به عنوان مثال، از 5 ولت تا 4.7 ولت. این بدان معنی است که حلقه بعدی که به اولی وصل می کنید نه از 5 ولت بلکه از 4.7 ولت تغذیه می شود و ولتاژ بعد از آن حتی کمتر می شود. در نتیجه، هر LED تیره تر از LED قبلی خواهد بود. در نهایت، هنگامی که ولتاژ به 3.3 ولت کاهش می یابد، تراشه سرویس پروتکل WS2811 به سادگی از کار می افتد.

    از آنجایی که در هر پیکسل 3 ال ای دی وجود دارد و رنگ سفید درخشش اکلیل به این معنی است که هر 3 ال ای دی یکسان می درخشند، ولتاژ کمتر از زمانی است که مثلا فقط LED های قرمز روشن باشند. هنگامی که برنامه آزمایشی را شروع کردید، آیا متوجه خاموشی شدید در انتهای گلدسته شدید؟ می توانید یک منبع تغذیه 5 ولت اضافی را در آنجا وصل کنید. نویسنده این کار را هر 100 پیکسل انجام داده است

    نقاشی گلدسته.

    چراغ های معمولی کریسمس به رنگ سبز رنگ می شوند تا با درخت ترکیب شوند. گلدسته LED شما دارای سیم هایی با رنگ های مختلف است. گلدسته را آویزان کنید و سیم ها را با رنگ اکریلیک سبز کنید، این کار کمی طول می کشد. قاب‌های WS2811 را در نوار برقی مشکی بپیچید، سریع‌تر از رنگ آمیزی آنها خواهد بود.


    تعیین موقعیت X و Y هر پیکسل

    گلدسته مونتاژ شده را روی درخت کریسمس آویزان کنید. پس از آن می توانید موقعیت هر پیکسل را در X و Y محاسبه کنید و این داده ها را در کد برنامه وارد کنید. برای این کار از این فایل با کد استفاده کنید. تابع اول را لغو نظر کنید حلقه ()، که بخش هایی از 10 ال ای دی را روشن می کند. اگر بیش از 50 LED دارید، می توانید این بخش را با کپی کردن ساده گسترش دهید و به یاد داشته باشید که تعداد مورد نظر را در آن مشخص کنید. #define LED_COUNT

    سعی کنید شبکه را طوری بپوشانید که LED پایین سمت چپ در سلول 1.1 باشد. این کار به این دلیل انجام می شود که برنامه بتواند وسط درخت را در هر دو جهت X و Y تعیین کند. وارد کردن مختصات X و Y یک فرآیند دستی است که با تماشای ویدیو هر مختصات را دریافت خواهید کرد. صدای 200 مختصات، البته ترسناک است، اما تا 20 دقیقه طول می کشد.

    می توانید شبکه را چاپ کنید و آن را به نمایشگر رایانه یا صفحه نمایش تلفن خود وصل کنید تا مجبور نباشید با ویرایشگرهای ویدئویی درگیر شوید.

    فایل ضمیمه شده، درست مانند فایل قبلی، نمونه ای از کدهایی است که مانند ویدیو در الگوهای مختلف حلقه می زند.

    (دانلود: 1240)

    از روی ویدیو می توانید منطق برنامه را درک کنید و قالب های خود را بنویسید یا کد را برای خود تغییر دهید. فایل پیوست دیگر یک فایل راه‌اندازی است که آردوینو از طریق رابط سریال از دستگاه دیگری کنترل می‌شود. نویسنده از Raspberry Pi برای کنترل آردوینو استفاده کرد.

    در اینجا چنین گلدسته کریسمس با استفاده از کیت آردوینو و WS2811 وجود دارد.

    (دانلود: 1132)

    در این مقاله در مورد LED های رنگی صحبت خواهیم کرد، تفاوت بین یک LED RGB ساده و یک LED آدرس پذیر، آن را با اطلاعاتی در مورد برنامه ها، نحوه عملکرد آنها، نحوه کنترل آنها با تصاویر شماتیک اتصالات LED تکمیل کنید.

    LED ها یک قطعه الکترونیکی هستند که قادر به انتشار نور هستند. امروزه آنها به طور گسترده در تجهیزات الکترونیکی مختلف استفاده می شوند: چراغ قوه، رایانه، لوازم خانگی، اتومبیل، تلفن و غیره. بسیاری از پروژه های میکروکنترلر به یک روش از LED استفاده می کنند.

    آنها دو هدف اصلی دارند.:

    نمایش عملکرد تجهیزات یا اطلاع رسانی در مورد هر رویداد.
    استفاده برای اهداف تزئینی (نور و تجسم).

    در داخل، LED از کریستال های قرمز (قرمز)، سبز (سبز) و آبی (آبی) تشکیل شده است که در یک بسته مونتاژ شده اند. از این رو نام - RGB (شکل 1).

    2. استفاده از میکروکنترلرها

    با استفاده از آن، می توانید سایه های مختلف نور را دریافت کنید. LED RGB توسط یک میکروکنترلر (MK)، به عنوان مثال، آردوینو (شکل 2) کنترل می شود.

    البته می توانید با یک منبع تغذیه ساده 5 ولتی، مقاومت های 100 تا 200 اهم برای محدود کردن جریان و سه کلید، از پس آن برآیید، اما پس از آن باید به صورت دستی درخشش و رنگ را کنترل کنید. در این صورت دستیابی به سایه نور مورد نظر امکان پذیر نخواهد بود (شکل 3-4).

    مشکل زمانی ظاهر می شود که باید صد LED رنگی را به میکروکنترلر متصل کنید. کنترلر تعداد پایه های محدودی دارد و هر ال ای دی به چهار پایه نیاز دارد که سه تای آن وظیفه رنگ را بر عهده دارد و پایه چهارم رایج است: بسته به نوع LED می تواند آند یا کاتد باشد.

    3. کنترل کننده برای کنترل RGB

    برای تخلیه خروجی های MK از کنترلرهای ویژه WS2801 (5 ولت) یا WS2812B (12 ولت) استفاده می شود (شکل 5).

    با استفاده از یک کنترلر مجزا، نیازی به اشغال چندین خروجی MK نیست، می توان آن را تنها به یک خروجی سیگنال محدود کرد. MK سیگنالی را به ورودی "داده" کنترلر کنترل LED WS2801 ارسال می کند.

    این سیگنال حاوی اطلاعات روشنایی رنگ 24 بیتی (3 کانال 8 بیتی برای هر رنگ) و همچنین اطلاعاتی برای ثبت تغییر داخلی است. این شیفت رجیستر است که به شما امکان می دهد تعیین کنید که اطلاعات LED به کدام آدرس می رسد. بنابراین، می توان چندین LED را به صورت سری وصل کرد، در حالی که هنوز از یک خروجی میکروکنترلر استفاده می شود (شکل 6).

    4. LED آدرس پذیر

    این یک LED RGB است، فقط با یک کنترلر WS2801 یکپارچه به طور مستقیم روی تراشه. محفظه LED به عنوان یک جزء SMD برای نصب روی سطح ساخته شده است. این روش به شما اجازه می دهد تا LED ها را تا حد امکان نزدیک به یکدیگر قرار دهید و درخشش را با جزئیات بیشتری انجام دهید (شکل 7).

    در فروشگاه های آنلاین، می توانید نوارهای LED آدرس پذیر را پیدا کنید، زمانی که حداکثر 144 قطعه در یک متر قرار می گیرند (شکل 8).

    شایان ذکر است که یک LED در روشنایی کامل فقط 60-70 میلی آمپر مصرف می کند ، هنگام اتصال یک نوار ، به عنوان مثال ، به 90 LED ، به یک منبع تغذیه قدرتمند با جریان حداقل 5 آمپر نیاز خواهید داشت. به هیچ وجه نوار LED را از طریق کنترلر تغذیه نکنید، در غیر این صورت بیش از حد گرم می شود و از بار می سوزد. از منابع تغذیه خارجی استفاده کنید (شکل 9).

    5. عدم وجود ال ای دی آدرس پذیر

    نوار LED آدرس پذیر نمی تواند در دماهای خیلی پایین کار کند: در -15، کنترل کننده شروع به از کار می کند، در یخبندان شدیدتر خطر خرابی آن زیاد است.

    اشکال دوم این است که اگر یک LED از کار بیفتد، بقیه از کار کردن در طول زنجیره امتناع می کنند: رجیستر شیفت داخلی قادر به انتقال اطلاعات بیشتر نخواهد بود.

    6. کاربرد نوارهای LED آدرس پذیر

    از نوارهای LED آدرس پذیر می توان برای نورپردازی تزئینی اتومبیل، آکواریوم، قاب عکس و نقاشی، در طراحی داخلی، تزئینات کریسمس و غیره استفاده کرد.

    اگر از نوار LED به عنوان نور پس زمینه Ambilight برای مانیتور کامپیوتر استفاده شود، راه حل جالبی به نظر می رسد (شکل 10-11).

    اگر از میکروکنترلرهای مبتنی بر آردوینو استفاده می کنید، برای ساده کردن کار با نوار LED () به کتابخانه FastLed نیاز دارید.

    در این آموزش، از خروجی‌های دیجیتال و آنالوگ «مدول‌شده با عرض پالس» روی برد آردوینو برای روشن کردن یک LED RGB با رنگ‌های مختلف استفاده می‌کنیم. استفاده از نوار LED RGB به شما این امکان را می دهد که نورپردازی داخلی را با هر سایه رنگی ایجاد کنید. بیایید در مورد دستگاه و پینوت یک LED تمام رنگی (RGB) صحبت کنیم و دستورالعمل را در نظر بگیریم #تعريف كردندر زبان C++

    دستگاه و هدف RGB LED

    برای نمایش کل پالت سایه ها، سه رنگ با استفاده از سنتز RGB کافی است (قرمز - قرمز، سبز - سبز، آبی - آبی). پالت RGB نه تنها در ویرایشگرهای گرافیکی، بلکه در ساخت وب سایت نیز استفاده می شود. با مخلوط کردن رنگ ها در نسبت های مختلف می توانید تقریباً هر رنگی را بدست آورید. از مزایای LED های RGB می توان به طراحی ساده، ابعاد کوچک و راندمان خروجی نور بالا اشاره کرد.

    LED های RGB سه کریستال با رنگ های مختلف را در یک محفظه ترکیب می کنند. RGB LED دارای 4 پایه است - یکی معمولی (آند یا کاتد طولانی ترین پین را دارد) و سه پایه رنگی. یک مقاومت باید به هر خروجی رنگ وصل شود. علاوه بر این، ماژول آردوینو RGB LED را می توان مستقیماً روی برد نصب کرد و دارای مقاومت های داخلی است - این گزینه برای کلاس های دایره ای راحت تر است.

    عکس. پایه چراغ RGB و ماژول LED RGB برای آردوینو

    پین اوت LED RGB در عکس بالا نشان داده شده است. همچنین توجه داشته باشید که بسیاری از LED های تمام رنگی به دیفیوزر نیاز دارند، در غیر این صورت رنگ های اجزا قابل مشاهده خواهند بود. بعد، LED RGB را به آردوینو متصل کنید و با استفاده از "مدولاسیون عرض پالس" آن را با تمام رنگ های رنگین کمان بدرخشید.

    کنترل LED RGB با آردوینو

    خروجی های آنالوگ در آردوینو از "مدولاسیون عرض پالس" برای تولید مقادیر مختلف جریان استفاده می کنند. ما می‌توانیم هر سه ورودی رنگ LED را با یک مقدار سیگنال PWM متفاوت در محدوده 0 تا 255 عرضه کنیم، که به ما امکان می‌دهد تقریباً هر سایه نوری را در RGB LED Arduino دریافت کنیم.

    برای درس به جزئیات زیر نیاز داریم:

    • برد Arduino Uno / Arduino Nano / Arduino Mega;
    • تخته نان;
    • RGB LED؛
    • 3 مقاومت 220 اهم;
    • سیم "پدر-مادر".

    عکس. نمودار سیم‌کشی LED RGB به آردوینو روی برد برد

    ماژول LED RGB را می توان مستقیماً بدون سیم و برد برد به برد متصل کرد. ماژول LED RGB تمام رنگی را به پین ​​های زیر وصل کنید: منهای- GND، ب- پین 13، جی- پین 12، آر- Pin11 (عکس اول را ببینید). اگر از RGB LED (دیود ساطع کننده نور) استفاده می کنید، آن را مطابق نمودار موجود در عکس وصل کنید. پس از اتصال ماژول و مونتاژ مدار در آردوینو، طرح را آپلود کنید.

    طرحی برای چشمک زدن LED RGB

    #تعریف قرمز 11 // نام RED را به پین ​​11 اختصاص دهید#GREEN 12 را تعریف کنید // نام GREEN را به پین ​​12 اختصاص دهید#تعریف BLUE 13 // نام BLUE را به پین ​​13 اختصاص دهیدتنظیم void () ( pinMode(RED، OUTPUT)؛ pinMode(GREEN، OUTPUT); // برای خروجی از Pin12 استفاده کنید pinMode (آبی، OUTPUT)؛ // از Pin13 برای خروجی استفاده کنید) void loop() (digitalWrite(RED, HIGH); // چراغ قرمز را روشن کنیددیجیتال رایت (سبز، کم)؛ دیجیتال رایت (آبی، کم)؛ تاخیر (1000); دیجیتال رایت (قرمز، کم)؛ دیجیتال رایت (سبز، بالا)؛ // چراغ سبز را روشن کنیددیجیتال رایت (آبی، کم)؛ تاخیر (1000); // جلوه را متوقف کنیددیجیتال رایت (قرمز، کم)؛ دیجیتال رایت (سبز، کم)؛ دیجیتال رایت (آبی، بالا)؛ // چراغ آبی را روشن کنیدتاخیر (1000); // جلوه را متوقف کنید }

    توضیحات برای کد:

    1. با استفاده از دستور #define، تعداد پین های 11، 12 و 13 را با نام های مربوطه RED، GREEN و BLUE جایگزین کردیم. این برای راحتی انجام می شود تا در طرح گیج نشوید و متوجه شوید که چه رنگی را شامل می شود.
    2. در روش void setup() پین های 11، 12 و 13 را به عنوان خروجی اختصاص دادیم.
    3. در روال void loop() هر سه رنگ را در LED RGB به نوبه خود روشن می کنیم.
    4. کنترل صاف RGB LED

      کنترل یک LED rgb در آردوینو را می توان با استفاده از خروجی های آنالوگ "مدول شده با عرض پالس" روان کرد. برای انجام این کار، ورودی های رنگ روی LED باید به خروجی های آنالوگ، به عنوان مثال، به پایه های 11، 10 و 9 متصل شوند. و مقادیر مختلف PWM را برای سایه های مختلف به آنها اعمال کنید. پس از اتصال ماژول با استفاده از سیم های نر-ماده، طرح را آپلود کنید.

      طرحی برای چشمک زدن صاف RGB LED

      #قرمز 9 را تعریف کنید // نام RED را به پین ​​9 اختصاص دهید#GREEN 10 را تعریف کنید // نام سبز برای پین 10#define BLUE 11 // نام BLUE را به پین ​​11 اختصاص دهید void setup()(pinMode(قرمز، OUTPUT)؛ // برای خروجی از Pin9 استفاده کنید pinMode (سبز، OUTPUT)؛ // برای خروجی از Pin10 استفاده کنید pinMode (آبی، OUTPUT)؛ // برای خروجی از Pin11 استفاده کنید) void loop() (analogWrite(RED, 50); // چراغ قرمز را روشن کنید analogWrite(GREEN, 250); // چراغ سبز را روشن کنید analogWrite (آبی، 150)؛ // چراغ آبی را روشن کنید }

      توضیحات برای کد:

      1. با استفاده از دستور #define، تعداد پین های 9، 10 و 11 را با نام های مربوطه RED، GREEN و BLUE جایگزین کردیم. این برای راحتی انجام می شود تا در طرح گیج نشوید و متوجه شوید که چه رنگی را شامل می شود.
      2. ما از پین های 11، 12 و 13 به عنوان خروجی آنالوگ رایت استفاده کردیم.