RGB چشمک زن پلیسی
RGB Blink_Node MCU
در این جلسه قصد داریم پروژه LED چشمک زن پلیسی RGB رو به شما آموزش بدیم. از این پروژه در آژیر های پلیسی و یا سازمانی و تابلو رون ها و یا برد های صنعتی و.. استفاده میشه. این پروژه مثل پروژه LED چشمک زن هستش اما با این تفاوت که از دو LED استفاده کردیم و اینکه اگه LED اول روشن باشه LED دومی خاموش میشه و برعکس. برای مشاهده ویدیوی کامل انجام پروژه می تونید روی دکمه زیر کلیک نمایید و مراحل انجام آن را در آپارات براحتی بینید:
قطعات مورد نیاز :
برای خرید هر کدام از قطعات مورد نیاز این پروژه می تونید براحتی با کلیک روی آنها وارد فروشگاه شوید و قطعه خود را تهیه نمایید:
LED RGB :
LED RGB از سه رنگ قرمز و سبز و آبی تشکیل شده که با این سه رنگ میشه همه رنگ هارو درست کرد !چجوری؟
مثلا از ترکیب رنگ قرمز و آبی میشه رنگ بنفش رو درست کرد با قرار دادن مقاومت سر راه رنگ آبی مقدار نور آبی رو کم میکنیم و ترکیب نورکم آبی و قرمز میشه بنفش .
نحوه درست کردن رنگ بستگی به رنگ و مقدار نور مورد نیاز هر کدوم از رنگ ها داره.
برای فهمیدن اینکه رنگ مورد نظرتون از ترکیب چه رنگ هایی هست و چه مقدار از هررنگ استفاده شده میتونید به سایت زیر برین و رنگ خودتون رو بسازید و اطلاعاتشو نگاه کنید.
https://www.w3schools.com/colors/colors_rgb.asp
شماتیک و اتصالات مدار:
- پایه LED قرمزRGB = پایه D1 برد nodemcu
- پایه منفی LED RGB = پایه GND برد nodemcu
- پایه LED آبی RGB = پایه D2 برد nodemcu
کد نویسی :
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ |
int LEDR = D1; int LEDB = D2; void setup() { pinMode(LEDR, OUTPUT); pinMode(LEDB, OUTPUT); } void loop() { digitalWrite(LEDR, LOW); digitalWrite(LEDB, HIGH); delay(۳۰۰); digitalWrite(LEDR, HIGH); digitalWrite(LEDB, LOW); delay(۳۰۰); } |
توضیحات کد
در واقع برنامه ای که ما مینویسیم اینطور عمل میکنه که در مدت زمان خاصی وقتی چراغ قرمز LED RGB روشن بود چراغ آبی LED RGB خاموش باشه و برعکسش عمل کنه.
میشه گفت همون کد LED چشمک زن ساده هستش که یه شرط بهش اضافه شده. در ابتدای کد دو متغیر برای معرفی پایه قرمز LED RGB و آبی LED RGB مینویسیم.
۱ ۲ |
int LEDR = D1; int LEDB = D2; |
داخل void setup حالت پایه های معرفی شده را مشخص میکنیم که اینجا هردو خروجی هستن.
۱ ۲ ۳ ۴ |
void setup() { pinMode(LEDR, OUTPUT); pinMode(LEDB, OUTPUT); } |
حالا داخل void loop مینویسیم پایه قرمز LED RGB خاموش بشه و پایه آبی LED RGB روشن بشه به مدت زمان ۳۰۰ میلی ثانیه و بعد پایه قرمز LED RGB روشن بشه و آبی LED RGB خاموش بشه به مدت زمان ۳۰۰ میلی ثانیه.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ |
void loop() { digitalWrite(LEDR, LOW); digitalWrite(LEDB, HIGH); delay(۳۰۰); digitalWrite(LEDR, HIGH); digitalWrite(LEDB, LOW); delay(۳۰۰); } |