يأتي هاتف Arduino الذكي / مراقب تسلسلي عبر Bluetooth HC-05 ، HC-06: 4 خطوات (مع صور)
يأتي هاتف Arduino الذكي / مراقب تسلسلي عبر Bluetooth HC-05 ، HC-06: 4 خطوات (مع صور)
Anonim
يأتي هاتف Arduino الذكي / مراقب تسلسلي عبر Bluetooth HC-05 ، HC-06
يأتي هاتف Arduino الذكي / مراقب تسلسلي عبر Bluetooth HC-05 ، HC-06

يعد هذا مفيدًا بشكل لا يصدق إذا كنت ترغب في اختبار الرسم الخاص بك في بيئة حقيقية ، بعيدًا عن جهاز الكمبيوتر الخاص بك. والنتيجة هي أن هاتفك الذكي يعمل بنفس طريقة شاشة Arduino التسلسلية على جهاز الكمبيوتر الخاص بك. تتوفر وحدتا HC-05 و HC-06 Bluetooth مقابل حوالي 3 جنيهات إسترلينية على موقع ebay ، وهناك العديد من تطبيقات الهواتف الذكية المجانية للاختيار من بينها. هناك بعض المزالق التي نأمل أن تتجنبها باتباع الأمثلة هنا. يمكن لتطبيق الهاتف الذكي المجاني المستخدم هنا أيضًا حفظ النص المستلم في ملف لاستخدامه لاحقًا. لا يوجد تغيير مطلوب على الرسومات الخاصة بك حيث يتم استخدام نفس المسامير التسلسلية.

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

سوف تحتاج:

  • اردوينو المفضل لديك (يستخدم Uno هنا)
  • وحدة بلوتوث HC-05 أو HC-06
  • هاتف ذكي (هاتف يعمل بنظام Android هنا) وتطبيق Bluetooth مجاني

خطوات:

  • قم بتثبيت تطبيق Bluetooth مجاني
  • تكوين وحدة بلوتوث
  • قم بتوصيل Bluetooth بـ Arduino
  • تحميل مثال الرسم
  • نظام اختبار

الخطوة الأولى: تثبيت تطبيق Bluetooth

هناك العديد من تطبيقات Bluetooth المتاحة والعديد منها مجاني. أنا أستخدم هواتف Android ولكني أتوقع نفس الشيء بالنسبة للأنظمة الأخرى. قررت استخدام BlueTerm 2 لأنه يوفر أيضًا خيار تسجيل البيانات المستلمة في الملف. لقد وجدت أيضًا أنه سهل الاستخدام للغاية. لذا انتقل إلى Google Play واطلب تنزيل BlueTerm 2.

عندما يكون التطبيق مثبتًا ، يمكنك الاتصال بأجهزة Bluetooth. لاحظ أنه يجب أولاً إقران جهاز Bluetooth بالهاتف قبل استخدامه في أي تطبيقات:

قم بتشغيل BlueTooth: أذهب عبر الإعدادات> Bluetooth.

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

ابدأ الآن BlueTerm 2. انقر فوق الإعدادات ، ثم انقر فوق توصيل الجهاز وحدد ما هو مطلوب. يمكنك فقط تشغيل وحدة HC-05 / HC-06 في هذه المرحلة والتحقق من عملية الاقتران إذا كنت ترغب في ذلك (قم بتوصيل إمداد سلبي بالأرض و 5 فولت بـ Vcc).

صورة
صورة

الخطوة 2: تكوين وحدة Bluetooth - الجزء 1 - التوصيلات و HC-06

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

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

يحتوي المخطط لتعطيل مسلسل Arduino ببساطة على التعليمات:

pinMode (0 ، الإدخال):

pinMode (1 ، الإدخال) ؛

في قسم الإعداد {}.

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

اتصال للتكوين

مع تحميل الرسم ، يمكننا الآن توصيل وحدة Bluetooth بلوحة Arduino. يتم تبديل اتصالات Tx و Rx مقارنة بما سنفعله لاحقًا لأننا نريد التواصل مع منفذ الكمبيوتر الشخصي لجهاز Serial Monitor وليس معالج Arduino الرئيسي. يتم توصيل PC Tx بـ Arduino Rx والعكس صحيح.

لاحظ أن وحدات Bluetooth تحتوي على مستويات 3.3 فولت لـ Tx و Rx. ومن ثم يجب استخدام مقسم الجهد لإدخال Bluetooth Rx عند الاتصال بأنظمة 5v. عادةً ما يتم اكتشاف إخراج Bluetooth 3.3v Tx جيدًا بواسطة أنظمة 5 فولت وبالتالي يمكن توصيله مباشرة.

لقد وجدت أن مقسم الجهد الذي يستخدم مقاومات 3k3 و 6k8 يعمل حتى 115200 من معدلات الباود التسلسلي.

