You are currently viewing Arduino and HC-05/HC-06 Bluetooth Module Complete Tutorial
وحدة البلوتوث HC-05 المستخدمة في مشاريع Arduino.

أردوينو ووحدة البلوتوث HC-05/HC-06: دليل شامل

في هذا الدليل الشامل لاستخدام البلوتوث مع أردوينو، سنتعرف على كيفية استخدام وحدات البلوتوث HC-05 وHC-06 للتحكم في أردوينو عبر الاتصال بالبلوتوث. سنبدأ بمثال بسيط للتحكم في مصباح LED، ثم ننتقل إلى التحكم في مصباح بجهد 230 فولت باستخدام مرحل (relay). اتبع الخطوات أدناه لإنشاء نظام تحكم بالبلوتوث وظيفي باستخدام أردوينو. يمكنك زيارة هذا الدليل لتعلم كيفية برمجة أردوينو والتحكم في مصباح LED.

Arduino Bluetooth Tutorial HC-05 Bluetooth Module

سيرشدك هذا الدليل لفهم وحدات البلوتوث HC-05/HC-06 واستخدامها للتحكم في أردوينو. سنقوم بإنشاء تطبيق أندرويد بسيط باستخدام MIT App Inventor لإرسال الأوامر إلى أردوينو، أولاً للتحكم في مصباح LED ثم في مصباح.

الميزات الرئيسية لوحدات البلوتوث HC-05 وHC-06

في هذا القسم من دليل البلوتوث لأردوينو، سنستعرض الميزات الرئيسية لوحدات البلوتوث HC-05 وHC-06. تعتبر هذه الوحدات خيارات شائعة للاتصال اللاسلكي في مشاريع أردوينو، حيث توفر اتصالاً موثوقًا وسهولة في الاستخدام. أدناه ستجد مقارنة بين خصائصها الرئيسية:

Feature HC-05 Bluetooth Module HC-06 Bluetooth Module
بروتوكول البلوتوث
Bluetooth Specification v2.0+EDR
Bluetooth Specification v2.0+EDR
التردد
2.4GHz ISM Band
2.4GHz ISM Band
التضمين (Modulation)
GFSK (Gaussian Frequency Shift Keying)
GFSK (Gaussian Frequency Shift Keying)
طاقة الإرسال
4dBm, Class 2
4dBm, Class 2
الحساسية
-84dBm at 0.1% BER
-84dBm at 0.1% BER
معدل البيانات
Asynchronous: 2.1Mbps (Max) / 160 kbps, Synchronous: 1Mbps/1Mbps
Asynchronous: 2.1Mbps (Max) / 160 kbps
الملفات الشخصية المدعومة
Bluetooth Serial Port (Master & Slave)
Bluetooth Serial Port (Slave only)
جهد التشغيل
3.3 - 5 V DC / 50mA
3.3 - 5 V DC / 50mA
درجة حرارة التشغيل
-5°C to +45°C
-5°C to +45°C
معدل الباود
Configurable from 2400 to 1382400
Fixed at 9600

وحدات البلوتوث HC-05/HC-06 في دليل Arduino التعليمي

قبل أن نبدأ بالأمثلة العملية، دعونا نفهم ما هي هذه وحدات البلوتوث وكيفية عملها.

HC-05 مقابل HC-06
HC-05: يمكن تكوينه كجهاز رئيسي (Master) أو تابع (Slave).
HC-06: يمكن تكوينه فقط كجهاز تابع (Slave).
كلا الوحدتين تستخدمان بروتوكول منفذ التسلسل (SPP) للتواصل مع أردوينو، مما يجعلهما سهلتي الاستخدام للاتصال اللاسلكي. هذا يجعلها خيارًا رائعًا لتطبيقات التحكم عن بعد.

المكونات المطلوبة:
وحدة البلوتوث HC-05
لوحة أردوينو
لوحة تجارب وأسلاك توصيل
وحدة Relay
مصباح (230 فولت)

