الجمعة، 24 يونيو 2016

استخدام البلوتوث HC05/HC06 Bluetooth Module مع اردوينو



شرح استخدام البلوتوث HC05 Bluetooth Module مع لوحة اردوينو





الادوات المطلوبة

  • - HC05/HC06 Bluetooth Module
  • - لوحة اردوينو
  • - دايود ضوئي LED
  • - مقاومة قيمتها ما بين (220 اوم) و (1 كيلو اوم)
  • - موبايل يعمل بنظام اندرويد



التوصيل

 

قم بتوصيل اطراف البلوتوث موديول مع لوحة اردوينو طبقا للجدول التالي:

To Arduino PinBluetooth Pin
RX (Pin 0)TX
TX (Pin 1)RX
5VVCC
GNDGND
انتبه: لا تقوم بتوصيل 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




برنامج الاندرويد




يمكنك استخدام اي برنامج مخصص للتعامل مع بلوتوث الاندرويد الموجودين علي متجر جوجل , و يمكنك تطوير برنامج بنفسك

او يمكنك استخدام البرنامج المستخدم في هذا الشرح



رابط تحميل البرنامج مرفق مع الملف المصدري (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
شريحة البلوتوث موديول اردوينو , شرح استخدام البلوتوث مع الاردوينو