تحتوي الوحدتان HC05 و HC06 على منظمات جهد على اللوحة ، وبالتالي تعمل مع Vcc متصل بـ 5v.

لذا اتصل:

  • 3k3 المقاوم إلى D0
  • 6k8 المقاوم على الأرض
  • قم بتوصيل الأطراف الأخرى للمقاومين معًا ، ودبوس Rx في وحدة Bluetooth
  • قم بتوصيل وحدة Bluetooth Tx pin بـ D1
  • قم بتوصيل الدبوس الأرضي لوحدة Bluetooth بـ GND قم بتوصيل الدبوس الأرضي لوحدة Bluetooth بـ GND
  • قم بتوصيل وحدة Bluetooth Vcc pin بجهد 5 فولت

انظر الصورة لمزيد من التفاصيل.

صورة
صورة

من أجل تكوين الوحدة ، يجب ضبطها على وضع AT. يختلف الإجراء بالنسبة لوحدتي HC-05 و HC-06.

HC-06

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

قم بتوصيل سلك USB من الكمبيوتر الشخصي إلى Arduino وابدأ Arduino IDE. سيومض ضوء Bluetooth بسرعة (حوالي 4 هرتز) عندما تكون في وضع AT.

افتح Arduino Serial monitor عبر Tools> Serial Monitor. اضبط الباود على 9600 واضبط "بلا خط ينتهي".

أدخل الآن AT وانقر فوق إرسال. إذا كان كل شيء يعمل ، فسترى "موافق" عاد إلى الشاشة. إذا لم يعد أي شيء ، فتحقق من الأسلاك وجرب إعدادات الباود المختلفة.

مع تأكيد الموافقة على الاتصالات الجيدة ، يمكننا تغيير الاسم وتحديد معدل الباود الخاص بنا.

أدخل AT + NAMEARDUINO وانقر فوق إرسال. هذا يضبط اسم الوحدة على ARDUINO. يمكن استخدام أي نص آخر. لاحظ عدم وجود مسافات في الأمر.

يجب أن يكون الرد OKsetname. تتم إضافة هذا إلى موافق المرسلة في وقت سابق

أدخل الآن AT + BAUD8. هذا يضبط الباود على 115200.

يجب أن يكون الرد OK115200. في حالة إرسال المزيد من أوامر AT ، يجب تغيير إعداد Serial Monitor baud إلى 115200.

يمكن تعيين معدلات أخرى. Baud4 هو 9600 ، Baud5 هو 19200 ، Baud6 38400 ، Baud7 57600. هناك إعدادات أعلى من 115200 ولكن تحقق أولاً من أن جهاز الكمبيوتر الخاص بك و Arduino يمكنهما قبولها (لا يمكن أن يتجاوزها 128000). ملاحظة - إذا قمت بتعيين معدل مرتفع جدًا ، فلن تتمكن من التواصل معه لتعويضه !!!

صورة
صورة

الخطوة 3: تكوين وحدة Bluetooth - الجزء 2 - HC-05 والاختبار الأولي

HC-05

هذه لها مضاعفات الحاجة إلى ضبطها يدويًا في وضع AT. يقول الدليل أنه إذا تم تشغيل وضع AT بعد تشغيل الطاقة ، فسيستمر إعداد Baud بالمعدل المحدد بالفعل للاتصالات العادية. لم أستطع الحصول على هذا للعمل! إذا كان وضع AT مضبوطًا على الطاقة على الباود مضبوطًا على 38400. ومن ثم فإن هذا الخيار الأخير هو الأكثر موثوقية حيث يمكننا التأكد من أن الباود هو 38400.

افتح Arduino Serial monitor عبر Tools> Serial Monitor. اضبط الباود على 38400 واضبط "إرجاع أول السطر".

الخطوة التالية هي إدخال اللوحة في وضع AT. هذا هو المكان الذي تنشأ فيه معظم المشاكل بسبب الاختلافات في اللوحات الحاملة.

تتمثل العملية الأساسية في إبقاء دبوس "المفتاح" (دبوس 34) منخفضًا لبضع ثوان عند بدء التشغيل.

لوحتي بها زر للقيام بذلك (دبابيس التوصيل الإضافية هما EN و STATE). افصل سلك Vcc من وحدة Bluetooth. ثم ، أثناء الضغط على الزر ، أعد تطبيق 5 فولت على Vcc. يجب أن يومض مؤشر LED عند فواصل زمنية تبلغ ثانيتين تقريبًا. أمسك الزر حتى الفلاش الثاني.

تحتوي بعض اللوحات على دبوس مفتاح كواحد من 6 دبابيس للوحدة. إذا كان الأمر كذلك ، اربط هذا بـ 3.3 فولت أثناء التشغيل.

