کنترل LED RGB با بلوتوث

به نام خدا.در این جلسه میخایم به اموزش کنترل  RGB LED  با استفاده از ماژول بلوتوث و اردینو بپردازیم که با استفاده از بلوتوث بین گوشی و اردینو ارتباط برقرار میکنیم و با PWM میزان رنگ هر سه رنگ اصلی رو کنترل میکنیم. RGB LED : ال ای دی هایی هستند که متشکل از سه رنگ‌ هستند و چهارتا پایه دارن که به صورت اند یا کاتد مشترک ساخته میشن.

کنترل led rgb با بلوتوث

قطعات مورد نیاز کنترل 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 با بلوتوث

فیلم پروژه کنترل LED RGB با بلوتوث با آردوینو

  • (البته من از ال ای دی کاتد مشترک استفاده کردم)

لطفا نظرات و سوالات خودتان را در قسمت نظرات مطرح کنید 🙂 سوالی بود در خدمتم .

مشابه این پروژه با سورس کامل : پروژه کنترلر RGB LED با بلوتوث موبایل

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

20 دیدگاه

  1. سلام میشه کد های این پرژه رو برام بفرستید

  2. سلام
    منم این پروژه رو انجام دادم و کار کرد ممنون
    ولی یه سوال دارم من یه تغییر کوچیک دادم تو کدش و مثبتش رو هم با PWM کم و زیاد میکنم (آخه LED من مثبت مشترک هست) که کلا شدت نورش کم و زیاد بشه ولی بعد از این تغییر رنگ ها شروع به چشمک زدن می کنن و همه با هم روشن نمیمونن مثلا سبز واسه خودش چشمک می زنه و رنگ های دیگه هم واسه خودشون
    چی کار باید بکنم؟

    • میلاد جهاندیده

      سلام ، کدتان چطوری تغییر دادید لطفا اینجا بفرستید، فقط بسادگی میتوانید مقدار Red_value را اول منهای 255 (که مقدار حداکثر خروجی آنالوگ هست) کنید و بعد یک قدرمطلق بگیرید. فک کنم اینطوری بشه تست کنید این روش رو و نتیجه را اینجا اعلام کنید.

      • سلام جناب خوب هستین
        led من اند مشترک هستش من چطور میتونم برنامه رو عوض کنم که که با led های من کار کنه

        • میلاد جهاندیده

          سلام معمولا آنود مشترک یا کاتد مشترک را در سون سگمنت ها شنیده بودم. در ال ای دی تکی نباید معنی بده ولی اگر پک ال ای دی مثل بارگراف دارین اکیه. باید برعکس برین دیگه: مثلا اینجا فرض کنید عدد 0 تا 255 را هر چقدر زیاد کنید نور ال ای دی زیاد میشه اونجا هر چقدر زیاد کنید اختلاف پتانسیل کم میشه نور کم میشه.

          در مورد اپ هم باید اول کد را در اردوینو بگیرید و خودتان تبدیل کنید و بعد بدید خروجی حالا یعنی چی؟ به این روش در برنامه نویسی میگن «لایه لایه انتزاعی» یا «Abstraction Layer». بصورت خلاصه مثلا شما از بلوتوث 255 گرفتی باید 0 بدی به PWM.

  3. سلام ،اسم نرم افزار اندرویید این پروژه چیه؟

  4. شما این کدو اپلود کن ببین میشه

    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);

    }

  5. R1 وR2وR3 مقاومتشون چقدره

  6. سلام من کدو کپی کردم ولی خظا میده روی این خط میکشه int Blue_value

  7. با سلام سوالی خدمت شما دارم که آیا میتوان با ماژول بلوتوث سخت افزاری کارنکرد؟!!!
    و
    بجای آن از نرم افزار شبیه سازی پروتءوس استفاده کرد؟ و حتی همین خروجی را گرفت، اما در پروتءوس؟

    خواهشا و لطفا سریع پاسخ بدهید با تشکر…

    • میلاد جهاندیده

      سلام، شاید در پرتئوس ورژن جدید ماژول بلوتوث HC05 یا مشابه اش، اضافه شده باشه و یا بشه لایبریش را دانلود کرد ولی اگر نبود هم میتونید رفتارش را شبیه سازی کنید تقریبا. چطوری؟ دو روش به ذهنم میرسه اول اینکه میتونید با ابزار ترمینال سریال Virtual Terminal موجود در پروتئوس کدها را دستی بفرستید. من این روش را زیاد برای ماژول های GSM استفاده کردم. و روش دوم اینکه یک برنامه برای یک میگروکنترلر دیگر بنویسید که کارش مثل ماژول بلوتوث باشه. مثلا یکسری پوش باتن براش بذارید و با فشار دادن انها یکسری کد را با فرمت ماژول HC05 بفرسته روی پورت سریال.

  8. ابوالفضل رحيمي

    سلام وقتتون بخیر
    بنده میخوام یک آباژور رو به وسیله یک کنترل
    روشنایی و تغییر رنگش رو مدیریت کنم.
    لطفا صفر تا صد کار رو برام توضیح بدین.

  9. سلام خسته نباشید من این مدار رو بستم rgd من آند مشترک هست با تغیر دستی در کد ها میتونم رنگ های مختلف بسازم ولی با بلوتوث وصل میشه ولی زنگ ها تغیر نمیکنه و فقط رنگ سفید رو نشان میده راهکار چیه ؟

  10. سلام طبق شماتیکی که کذاشتین هم باید مقاومت ۱۰k, ۲۰k و هم ۲۲۰ اهم بگیریم؟