به نام خدا.در این جلسه میخایم به اموزش کنترل RGB LED با استفاده از ماژول بلوتوث و اردینو بپردازیم که با استفاده از بلوتوث بین گوشی و اردینو ارتباط برقرار میکنیم و با PWM میزان رنگ هر سه رنگ اصلی رو کنترل میکنیم. RGB LED : ال ای دی هایی هستند که متشکل از سه رنگ هستند و چهارتا پایه دارن که به صورت اند یا کاتد مشترک ساخته میشن.
قطعات مورد نیاز کنترل RGB LED با بلوتوث :
- برد اردینو
- ماژول بلوتوث HC05/HC06
- RGB led(ترجیحا اند مشترک,یا سه عدد led سبز٬ابی٬قرمز)
- برد برد
- مقاومت ۲۲۰اهم
شماتیک مدار کنترل LED RGB با بلوتوث :
Pin 9 to red led
Pin 10 to green led
Pin 11 to blue led
کد آردوینو کنترل RGB LED با بلوتوث :
int Red_LED_Pin = 9; // PWM Pin for Red LED int Green_LED_Pin = 10; // PWM Pin for Green LED int Blue_LED_Pin = 11; // PWM Pin for Blue LED //Varibles to hold brightness values ranging from 0 (off) to 255 (fully on) int Red_value=1; int Green_value=1; int Blue_value=1; char BluetoothData; // the data received from bluetooth serial link void setup() { // Initialise LED pins as outputs pinMode(Red_LED_Pin, OUTPUT); pinMode(Green_LED_Pin, OUTPUT); pinMode(Blue_LED_Pin, OUTPUT); //initialsie serial communication Serial.begin(9600); } void loop() { //Process any info coming from the bluetooth serial link if (Serial.available()){ BluetoothData=Serial.read(); //Get next character from bluetooth if(BluetoothData=='R') Red_value=Serial.parseInt(); //Read Red value if(BluetoothData=='G') Green_value=Serial.parseInt(); //Read Green Value if(BluetoothData=='B') Blue_value=Serial.parseInt(); //Read Blue Value } //update LED Brightness analogWrite(Red_LED_Pin, Red_value); analogWrite(Green_LED_Pin, Green_value); analogWrite(Blue_LED_Pin, Blue_value); delay(10); }
اپلیکیشن اندرویدی پروژه
(نحوه کار با برنامه به اینصورت هست که بعد از pairشدن به ماژول بلوتوث از داخل برنامه به ماژول connectمیشیم و برنامهLED RGB رو ران میکنیم)
فیلم پروژه کنترل LED RGB با بلوتوث با آردوینو
- (البته من از ال ای دی کاتد مشترک استفاده کردم)
لطفا نظرات و سوالات خودتان را در قسمت نظرات مطرح کنید 🙂 سوالی بود در خدمتم .
مشابه این پروژه با سورس کامل : پروژه کنترلر RGB LED با بلوتوث موبایل
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
سلام میشه کد های این پرژه رو برام بفرستید
سلام
منم این پروژه رو انجام دادم و کار کرد ممنون
ولی یه سوال دارم من یه تغییر کوچیک دادم تو کدش و مثبتش رو هم با PWM کم و زیاد میکنم (آخه LED من مثبت مشترک هست) که کلا شدت نورش کم و زیاد بشه ولی بعد از این تغییر رنگ ها شروع به چشمک زدن می کنن و همه با هم روشن نمیمونن مثلا سبز واسه خودش چشمک می زنه و رنگ های دیگه هم واسه خودشون
چی کار باید بکنم؟
سلام ، کدتان چطوری تغییر دادید لطفا اینجا بفرستید، فقط بسادگی میتوانید مقدار Red_value را اول منهای 255 (که مقدار حداکثر خروجی آنالوگ هست) کنید و بعد یک قدرمطلق بگیرید. فک کنم اینطوری بشه تست کنید این روش رو و نتیجه را اینجا اعلام کنید.
سلام جناب خوب هستین
led من اند مشترک هستش من چطور میتونم برنامه رو عوض کنم که که با led های من کار کنه
سلام معمولا آنود مشترک یا کاتد مشترک را در سون سگمنت ها شنیده بودم. در ال ای دی تکی نباید معنی بده ولی اگر پک ال ای دی مثل بارگراف دارین اکیه. باید برعکس برین دیگه: مثلا اینجا فرض کنید عدد 0 تا 255 را هر چقدر زیاد کنید نور ال ای دی زیاد میشه اونجا هر چقدر زیاد کنید اختلاف پتانسیل کم میشه نور کم میشه.
در مورد اپ هم باید اول کد را در اردوینو بگیرید و خودتان تبدیل کنید و بعد بدید خروجی حالا یعنی چی؟ به این روش در برنامه نویسی میگن «لایه لایه انتزاعی» یا «Abstraction Layer». بصورت خلاصه مثلا شما از بلوتوث 255 گرفتی باید 0 بدی به PWM.
سلام ،اسم نرم افزار اندرویید این پروژه چیه؟
سلام ، نرم افزار اندرویدی این پروژه از لینک بالا(داخل نوشته)قابل دانلود است. یک نرم افزار چند منظوره هست میتوانید دانلود،نصب و شخصی سازی کنید. تست کنید.
یه مشکل دیگه
میخام برنامه رو روی برد upload کنم ولی errore میده و به red_LED_pin اشکال میگیره
دقیقا متن خطا را بفرستید لطفا،
* البته R را در Red با حرف بزرگ بنویسید. Red_LED_Pin
شماره های6.7.8 ارور میده باید جلوی مساوی شماریه 6 بنویسی 9 وهمچنین جلوی مساویشماریه 7 بنویسی10 وجلوی مساوی8 بنویسی11
شما این کدو اپلود کن ببین میشه
int Red_LED_Pin = 9; // PWM Pin for Red LED
int Green_LED_Pin = 10; // PWM Pin for Green LED
int Blue_LED_Pin = 11; // PWM Pin for Blue LED
//Varibles to hold brightness values ranging from 0 (off) to 255 (fully on)
int Red_value=9;
int Green_value=10;
int Blue_value=11;
char BluetoothData; // the data received from bluetooth serial link
void setup() {
// Initialise LED pins as outputs
pinMode(Red_LED_Pin, OUTPUT);
pinMode(Green_LED_Pin, OUTPUT);
pinMode(Blue_LED_Pin, OUTPUT);
//initialsie serial communication
Serial.begin(9600);
}
void loop() {
//Process any info coming from the bluetooth serial link
if (Serial.available()){
BluetoothData=Serial.read(); //Get next character from bluetooth
if(BluetoothData=='R') Red_value=Serial.parseInt(); //Read Red value
if(BluetoothData=='G') Green_value=Serial.parseInt(); //Read Green Value
if(BluetoothData=='B') Blue_value=Serial.parseInt(); //Read Blue Value
}
//update LED Brightness
analogWrite(Red_LED_Pin, Red_value);
analogWrite(Green_LED_Pin, Green_value);
analogWrite(Blue_LED_Pin, Blue_value);
delay(10);
}
R1 وR2وR3 مقاومتشون چقدره
سلام،
هر سه تای این مقاومت ها دارای مقدار یکسان 220 اهم هستن.
سلام من کدو کپی کردم ولی خظا میده روی این خط میکشه int Blue_value
سلام، کدهای زیر را براشون یک مقدار بین 0 تا 255 بدهید یا علامت مساوی را پاک کنید درست میشه.
int Red_value=1;
int Green_value=1;
int Blue_value=1;
با سلام سوالی خدمت شما دارم که آیا میتوان با ماژول بلوتوث سخت افزاری کارنکرد؟!!!
و
بجای آن از نرم افزار شبیه سازی پروتءوس استفاده کرد؟ و حتی همین خروجی را گرفت، اما در پروتءوس؟
خواهشا و لطفا سریع پاسخ بدهید با تشکر…
سلام، شاید در پرتئوس ورژن جدید ماژول بلوتوث HC05 یا مشابه اش، اضافه شده باشه و یا بشه لایبریش را دانلود کرد ولی اگر نبود هم میتونید رفتارش را شبیه سازی کنید تقریبا. چطوری؟ دو روش به ذهنم میرسه اول اینکه میتونید با ابزار ترمینال سریال Virtual Terminal موجود در پروتئوس کدها را دستی بفرستید. من این روش را زیاد برای ماژول های GSM استفاده کردم. و روش دوم اینکه یک برنامه برای یک میگروکنترلر دیگر بنویسید که کارش مثل ماژول بلوتوث باشه. مثلا یکسری پوش باتن براش بذارید و با فشار دادن انها یکسری کد را با فرمت ماژول HC05 بفرسته روی پورت سریال.
سلام وقتتون بخیر
بنده میخوام یک آباژور رو به وسیله یک کنترل
روشنایی و تغییر رنگش رو مدیریت کنم.
لطفا صفر تا صد کار رو برام توضیح بدین.
سلام خسته نباشید من این مدار رو بستم rgd من آند مشترک هست با تغیر دستی در کد ها میتونم رنگ های مختلف بسازم ولی با بلوتوث وصل میشه ولی زنگ ها تغیر نمیکنه و فقط رنگ سفید رو نشان میده راهکار چیه ؟
سلام طبق شماتیکی که کذاشتین هم باید مقاومت ۱۰k, ۲۰k و هم ۲۲۰ اهم بگیریم؟