زنگ

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

سریال "جرات".

RGB مخففبه عنوان مخفف قرمز، سبز، آبی، با این رنگ ها می توانید هر رنگی را با مخلوط کردن بدست آورید. LED RGB شامل 3 کریستال کوچک R، G، B است که می توانیم هر رنگ یا سایه ای را با آنها ترکیب کنیم. در این آموزش ما یک LED RGB را به برد آردوینو متصل می کنیم و آن را با تمام رنگ های رنگین کمان می درخشیم.
برای این پروژه به قطعاتی نیاز دارید که در کیت های "Basic" و "Learning Arduino" موجود است:

  1. آردوینو اونو;
  2. کابل USB؛
  3. تابلوی نمونه سازی؛
  4. سیم نر-نر - 7 عدد؛
  5. مقاومت 220 اهم - 3 عدد.
  6. LED RGB - 1 عدد؛
  7. پتانسیومتر.

مدار نشان داده شده در شکل 1 را مونتاژ می کنیم.

شکل 1. نمودار اتصال

حالا بیایید شروع به نوشتن طرح کنیم.
LED RGB باید با تمام رنگ های رنگین کمان از قرمز تا بنفش برق بزند، سپس به رنگ قرمز و غیره به صورت دایره ای حرکت کند. سرعت انتقال رنگ توسط یک پتانسیومتر کنترل می شود. جدول 1 مقادیر R، G، B را برای 7 رنگ اصلی رنگین کمان نشان می دهد.

جدول 1. مقادیر R، G، B برای 7 رنگ اصلی رنگین کمان

برای مخلوط کردن رنگ هالازم است طیف کامل ولتاژ از پین های آردوینو تا ورودی های LED R، G، B تامین شود. اما آردوینو نمی تواند یک ولتاژ دلخواه را به پین ​​دیجیتال خروجی دهد. خروجی 5 ولت (بالا) یا 0 ولت (کم) است. برای شبیه سازی ولتاژ جزئی از PWM (Pulse Width Modulation یا PWM) استفاده می شود.

امیدوارم قبلاً فصل را مطالعه کرده باشید 2.6 از کتاب جرمی بلوم "کاوش در آردوینو: ابزارها و تکنیک های جادوگری فنی" که مکانیسم مدولاسیون عرض پالس را به تفصیل توضیح می دهد.
الگوریتم اجرای برنامه:

  • مقدار مولفه سبز G را افزایش می دهیم تا به مقدار نارنجی (255,125,0) برسیم.
  • مقدار مولفه سبز G را افزایش می دهیم تا به آن برسیم زرد (255,255,0).
  • مقدار مولفه قرمز R را به مقدار سبز (0.255.0) کاهش می دهیم.
  • نقطه شروع قرمز است (255,0,0).
  • مقدار مولفه آبی B را به مقدار رنگ آبی (0.255.255) افزایش می دهیم.
  • مقدار مولفه سبز G را به مقدار کاهش دهید آبی (0,0,255).
  • به تدریج مقدار مولفه قرمز R را به مقدار رنگ بنفش افزایش دهید (255.0.255).
  • مقدار مولفه آبی B را به مقدار رنگ قرمز (255,0,0) کاهش دهید.

بیایید به مرحله 1 برویم.

پس از هر مرحله، برای ضبط نمایش رنگی مکث می کنیم،

تاخیر (VIEW_PAUSE)؛

مقدار پتانسیومتر را بررسی می کنیم و مقدار سرعت تغییر رنگ را تغییر می دهیم.

