
به نام خدا
کنترل رنگ led های RGB بوسیله آردوینو و بلوتوث

این آموزش به شما نشان می دهد که چگونه به وسیله آردوینو و بلوتوث رنگ Led را به صورت بی سیم تغییر دهید. در این آموزش برای تغییر رنگ led از PWM (مدلاسیون عرض پالس) استفاده می کنیم و برای انتخاب رنگ از نرم افزار اندرویدی استفاده خواهیم کرد.پس از انتخاب رنگ از نرم افزار، نرم افزار از طریق بلوتوث گوشی به آردوینو متصل شده و اطلاعاتی را به آردوینو می فرستد در نهایت آردوینو این اطلاعات را پردازش کرده و رنگ مورد نظر ما را در led ایجاد می کند.
قطعات مورد نیاز:
- آردوینو
- ماژول بلوتوث
- RGB LED
- گوشی همراه اندرویدی(یا تبلت)
- سیم برد بورد
کد های پروژه کنترل رنگ led های RGB بوسیله آردوینو و بلوتوث:
در ابتدای کار پایه های ۶ ،۵ و ۳ آردوینو را به عنوان خروجی معرفی می کنیم. این پایه ها به سه پایه آبی ،قرمز و سبز led متصل می شوند. سپس پایه های ۰ و ۱ را به عنوان پایه فرستنده گیرنده (TX-RX) ماژول بلوتوث معرفی می کنیم. این کد شامل تابع (void setcolour(int red,int green,int blue است. این تابع سه متغیر از جنس عدد صحیح (int) دارد که از ۰ تا ۲۵۵ تغییر می کند، ۰ نشانگر ۰% چرخه کار PWM و ۲۵۵ نشانگر ۱۰۰% چرخه کار PWM می باشد.

اتصالات مدار:
ابتدا سه پایهLED ، R-G-B را به پایه ۵ ، ۶ و ۳ آردینو همراه با مقاومت سری شده با هر کدام به آردوینو متصل کنید. اگر LED مورد استفاده شما کاتد مشترک است پایه باقیمانده را به زمین متصل کنید و اگر آند مشترک بود پایه باقیمانده را به ۵ ولت مثبت وصل کنید. پایه های GND و VCC بلوتوث را به VCC و GND آردوینو و پایه های TX بلوتوث را به RX آردوینو و RX بلوتوث را به TX آردوینو متصل کنید.

راه اندازی گوشی همراه:
از لینک زیر نرم افزار اندرویدی را دانلود کرده و نصب کنید. بعد از نصب آردوینو را روشن کنید و از طریق گوشی به ماژول بلوتوث متصل شوید. (رمز بلوتوث ۱۲۳۴ میباشد)
https://play.google.com/store/apps/details?id=appinventor.ai_yuanryan_chen.BT_LED&hl=en
رنگی که می خواهید را انتخاب کرده و مشاهده می کنید که led با همان رنگ روشن می شود.
دانلود کد های پروژه کنترل رنگ led های RGB بوسیله آردوینو و بلوتوث:
دانلود فایل#include <SoftwareSerial.h>
SoftwareSerial BLU(0,1);
#define redPin 6
#define greenPin 3
#define bluePin 5
void setup()
{
//Serial setup
Serial.begin(9600);
Serial.println("-= HC-05 Bluetooth RGB LED =-");
BLU.begin(9600);
BLU.println("-= HC-05 Bluetooth RGB LED =-");
pinMode(4, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
digitalWrite(4,HIGH);
setColor(255, 0, 0);
delay(500);
setColor(0, 255, 0);
delay(500);
setColor(0, 0, 255);
delay(500);
setColor(255, 255, 255);
}
void loop()
{
while (BLU.available() > 0)
{
int redInt = BLU.parseInt();
int greenInt = BLU.parseInt();
int blueInt = BLU.parseInt();
redInt = constrain(redInt, 0, 255);
greenInt = constrain(greenInt, 0, 255);
blueInt = constrain(blueInt, 0, 255);
if (BLU.available() > 0)
{
setColor(redInt, greenInt, blueInt);
Serial.print("Red: ");
Serial.print(redInt);
Serial.print(" Green: ");
Serial.print(greenInt);
Serial.print(" Blue: ");
Serial.print(blueInt);
Serial.println();
BLU.flush();
}
}
}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
ببخشید این کد برای hc 06 چه تغییری میکنه؟
سلام
تغییری نمیکنه