- ما هي وحدة HM10 BLE 4.0؟
- الفرق بين HM10 ووحدة البلوتوث الأخرى
- المكونات مطلوبة
- مخطط الرسم البياني
- Arduino Bluetooth Controller (HM-10 Module) تطبيق Android
- برمجة Arduino UNO للتحكم في LED باستخدام وحدة البلوتوث HM-10
تعد تقنية Bluetooth واحدة من أكثر التقنيات اللاسلكية شيوعًا وسهولة في الاستخدام. على مدى السنوات القليلة الماضية ، كان هناك العديد من الترقيات لمعيار البلوتوث لمواكبة التكنولوجيا الحالية الجارية مع التكنولوجيا المستقبلية ولتلبية احتياجات المستخدمين. بدءًا من إصدار Bluetooth 1.0 إلى الإصدار 5.0 من Bluetooth ، تم تغيير العديد من الأشياء بما في ذلك معدلات البيانات الأعلى ، والقدرة على استخدامها لإنترنت الأشياء مع استهلاك تيار منخفض ، وتحسين الأمان ، وما إلى ذلك. لتعلم اتصال Bluetooth ، هناك العديد من الوحدات المتاحة التي يمكن أن تكون تتفاعل مع ميكروكنترولر. وحدة Bluetooth هذه هي HM10 التي تعتمد على Bluetooth 4.0.
ما هي وحدة HM10 BLE 4.0؟
HM10 عبارة عن وحدة BLE تسلسلية (Bluetooth منخفضة الطاقة) مصممة للاستخدام في التطبيقات ذات الاستهلاك المنخفض للطاقة ويمكن أن تدوم طويلاً حتى مع بطارية بحجم العملة المعدنية. و HM10 هو 4.0 وحدة بلوتوث استنادا إلى تكساس إنسترومنتس CC2540 أو CC2541 بليه نظام شركة نفط الجنوب (نظام على رقاقة). تم تصميم البرامج الثابتة وتصميم الوحدة وإدارتها بواسطة Jinan Huamao Technology. تأتي الوحدة مع طبقة تسلسلية / UART مما يجعل الجهاز قادرًا على التفاعل مع ميكروكنترولر مختلفة. يعد HM10 مثاليًا لإنشاء اتصالات بسيطة واستخدامه مع أو كجهاز iBeacon.
أصبح HM10 وحدة Bluetooth 4.0 BLE شائعة جدًا. HM10 عبارة عن وحدة قائمة على Bluetooth 4.0 فقط ، لذلك لن تتصل بوحدة Bluetooth 2 / 2.1 مثل HC-05 و HC-06 ووحدات Bluetooth الأخرى. يتم التحكم في HM10 عبر أوامر AT المرسلة عبر اتصال UART التسلسلي. HM-10 هي وحدة Bluetooth منخفضة الطاقة (BLE) ، لمعرفة المزيد عن BLE ، اتبع الرابط. تعرف أيضًا على كيفية استخدام الوحدة النمطية nRF24L01 كوحدة BLE مع Arduino.
الفرق بين HM10 ووحدة البلوتوث الأخرى
الاختلاف الرئيسي الذي يمتلكه HM10 هو إصدار البلوتوث. HM10 عبارة عن وحدة Bluetooth 4.0 ، لذا فهي تأتي مع جميع ميزات Bluetooth الإصدار 4.0 مثل السرعة والإنتاجية والمدى. و HM10 العروض معدل نقل بيانات يصل إلى 24 ميغابت في الثانية مع استهلاك الطاقة منخفضة / منخفضة الطاقة. إلى جانب ذلك ، يوفر HM10 مدى مسافة 100 متر في مساحة مفتوحة. مقارنة بوحدات Bluetooth الأخرى مثل HC-05 وهي وحدة قائمة على تقنية Bluetooth 2.0 ، فإن HM10 يعمل بالتأكيد بشكل أفضل من HC-05. يوفر HC-05 3 ميغابت في الثانية فقط مقارنةً بـ HM10 وهو أقل بكثير.
لا تزال وحدة البلوتوث HC-05 و HC-06 تحظى بشعبية كبيرة بين الصناع والهواة لأنها رخيصة الثمن وسهلة الاستخدام. لقد صنعنا أيضًا العديد من المشاريع باستخدام HC-05/06 وقمنا بربطها بالعديد من وحدات التحكم الدقيقة الأخرى:
- واجهة وحدة Bluetooth مع ESP8266: التحكم في LED
- الاتصال بالبلوتوث HC-05 مع STM32F103C8 Blue Pill: Control LED
- واجهة وحدة HC-05 Bluetooth مع متحكم AVR
- ربط وحدة البلوتوث HC-06 بوحدة التحكم الدقيقة PIC
- مصابيح LED يتم التحكم فيها بالصوت باستخدام Arduino و Bluetooth
- أضواء التحكم الصوتي باستخدام Raspberry Pi
يمكن العثور على جميع المشاريع المتعلقة بالبلوتوث على هذا الرابط.
سنقوم اليوم بواجهة HM-10 BLE Module مع Arduino Uno للتحكم في LED لاسلكيًا باستخدام بروتوكول Bluetooth. سيتم إرسال أوامر التشغيل / الإيقاف عن طريق الهاتف الذكي.
المكونات مطلوبة
المعدات:
- اردوينو UNO
- وحدة بلوتوث HM10
- المقاومات (1 كيلو أوم ، 470 أوم)
- أسلاك توصيل
البرمجيات:
- اردوينو IDE
- Arduino Bluetooth Controller (HM-10 Module) تطبيق Android
- هاتف ذكي يعمل بنظام Android
مخطط الرسم البياني
مخطط الدائرة لتوصيل وحدة Bluetooth HM-10 و Arduino بسيط للغاية كما هو موضح أدناه.
قبل البدء في المشروع ، تأكد من أن وحدة HM-10 هي وحدة HM-10 أصلية. تتوفر وحدات HM-10 الصينية المستنسخة على نطاق واسع. لتحديد الفرق بين وحدة HM-10 الأصلية والمستنسخة ، انظر فقط إلى وجود مذبذب كريستال يبلغ 32 كيلو هرتز على لوحة HM-10. إذا كان Crystal Oscillator موجودًا ، فهو وحدة HM-10 أصلية ولا تحتاج إلى تغيير البرنامج الثابت. ولكن إذا لم تتمكن من رؤية المذبذب البلوري بدلاً منه ، فهو عبارة عن وحدة مستنسخة HM10 وتحتاج إلى تغيير البرنامج الثابت للوحدة المستنسخة HM-10. بدون تغيير البرنامج الثابت HM-10 ، لا يمكنك الوصول إلى وحدة HM-10 بأوامر AT ولا يمكنك إقرانها بالهواتف الذكية. نحن هنا أيضًا نستخدم وحدة النسخ ، لذا قمنا بعمل وميض البرامج الثابتة الخاصة بها قبل توصيلها بـ Ardruino. لتغيير البرنامج الثابت لوحدة Cloned HM-10 ، ما عليك سوى اتباع البرنامج التعليمي الخاص بنا حول كيفية تغيير أو تحديث البرنامج الثابت لوحدة Clone HM-10.
Arduino Bluetooth Controller (HM-10 Module) تطبيق Android
Arduino Bluetooth Controller (HM-10 Module) هو تطبيق أندرويد متاح مجانًا على متجر Google Play. يحتوي هذا التطبيق على واجهة سهلة وبسيطة لوحدة HM-10 BLE. أثناء الاختبار ، تمكن من العثور على HM-10 بسرعة واتصل على الفور بـ HM-10. يحتوي التطبيق على بعض الميزات الرائعة مثل أنه يمكنك إنشاء زر وتخصيصه باستخدام اسم ووظائف مخصصة. سنقوم هنا بإنشاء زرين في تطبيق وحدة تحكم Bluetooth هذا لتشغيل وإيقاف تشغيل LED المتصل بـ Arduino.
كيفية إعداد تطبيق Arduino Bluetooth Controller (HM-10 Module) لنظام Android:
- قم بتنزيل التطبيق من متجر Google Play.
- ستبدو الصفحة الرئيسية للتطبيق كما هو موضح أدناه حيث يمكنك العثور على ميزات مثل ، توصيل الجهاز ، رمز البحث ، رمز الحذف ، حالة الجهاز ، إرسال نص ، إضافة قالب ، إلخ. ابدأ بالبحث في الجهاز إما عن طريق النقر فوق رمز البحث أو بالنقر فوق إلى ثلاث نقاط في الزاوية اليمنى العليا واختر توصيل الجهاز .
- سيتم عرض جميع الأجهزة المتاحة على الشاشة. اختر وحدة HM-10 الصحيحة.
- الآن سيتم توصيل HM-10 بنجاح وستتمكن من رؤية حالة HM-10 في الجزء العلوي من الشاشة.
- الآن يمكنك إما إرسال نص أو سلسلة مباشرة عن طريق الكتابة في قسم النص والضغط على السهم للإرسال أو يمكنك إنشاء قالب مخصص.
- لإنشاء قالب مخصص لتوفير الوقت. انقر فوق رمز " + " في الزاوية اليمنى العليا واملأ التفاصيل. " الاسم " هو اسم الزر ، وحقل " النص " للنصوص أو السلسلة التي سيتم إرسالها إلى HM-10 و " الوصف " هو مجرد وصف الزر الذي سيعمل به الزر.
- أولاً ، قم بإنشاء زر لتشغيل LED وإعطائه اللون الأخضر. سيرسل الزر الحرف "N" إلى HM-10 والذي سيشغل مؤشر LED المتصل بـ Arduino. وبالمثل ، قم بإنشاء زر لـ LED OFF ومنحه اللون الأحمر.. سيرسل الزر الحرف "F" إلى HM-10 والذي سيؤدي إلى إيقاف تشغيل مؤشر LED المتصل بـ Arduino.
- يمكنك الآن رؤية الزرين اللذين تم إنشاؤهما أسفل حقل النص مباشرةً. الآن إذا كنت تريد التحكم في LED ، فما عليك سوى النقر فوق الأزرار.
يؤدي هذا إلى إنهاء إعداد تطبيق android للتحكم في وحدة HM-10. الآن سنبدأ ببرمجة Arduino Uno للحصول على الأحرف من تطبيق Android.
برمجة Arduino UNO للتحكم في LED باستخدام وحدة البلوتوث HM-10
كما هو الحال دائمًا ، يمكن العثور على برنامج كامل مع فيديو توضيحي في نهاية هذا البرنامج التعليمي. لا تتطلب برمجة Arduino UNO لهذا المشروع الكثير من الجهد ولا أي مكتبة. يمكنك استخدام مكتبة الأجهزة التسلسلية والبرامج التسلسلية. إذا كنت تستخدم برنامجًا تسلسليًا ، فقم فقط بتضمين مكتبة تسلسلية للبرامج ، ثم تابع مع مسلسل الأجهزة. في هذا المشروع نستخدم SoftwareSerial. لذا ابدأ بتضمين مكتبة البرامج التسلسلية. يتم توصيل المسامير Rx و Tx في 2 و 3 دبابيس من Arduino.
#تضمن
يتم استخدام المتغيرين لتخزين البيانات الواردة من تطبيق HM10 و android.
التطبيق شار البيانات ؛ سلسلة inData = "" ؛
ما عليك سوى بدء تشغيل Hardware and Software Serial بمعدل 9600 باود وطباعة بعض عبارات تصحيح الأخطاء. تم تعيين دبوس LED كإخراج ويتم إيقاف تشغيله في البداية.
Serial.begin (9600) ؛ Serial.println ("مسلسل HM10 بدأ في 9600") ؛ HM10.begin (9600) ؛ // ضبط مسلسل HM10 بمعدل 9600 باود pinMode (13 ، الإخراج) ؛ // الكتابة الرقمية LED على متن الطائرة (13 ، منخفضة) ؛ // إيقاف تشغيل LED
ابدأ في الاستماع إلى منفذ HM10 واقرأ السلسلة حتى يتوفر HM10 ويرسل البيانات. احفظ البيانات في السلسلة.
HM10.listen () ، // استمع إلى منفذ HM10 أثناء (HM10.available ()> 0) {// إذا أرسل HM10 شيئًا ثم اقرأ appData = HM10.read () ؛ inData = String (appData) ؛ // حفظ البيانات بتنسيق سلسلة Serial.write (appData) ؛ }
ل تصحيح HM10 مع AT أوامر إرسال فقط تحت خط كود والتي سوف ترسل السلسلة إلى HM10.
إذا (Serial.available ()) {// اقرأ إدخال المستخدم إذا كان متاحًا. تأخير (10) ؛ HM10.write (Serial.read ()) ؛ }
إذا كانت السلسلة المستلمة هي "F" ، فقم بطباعة رسالة على الشاشة التسلسلية وأوقف تشغيل المصباح الآخر إذا كانت السلسلة المستلمة هي "N" ، ثم اطبع رسالة على الشاشة التسلسلية ووميض الصمام بتأخير قدره 500 مللي ثانية.
إذا (inData == "F") { Serial.println ("LED OFF") ؛ digitalWrite (13 ، منخفض) ؛ // إيقاف تأخير LED (500) ؛ } إذا (inData == "N") { Serial.println ("LED ON") ؛ digitalWrite (13 ، عالية) ؛ // إيقاف تأخير LED (500) ؛ digitalWrite (13 ، منخفض) ؛ // إيقاف تأخير LED (500) ؛ }
هذا ينهي البرنامج التعليمي الكامل حول كيفية التحكم في LED باستخدام وحدة Arduino و BLE HM10 Blutooth 4.0. تذكر مرة أخرى أنه إذا كانت لديك وحدة HM10 أصلية ، فلن تحتاج إلى تحديث البرامج الثابتة الخاصة بها ، فيمكن استخدامها على الفور. ولكن إذا كنت تستخدم وحدة HM-10 مستنسخة ، فقم بوميض البرنامج الثابت على وحدة استنساخ HM10 BLE. إذا كان لديك أي شك أو اقتراح ، يرجى التعليق أدناه أو الكتابة إلى منتدانا.