الجزء 1: التحكم في الصمام الثنائي الباعث للضوء LED

مخططات الدائرة

إليك كيفية توصيل وحدة البلوتوث HC-05/HC-06 بلوحة أردوينو:

1- وحدة البلوتوث HC-05/HC-06:
VCC إلى 5 فولت على الأردوينو.
GND إلى GND على الأردوينو.
من TXD إلى RX (الدبوس 0) على الأردوينو (استخدم مقسم جهد للسلامة).
RXD إلى TX (الدبوس 1) على الأردوينو.
2- الصمام الثنائي الباعث للضوء LED:
وصل الطرف الموجب (الساق الأطول) من LED بالطرف 7 على أردوينو (مع مقاوم لتحديد التيار).
وصل الطرف السالب (الساق الأقصر) من LED إلى GND على أردوينو.

Arduino Bluetooth Tutorial HC-05 Module LED Control Circuit Diagram

كود مصدر مثال لاتصالات البلوتوث Arduino Bluetooth

سنكتب كود أردوينو لتمكين التواصل بين لوحة أردوينو والهاتف الذكي لتشغيل وإطفاء مصباح LED.

/**
 * Author: Omar Draidrya
 * Date: 2024/06/07
 * This code controls the forward and backward movement of a motor using an H-bridge.
 */

#define ledPin 7 // Pin for the LED
char state = 0; // Variable to store incoming data

void setup() {
  pinMode(ledPin, OUTPUT); // Set the LED pin as output
  digitalWrite(ledPin, LOW); // Initialize the LED state to OFF
  Serial.begin(9600); // Baudrate set to 9600 for consistency
}

void loop() {
  if (Serial.available() > 0) { // Check if data is coming from the serial port
    state = Serial.read(); // Read the data from the serial port
    if (state == '0') { // If the received data is '0'
      digitalWrite(ledPin, LOW); // Turn LED OFF
      Serial.println("LED: OFF"); // Send back to the phone
    } else if (state == '1') { // If the received data is '1'
      digitalWrite(ledPin, HIGH); // Turn LED ON
      Serial.println("LED: ON"); // Send back to the phone
    }
  }
}


    

الوصف: هذا الكود يقوم بإعداد أردوينو للتواصل مع الهاتف الذكي عبر البلوتوث للتحكم في مصباح LED. المصباح متصل بالطرف 7. Serial.begin(38400) يبدأ الاتصال التسلسلي بمعدل 38400 باود. loop تقوم الدالة بالتحقق من البيانات الواردة وتشغيل أو إطفاء مصباح LED بناءً على الأمر المستلم ('0' أو '1').

تطوير تطبيق بسيط باستخدام MIT App Inv

الدليل التفصيلي لإنشاء التطبيق خطوة بخطوة

1- التسجيل وتسجيل الدخول:
اذهب إلى موقع MIT App Inventor.
سجّل الدخول باستخدام حساب Google الخاص بك.

2- إنشاء مشروع جديد:
انقر على "بدء مشروع جديد" وأطلق عليه اسم "BluetoothControl".

3- تصميم واجهة المستخدم:
أضف تسمية واضبط النص على "التحكم بالبلوتوث".
أضف منتقي القوائم واضبط النص على "تحديد جهاز بلوتوث". سمِّه "ListPicker_Bluetooth".
إضافة زرين:
الاسم: "Button_ON"، النص: "تشغيل".
الاسم: "Button_OFF"، النص: "إيقاف التشغيل".
أضف مكون BluetoothClient من لوحة التوصيل (مكون غير مرئي).

4- برمجة الكتل:
انتقل إلى محرر المكوِّن.
أضف الكتل (blocks) التالية:

when ListPicker1.BeforePicking
  set ListPicker1.Elements to BluetoothClient1.AddressesAndNames

