کنترل led با استفاده از فرمان صوتی به نظر کار بسیار سختی می آید در صورتی که آسان است و به راحتی می توانم بسیار آنرا بسازیم. برای دریافت فرمان صوتی از برنامه اندروید “Arduino Bluetooth Voice Controller” استفاده می کنیم که می توانیم آن را از google play دانلود کنیم. برای آموزش کنترل LED با فرمان صوتی توسط آردوینو و بلوتوث ادامه مطلب را بخوانید.
کنترل LED با فرمان صوتی توسط آردوینو و بلوتوث
المانهای مورد نیاز
- آردوینو UNO
- ماژول بلوتوث HC-06
- led سبز و قرمز
- مقاومت 220 اهم
- اپ کنترلر صوتی بلوتوث آردوینو
- برد برد
- سیم اتصال
ماژول بلوتوث HC-06
بلوتوث می تواند در دو حالت زیر کار کند:
- حالت فرمان (Command mode)
- حالت عملیاتی (Operating mode)
در حالت فرمان ما میتوانیم ویژگیهای بلوتوث را مشخص کنیم، رمز عبور آن، سرعت بادریت و غیره را تعیین کنیم. از دستور حالت ماژول استفاده می کنیم در این حالت به صورت پیشفرض است نام دستگاه HC-06 و رمز عبور 0000 یا 1234 و مهمتر از همه بادریت برای همه ماژول های بلوتوث 9600 خواهد بود.
ماژول بر روی منبع تغذیه 5 ولت کار می کند و پین های سیگنال روی 3.3 ولت کار می کند، بنابراین یک تنظیم کننده ولتاژ 3.3 ولت در خود ماژول وجود دارد.
مدارک دیاگرام
مدارک دیاگرام برای این پروژه به صورت زیر است، زمانی که می توان کد را در Arduino UNO آپلود کرد، پین های Rx و Tx را جدا کرده و پس از آپلود کد دوباره متصل می شویم.
کد آردوینو
کد به صورت کامل در پایان مقاله قرار دارد.
در کد زیر ما پین های Rx و Tx را تعریف می کنیم.
1 2 |
int TxD = 11; int RxD = 10; |
اکنون، پین 2 و 3 آردوینو را به عنوان خروجی تنظیم می کنیم.
1 2 |
pinMode(2, OUTPUT); pinMode(3, OUTPUT); |
در تابع void loop، آردوینو مدام ورودی را بررسی می کند و LED ها را مطابق فرمان صوتی کنترل می کند. آردوینو با توجه به فرمان صوتی داده شده، LED را روشن یا خاموش می کند.تمام فرمان دریافت را در تغییر “Value” ذخیره می کنیم.
اگرفرمان صوتی “all LED turn on” باشد، هر دو LED روشن می شوند، برای فرمان “all LED turn on” همه ی LED ها خاموش می شوند.بقیه دستورات در جدول زیر ارائه شده است.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
if (bluetooth.available()) { value = bluetooth.readString(); if (value == "all LED turn on"){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); } if (value == "all LED turn off"){ digitalWrite(2, LOW); digitalWrite(3, LOW); } if (value == "turn on Red LED"){ digitalWrite(2, HIGH); } if (value == "turn on green LED"){ digitalWrite(3, HIGH); } if (value == "turn off red LED"){ digitalWrite(2, LOW); } if (value == "turn off green LED"){ digitalWrite(3, LOW); } } |
مرحله 1: همه اجزاء را مطابق مدارهای مرتبط می کنیم. هنگام آپلود کد ، پین Rx و Tx را قطع می کنیم.
مرحله 2: اپ”Arduino Bluetooth Voice Controller” را باز google play دانلود می کنیم.
مرحله 3 :برنامه را باز می کنیم، ابتدا روی “click to connect bluetooth” کلیک کرده و ماژول بلوتوث خود را انتخاب کنید و بررسی کنید که آیا وصل است یا نه. سپس بر روی علامت میکروفون کلیک کرده و فرمان صوتی را به ماژول HC-06 ارسال می کنیم.
توجه: زمانی که ماژول بلوتوث خود را برای اولین بار با تلفن هوشمند خود متصل می کنیم، رمز عبوری خواهد بود که یا 0000 یا 1234 است.
کد کامل آردوینو
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
nclude <SoftwareSerial.h> String value; int TxD = 11; int RxD = 10; int servoposition; SoftwareSerial bluetooth(TxD, RxD); void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); Serial.begin(9600); // start serial communication at 9600bps bluetooth.begin(9600); } void loop() { Serial.println(value); if (bluetooth.available()) { value = bluetooth.readString(); if (value == "all LED turn on"){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); } if (value == "all LED turn off"){ digitalWrite(2, LOW); digitalWrite(3, LOW); } if (value == "turn on Red LED"){ digitalWrite(2, HIGH); } if (value == "turn on green LED"){ digitalWrite(3, HIGH); } if (value == "turn off red LED"){ digitalWrite(2, LOW); } if (value == "turn off green LED"){ digitalWrite(3, LOW); } } } |
ارسال پاسخ