به نام خدا
کنترل رنگ 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 چه تغییری میکنه؟
سلام
تغییری نمیکنه