شرح استخدام البلوتوث HC05 Bluetooth Module مع لوحة اردوينو
الادوات المطلوبة
- - HC05/HC06 Bluetooth Module
- - لوحة اردوينو
- - دايود ضوئي LED
- - مقاومة قيمتها ما بين (220 اوم) و (1 كيلو اوم)
- - موبايل يعمل بنظام اندرويد
التوصيل
قم بتوصيل اطراف البلوتوث موديول مع لوحة اردوينو طبقا للجدول التالي:
To Arduino Pin | Bluetooth Pin |
RX (Pin 0) | TX |
TX (Pin 1) | RX |
5V | VCC |
GND | GND |
انتبه: لا تقوم بتوصيل Rx بـ Rx , و Tx بـ Tx
قم بتوصيل الطرف السالب من الليد بالـ GND , والطرف الموجب بالمقاومة ثم الطرف الاخر للمقاومة بـ PIN-13 في لوحة اردوينو
الشكل النهائي
كيف يعمل؟
يعمل البلوتوث موديول بطريقة التواصل السريال (Serial Communication) , حيث يقوم برنامج الاندرويد (الموجود في اخر المقالة) بارسالة بيانات للبلوتوث موديول في حالة الضغط علي زرار معين , وفي الناحية الاخري عندما يستلم البلوتوث موديول اي بيانات من الجهاز المقترن به (الموبايل في هذه الحالة) , يقوم بارسال هذة البيانات الى لوحة الاردوينو عن طريق الـ Tx من الموديول (Rx في لوحة اردوينو).
الكود المستخدم علي لوحة اردوينو يقوم بفحص البيانات التي استلمها عن طريق البلوتوث موديول , فاذا كانت "1" يقوم بإضاءة الليد LED , وإذا كانت هذة البيانات "0" يقوم بإطفاء الليد.
ويمكنك اثناء التشغيل فتح شاشة الـ Serial Monitor لترى ما يتم استلامه
الكود
قم برفع هذا الكود علي لوحة اردوينو
/*
* Bluetooh Basic: LED ON OFF - Avishkar
* Coder - Mayoogh Girish
* Website - http://bit.do/Avishkar
* Download the App : https://github.com/Mayoogh/Arduino-Bluetooth-Basic
* This program lets you to control a LED on pin 13 of arduino using a bluetooth module
*/
char data = 0; //Variable for storing received data
void setup()
{
Serial.begin(9600); //Sets the baud for serial data transmission
pinMode(13, OUTPUT); //Sets digital pin 13 as output pin
}
void loop()
{
if(Serial.available() > 0) // Send data only when you receive data:
{
data = Serial.read(); //Read the incoming data & store into data
Serial.print(data); //Print Value inside data in Serial monitor
Serial.print("\n");
if(data == '1') // Checks whether value of data is equal to 1
digitalWrite(13, HIGH); //If value is 1 then LED turns ON
else if(data == '0') // Checks whether value of data is equal to 0
digitalWrite(13, LOW); //If value is 0 then LED turns OFF
}
}
github
/*
* Bluetooh Basic: LED ON OFF - Avishkar
* Coder - Mayoogh Girish
* Website - http://bit.do/Avishkar
* Download the App : https://github.com/Mayoogh/Arduino-Bluetooth-Basic
* This program lets you to control a LED on pin 13 of arduino using a bluetooth module
*/
char data = 0; //Variable for storing received data
void setup()
{
Serial.begin(9600); //Sets the baud for serial data transmission
pinMode(13, OUTPUT); //Sets digital pin 13 as output pin
}
void loop()
{
if(Serial.available() > 0) // Send data only when you receive data:
{
data = Serial.read(); //Read the incoming data & store into data
Serial.print(data); //Print Value inside data in Serial monitor
Serial.print("\n");
if(data == '1') // Checks whether value of data is equal to 1
digitalWrite(13, HIGH); //If value is 1 then LED turns ON
else if(data == '0') // Checks whether value of data is equal to 0
digitalWrite(13, LOW); //If value is 0 then LED turns OFF
}
}
برنامج الاندرويد
يمكنك استخدام اي برنامج مخصص للتعامل مع بلوتوث الاندرويد الموجودين علي متجر جوجل , و يمكنك تطوير برنامج بنفسك
او يمكنك استخدام البرنامج المستخدم في هذا الشرح
رابط تحميل البرنامج مرفق مع الملف المصدري (Source Code)
github
فيديو شرح لطريقة العمل
هذا الشرح هو مجرد بداية لتتعامل مع البلوتوث موديول , حيث يمكنك تطوير الكود وبرنامج الاندرويد وتنفيذ بيه مشاريع كـ Home automation او اي شئ آخر
المصدر: Arduino Project-Hub
البلوتوث - Bluetooth Module
Bluetooth Module Tutorial
Get Started with HC05 HC06 Module and Arduino
HC05 HC06 Bluetooth Module
شريحة البلوتوث موديول اردوينو , شرح استخدام البلوتوث مع الاردوينو