Void setpause( (pause=map(analogRead(POT),0,1024,MIN_PAUSE,MAX_PAUSE); Serial.print("pause=");Serial.println(pause); )

بیایید یک طرح جدید در Arduino IDE ایجاد کنیم، کد لیست 1 را به آن اضافه کنید و طرح را در برد آردوینو آپلود کنید. یادآوری می کنیم که در تنظیمات Arduino IDE باید نوع برد (Arduino UNO) و پورت اتصال برد را انتخاب کنید.
فهرست 1

Const int RED=11; // خروجی R از LED RGB const int GREEN=10; // خروجی G از RGB LED const int BLUE=9; // خروجی B از RGB LED int قرمز؛ // متغیر برای ذخیره مولفه R رنگ int green. // متغیر برای ذخیره مولفه G رنگ int blue. // متغیر برای ذخیره مولفه B رنگ const int POT=A0; // خروجی اتصال پتانسیومتر int MIN_PAUSE=10; // حداقل تاخیر تغییر رنگ، ms const int MAX_PAUSE=100; // حداکثر تاخیر تغییر رنگ، ms int pause; // متغیر برای ذخیره تاخیر فعلی const int VIEW_PAUSE=2000; // زمان تثبیت رنگ اصلی، ms void setup() ( Serial.begin(9600); ) void loop() ( // از قرمز به زرد Serial.println("red - yellow"); red=255;green=0 ;آبی=0;برای(سبز=0;سبز<=255;green++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от желтому к зеленому Serial.println("yellow - green"); red=255;green=255;blue=0; for(red=255;red>=0;قرمز--) setRGB(قرمز،سبز،آبی);<=255;blue++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от голубого к синему Serial.println("blue - blue"); red=0;green=255;blue=255; for(green=255;green>setpause();<=255;red++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от фиолетового к красному Serial.println("purple - red"); red=255;green=0;blue=255; for(blue=0;blue>تاخیر (VIEW_PAUSE)؛

پس از بارگذاری طرح، تغییر رنگ LED RGB را با رنگ های رنگین کمان مشاهده می کنیم و از پتانسیومتر برای تغییر سرعت تغییر رنگ استفاده می کنیم (شکل 2.3 را ببینید).


شکل 2.3. RGB LED - همه رنگ های رنگین کمان

آخرین بار نحوه اتصال یک نوار 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 //کتابخانه برای کار با نمایشگر LCD 1602 #include //کتابخانه برای کار با سنسور رطوبت و دما DHT 11 int chk; //متغیر تمام داده های حسگر DHT11 را ذخیره می کند. //متغیر خوانش رطوبت از سنسور DHT11 dht11 DHT را ذخیره می کند. //ابژه از نوع DHT #define DHT11_PIN 4 //Data pin سنسور DHT11 به ورودی 4 متصل است #define LED_R 9 //pin for channel R #define LED_G 10 //pin for channel G #define LED_B 11 //pin برای کانال B / / متغیرها مقادیر رنگ را ذخیره می کند // هنگام مخلوط کردن هر سه رنگ، رنگ مورد نیاز به دست می آید int led_r=0, led_g=0, led_b=0; //اعلان یک شی نمایش با آدرس 0x27 // فراموش نکنید که از یک صفحه نمایش در پروژه از طریق یک برد I2C استفاده کنید LiquidCrystal_I2C lcd(0x27,16,2); void setup() (//ایجاد نمایشگر lcd.init()؛ lcd.backlight(); // پین ها را به عنوان خروجی اعلام کنید pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT)؛ ) حلقه خالی () ( chk = DHT.read(DHT11_PIN);//خواندن داده ها از حسگر DHT11 //داده های خروجی به صفحه نمایش lcd.print("Temp:"); lcd.print(DHT.temperature, 1); lcd.print( "C"); مورد نیاز برای نظرسنجی lcd.clear(); سبزاگر ((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); }

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

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



LED RGB (مخفف RED، GREEN، BLUE) ترکیبی از کریستال‌هایی است که قادر به تولید رنگ‌های قرمز، سبز و آبی هستند. به لطف این ترکیب، این LED ها می توانند 16 میلیون سایه نور را بازتولید کنند. کنترل LED های RGB آسان است و بدون هیچ مشکلی می توان از آنها در پروژه های آردوینو استفاده کرد. این ماده نمونه ای از کنترل یک LED RGB با استفاده از آردوینو را نشان می دهد.


از آنجایی که یک LED RGB، همانطور که در بالا ذکر شد، ترکیبی از کریستال های سه رنگ اصلی مختلف است، در مدار به صورت سه LED نشان داده می شود. از نظر ساختاری، چنین LED دارای یک ترمینال مشترک و سه پایانه برای هر رنگ است. در زیر نموداری از نحوه اتصال LED RGB به آردوینو آورده شده است. این مدار همچنین شامل یک صفحه نمایش ال‌سی‌دی 16×2، پتانسیومترها و مقاومت‌ها به صورت سری با خطوط LED RGB است. این مقاومت ها (R1 = 100 اهم، R2 = 270 اهم، R3 = 330 اهم) جریان ال ای دی ها را محدود می کنند تا خراب نشوند. از مقاومت های متغیر (پتانسیومتر) VR1-VR3 با مقاومت 10 KOhm برای کنترل شدت RGB LED استفاده می شود، یعنی می توان از آنها برای تنظیم رنگ LED با تغییر شدت قرمز، سبز و آبی استفاده کرد. کریستال ها پتانسیومتر VR1 به ورودی آنالوگ A0، VR2 به ورودی آنالوگ A1 و VR3 به ورودی آنالوگ A2 متصل می شود.



صفحه نمایش LCD در این مورد برای نمایش مقدار رنگ و مقدار هگزادسیمال کد رنگ استفاده می شود. مقدار کد رنگ در خط اول LCD نمایش داده می شود (به عنوان Rxxx Gxxx Bxxx که xxx یک مقدار عددی است) و کد هگزا دسیمال در خط دوم LCD (به عنوان HEXxxxxxx) نمایش داده می شود. یک مقاومت 100 اهم R4 برای محدود کردن جریان اعمال شده به نور پس زمینه LCD و یک مقاومت متغیر 10K اهمی VR4 برای تنظیم کنتراست LCD استفاده می شود.


در زیر یک کد (طرح) وجود دارد که به شما امکان می دهد با استفاده از برد آردوینو و پتانسیومترهای متصل به آن، تغییر رنگ LED RGB را کنترل کنید.


#شامل // کتابخانه برای نمایشگر LCD LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // خطوط آردوینو برای اتصال صفحه نمایش LCD در Radj; int Gadj; int Badj; int Rval=0; int Gval=0; int Bval=0; int R = 9; int G = 10; int B = 11; void setup() (pinMode(R, OUTPUT); // خط 9 به pinMode خروجی هدایت می شود (G, OUTPUT)؛ // خط 10 به pinMode خروجی هدایت می شود (B, OUTPUT)؛ // خط 11 هدایت می شود به خروجی lcd.begin (16,2) lcd.setCursor(0,0) ; (0, 0) lcd.print("R G B"); به (0-255) Gval=Gadj/4 // تبدیل محدوده از (0-1023) به (0-255) Bval=Badj/4. 255) lcd.setCursor(2,0)؛<10) { lcd.setCursor(2,0); lcd.print("00"); lcd.print(Rval); } else if(Rval<100) { lcd.setCursor(2,0); lcd.print("0"); lcd.print(Rval); } else { lcd.setCursor(2,0); lcd.print(Rval); } lcd.setCursor(8,1); if (Rval<16) { lcd.print("0"); lcd.print(Rval, 16); } else { lcd.print(Rval, 16); } lcd.setCursor(7,0); if (Gval<10) { lcd.setCursor(7,0); lcd.print("00"); lcd.print(Gval); } else if(Gval<100) { lcd.setCursor(7,0); lcd.print("0"); lcd.print(Gval); } else { lcd.setCursor(7,0); lcd.print(Gval); } lcd.setCursor(10,1); if (Gval<16) { lcd.print("0"); lcd.print(Gval, 16); } else { lcd.print(Gval, 16); } lcd.setCursor(12,0); if (Bval<10) { lcd.setCursor(12,0); lcd.print("00"); lcd.print(Bval); } else if(Bval<100) { lcd.setCursor(12,0); lcd.print("0"); lcd.print(Bval); } else { lcd.setCursor(12,0); lcd.print(Bval); } lcd.setCursor(12,1); if (Bval<16) { lcd.print("0"); lcd.print(Bval, 16); } else { lcd.print(Bval, 16); } analogWrite(R, Rval); // ШИМ-выход для красного цвета analogWrite(G, Gval); // ШИМ-выход для зеленого цвета analogWrite(B, Bval); // ШИМ-выход для синего цвета }

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

ساختار داخلی

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

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

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

کریستال ها در LED های RGB را می توان طبق طرح زیر متصل کرد:

با آند مشترک؛

با یک کاتد مشترک؛

متصل نیست.

در دو گزینه اول خواهید دید که LED دارای 4 پین است:

یا 6 نتیجه در مورد دوم:

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

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

ال ای دی های RGBW را نمی توان نادیده گرفت، تفاوت آنها در این است که کریستالی دیگری از نور سفید ساطع می کند.

به طور طبیعی، ما نمی توانستیم بدون نوار با چنین LED هایی کار کنیم.

این تصویر نواری با LED های RGB را نشان می دهد که بر اساس یک مدار با یک آند مشترک مونتاژ شده است. شدت درخشش با کنترل "-" (منهای) منبع تغذیه تنظیم می شود.

برای تغییر رنگ نوار RGB، از کنترلرهای RGB ویژه استفاده می شود - دستگاه هایی برای تغییر ولتاژ عرضه شده به نوار.

در اینجا پین اوت RGB SMD5050 آمده است:

و نوارها، هیچ ویژگی خاصی برای کار با نوارهای RGB وجود ندارد، همه چیز مانند مدل های تک رنگ باقی می ماند.

همچنین اتصالاتی برای اتصال نوارهای LED بدون لحیم کاری وجود دارد.

در اینجا پایه یک LED RGB 5 میلی متری است:

چگونه رنگ درخشش تغییر می کند

تنظیم رنگ با تنظیم روشنایی تابش هر یک از کریستال ها انجام می شود. ما قبلا نگاه کرده ایم.

کنترلر RGB برای نوار بر اساس همان اصل کار می کند و حاوی یک ریزپردازنده است که ترمینال منفی منبع تغذیه را کنترل می کند - آن را از مدار رنگ مربوطه وصل و جدا می کند. معمولاً یک کنترل از راه دور همراه با کنترل است. کنترلرها دارای ظرفیت های مختلفی هستند، اندازه آنها به این بستگی دارد، از چنین مینیاتوری شروع می شود.

بله، چنین دستگاه قدرتمندی در یک کیس به اندازه یک منبع تغذیه است.

آنها طبق طرح زیر به نوار متصل می شوند:

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

اما می توانید از وضعیت خارج شوید و 4 سیم اضافی را 5 متر از کنترلر نکشید و از تقویت کننده RGB استفاده کنید. برای اینکه کار کند، باید فقط 2 سیم (به اضافه و منهای 12 ولت) بکشید یا منبع تغذیه دیگری را از نزدیکترین منبع 220 ولت و همچنین 4 سیم "اطلاعاتی" از بخش قبلی (R، G و B) را تغذیه کنید. برای دریافت دستورات از کنترلر مورد نیاز است، به طوری که کل ساختار به طور مساوی می درخشد.

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

ما با دست خود RGB-led را تنظیم می کنیم

بنابراین، دو گزینه برای کنترل LED های RGB وجود دارد:

در اینجا نسخه ای از مدار بدون استفاده از آردوینو و سایر میکروکنترلرها، با استفاده از سه درایور CAT4101 که قادر به ارائه جریان تا 1 آمپر هستند، ارائه شده است.

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

نتیجه گیری

LED های RGB امکان ایجاد جلوه های نورپردازی جالب را فراهم می کنند. هیچ تفاوت خاصی هنگام کار با آنها با LED های معمولی وجود ندارد.

LED سه رنگ می تواند با تمام رنگ های رنگین کمان برق بزند! موافقم، این بسیار جالب تر از چشمک زدن یک LED معمولی است
بیایید درس سوم آشنایی با آردوینو را شروع کنیم.

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

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

پایه LED قرمز را به مقاومت 330 اهم وصل کنید. سر دیگر مقاومت را به پورت پین 9 آردوینو وصل کنید.

پین Common را به GND وصل کنید.

پایه سبز را به مقاومت 330 اهم وصل کنید.

سر دیگر مقاومت را به پورت پین 10 آردوینو وصل کنید.

پایه آبی را به مقاومت 330 اهم وصل کنید.

سر دیگر مقاومت را به پورت پین 11 آردوینو وصل کنید.

تصویر زیر ظاهر یک برد برد با مدار مونتاژ شده و یک برد آردوینو با سیم هایی که از برد برد بیرون می آید را نشان می دهد.

کیت آزمایشی آردوینو کیت
کد برنامه برای تجربه شماره 3:

تنها چیزی که باقی می ماند این است که برنامه را از طریق کابل USB در آردوینو دانلود کنید. طرح با درس سوم LED RGB - بالا را در مقاله دانلود کنید.



زنگ

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