لا تحتوي بعض اللوحات على أيٍّ من اللوحات ، وكان على المستخدمين لحام زر بين دبوس المفتاح (34) و 3.3 فولت (دبوس 12). انظر الدليل المرفق.

مع وميض LED ببطء يمكننا التحقق من الاتصالات. أدخل AT وانقر فوق إرسال. يجب أن تكون الاستجابة جيدة. لقد وجدت أن هذا الرد يتكرر باستمرار حتى أرسلت سطرًا فارغًا - فقط انقر فوق إرسال. إذا حصلت على خطأ: (0) فأرسل سطرًا فارغًا ثم أرسل AT.

الآن قم بتعيين اسم جديد. أدخل AT + NAME = ARDUINO يجب أن يكون الرد على ما يرام. ومع ذلك ، في حالتي ، تمت إعادة ضبط الوحدة من وضع AT (يومض مؤشر LED بسرعة). لم أتمكن من العثور على السبب وحدث هذا أيضًا عند استخدام اتصال تسلسلي FDTI بدلاً من Arduino. عدت إلى وضع AT كما كان من قبل: افصل سلك الطاقة باللوحة وأعد الاتصال أثناء الضغط على الزر. وأظهرت فحوصات لاحقة أنه تم تغيير الاسم.

بعد ذلك ، قم بتعيين الباود. أدخل AT + UART = 115200 ، 1 ، 0 يجب أن يكون الرد جيدًا. ومع ذلك ، فقد قفز في بعض الأحيان من وضع AT كما هو مذكور أعلاه.

يمكن التحقق من إعداد UART باستخدام الأمر: AT + UART؟ يجب أن يكون الرد جيدًا وأن + UART = 115200، 1، 0

الاختبار الأولي

في هذه المرحلة ، لدينا جهاز كمبيوتر به اتصال تسلسلي بوحدة Bluetooth. لذلك يمكن إجراء اختبار أولي واختياري عن طريق بدء تشغيل تطبيق BlueTerm 2 للهاتف الذكي (بافتراض أن الوحدة قد تم إقرانها بالفعل بالهاتف). اتصل بـ ARDUINO. اضبط Arduino Serial Monitor على 115200 باود. اكتب "Hello World" وانقر فوق إرسال. يجب أن يظهر هذا الآن على BlueTerm 2. الآن اكتب "Hello to you" في BlueTerm 2. يجب أن يظهر هذا الآن في Serial Monitor.

صورة
صورة
صورة
صورة

الخطوة 4: قم بتوصيل وحدة Bluetooth بـ Arduino

نحتاج إلى تحميل رسم اختبار Arduino أولاً. يرسل BTtest.ino المرفق رقمًا كل 0.5 ثانية ثم يزيده ، ويتدحرج إلى 0 من 255. أنشئ مجلدًا يسمى BTtest في مجلد الرسومات وأضف BTtest.ino

يستخدم اتصال Arduino التسلسلي أيضًا لتنزيل الرسومات. لذلك يجب فصل السلكين إلى وحدة Bluetooth حتى لا تتداخل.

بعد تنزيل المخطط ، أعد توصيل وحدة Bluetooth. لاحظ مع ذلك أنه يجب تبديل Tx و Rx على Arduino مقارنة بإعداد التكوين السابق.

لذا اتصل:

  • 3k3 المقاوم إلى D1
  • 6k8 المقاوم على الأرض
  • قم بتوصيل الأطراف الأخرى للمقاومين معًا ، ودبوس Rx في وحدة Bluetooth
  • قم بتوصيل وحدة Bluetooth Tx pin بـ D0
  • قم بتوصيل الدبوس الأرضي لوحدة Bluetooth بـ GND قم بتوصيل الدبوس الأرضي لوحدة Bluetooth بـ GND
  • قم بتوصيل وحدة Bluetooth Vcc pin بجهد 5 فولت

انظر الصورة لمزيد من التفاصيل.

صورة
صورة

الآن قم بتشغيل Arduino. لا يلزم توصيله بجهاز كمبيوتر.

قم بإقران اللوحة بالهاتف الذكي إذا لم تكن متصلة بالفعل (انظر تثبيت تطبيق Bluetooth أعلاه). ثم ابدأ BlueTerm 2 ، وانقر فوق الإعدادات ، ثم انقر فوق توصيل الجهاز وحدد ARDUINO. يجب أن تشاهد الشاشة ممتلئة بأرقام تتزايد من 0 إلى 255.

صورة
صورة

أتمنى أن تجد هذا مفيدًا كما فعلت.

مايك

تحدي البلوتوث
تحدي البلوتوث
تحدي البلوتوث
تحدي البلوتوث

الوصيف في تحدي البلوتوث