when ListPicker1.AfterPicking
  if call BluetoothClient1.Connect address ListPicker1.Selection
    then set Label1.Text to "Connected"
    else set Label1.Text to "Not Connected"

when Button1.Click
  if BluetoothClient1.IsConnected
    call BluetoothClient1.SendText text "1"

when Button2.Click
  if BluetoothClient1.IsConnected
    call BluetoothClient1.SendText text "0"
    
Arduino Bluetooth Control App Interface

توصيل الهاتف الذكي بوحدة البلوتوث HC-05 و Arduino

1- إقران جهاز بلوتوث:
قم بتشغيل Bluetooth على هاتفك الذكي.
الاقتران مع الوحدة HC-05/HC-06 (كلمة المرور الافتراضية هي 1234).

2- الاتصال عبر التطبيق:
استخدم التطبيق للاتصال بوحدة Bluetooth.
استخدم زري "تشغيل" و "إيقاف التشغيل" للتحكم في مؤشر LED.

الجزء 2: التحكم في مصباح بجهد 230 فولت في دليل وحدة البلوتوث لأردوينو

في هذا الجزء، سنقوم بتوسيع مشروعنا للتحكم في مصباح بجهد 230 فولت باستخدام وحدة مرحل. سيتصرف المرحل كمفتاح للتحكم في المصباح عالي الجهد.

مخططات الدائرة

إليك كيفية توصيل وحدة البلوتوث HC-05/HC-06، وحدة المرحل (relay )، والمصباح بلوحة أردوينو:

1- وحدة البلوتوث HC-05/HC-06:
VCC إلى 5 فولت على الأردوينو.
GND إلى GND على الأردوينو.
من TXD إلى RX (الدبوس 0) على الأردوينو (استخدم مقسم جهد للسلامة).
RXD إلى TX (الدبوس 1) على الأردوينو.

2- وحدة الترحيل (Relay):
VCC إلى 5 فولت على الأردوينو.
GND إلى GND على الأردوينو.
في إلى الدبوس 7 على الأردوينو.

3- مصباح (230 فولت):
قم بتوصيل سلك واحد من المصباح بالطرف الطرفي المفتوح عادةً (NO) للمرحِّل (relay).
قم بتوصيل السلك المشترك (COM) للمرحِّل (relay ) بالسلك المباشر (L) من مصدر الطاقة.
قم بتوصيل السلك المحايد (N) من مصدر الطاقة مباشرة بالمصباح.

ملاحظة: كن حذرًا للغاية عند العمل مع تيار متردد بجهد 230 فولت. تأكد من أن جميع التوصيلات آمنة ومعزولة. إذا لم تكن واثقًا من التعامل مع الجهد العالي، فاطلب المساعدة من كهربائي مؤهل.

Arduino Bluetooth Tutorial HC-05 Module Relay Lamp Control Circuit Diagram

كود مصدر مثال لاتصالات البلوتوث Arduino Bluetooth

سنكتب كود أردوينو لتمكين التواصل بين لوحة أردوينو والهاتف الذكي لتشغيل وإطفاء المصباح عبر مرحل (relay).

/**
 * Author: Omar Draidrya
 * Date: 2024/06/07
 * This code controls the forward and backward movement of two DC motors using the Adafruit Motor Shield.
 */

#define relayPin 7
int state = 0;

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
  if (Serial.available() > 0) { // Check if data is coming from the serial port
    state = Serial.read(); // Read the data from the serial port
  }

  if (state == '0') {
    digitalWrite(relayPin, LOW); // Turn Relay OFF
    Serial.println("Lamp: OFF"); // Send back to the phone
    state = 0;
  } else if (state == '1') {
    digitalWrite(relayPin, HIGH); // Turn Relay ON
    Serial.println("Lamp: ON"); // Send back to the phone
    state = 0;
  }
}

    

الوصف: هذا الكود يقوم بإعداد أردوينو للتواصل مع الهاتف الذكي عبر البلوتوث للتحكم في مصباح عبر مرحل. المرحل متصل بالطرف 7. Serial.begin(38400) يبدأ الاتصال التسلسلي بمعدل 38400 باود. loop تقوم الدالة بالتحقق من البيانات الواردة وتشغيل أو إطفاء المرحل بناءً على الأمر المستلم ('0' أو '1').

تطوير تطبيق بسيط باستخدام MIT App Inv

الدليل التفصيلي لإنشاء التطبيق خطوة بخطوة

1- التسجيل وتسجيل الدخول:
اذهب إلى موقع MIT App Inventor.
سجّل الدخول باستخدام حساب Google الخاص بك.

2- إنشاء مشروع جديد:
انقر على "بدء مشروع جديد" وأطلق عليه اسم "BluetoothControl".

3- تصميم واجهة المستخدم:
أضف تسمية واضبط النص على "التحكم بالبلوتوث".
أضف منتقي القوائم واضبط النص على "تحديد جهاز بلوتوث". سمِّه "ListPicker_Bluetooth".
إضافة زرين:
الاسم: "Button_ON"، النص: "تشغيل".
الاسم: "Button_OFF"، النص: "إيقاف التشغيل".
أضف مكون BluetoothClient من لوحة التوصيل (مكون غير مرئي).

4- برمجة الكتل:
انتقل إلى محرر المكوِّن.
أضف الكتل (blocks) التالية:

when ListPicker1.BeforePicking
  set ListPicker1.Elements to BluetoothClient1.AddressesAndNames

when ListPicker1.AfterPicking
  if call BluetoothClient1.Connect address ListPicker1.Selection
    then set Label1.Text to "Connected"
    else set Label1.Text to "Not Connected"

when Button1.Click
  if BluetoothClient1.IsConnected
    call BluetoothClient1.SendText text "1"

when Button2.Click
  if BluetoothClient1.IsConnected
    call BluetoothClient1.SendText text "0"
    
Arduino Bluetooth Control App Interface

توصيل الهاتف الذكي بوحدة البلوتوث HC-05 و Arduino

1- إقران جهاز بلوتوث:
قم بتشغيل Bluetooth على هاتفك الذكي.
الاقتران مع الوحدة HC-05/HC-06 (كلمة المرور الافتراضية هي 1234).

2- الاتصال عبر التطبيق:
استخدم التطبيق للاتصال بوحدة Bluetooth.
استخدم الأزرار "تشغيل" و "إيقاف" للتحكم في المصباح عبر المرحل.

الخاتمة

استخدام وحدة البلوتوث HC-05/HC-06 مع أردوينو يفتح العديد من الامكانيات للتحكم اللاسلكي في مشاريعك. سواء كنت تتحكم في مصباح LED أو مصباح بجهد 230 فولت، فإن البلوتوث يوفر طريقة بسيطة وفعالة لإضافة الاتصال اللاسلكي إلى مشاريع أردوينو الخاصة بك. هذا الدليل الشامل أظهر لك كيفية إعداد أنظمة بسيطة وأكثر تعقيدًا باستخدام البلوتوث، وأردوينو، وMIT App Inventor.

باتباع الخطوات الموضحة في هذا الدليل، يمكنك توسيع معرفتك ومهاراتك في مجال التواصل بين أردوينو والبلوتوث. لا تتردد في طرح أي أسئلة في قسم التعليقات أدناه وتفقد مشاريعي الأخرى المتعلقة بأردوينو لمزيد من الإلهام.

omartronics

مرحبًا بكم في OmArTronics، مركز عشاق التكنولوجيا والعقول المبدعة! اسمي عمر، مؤسس هذا الموقع الإلكتروني وقناة اليوتيوب، وأنا مهندس شغوف ذو خلفية في الهندسة الكهربائية والميكانيكية، وأتابع حاليًا دراسة الماجستير في الميكاترونيكس في ألمانيا.

اترك تعليقاً