- المكونات مطلوبة
- ESP8266 HC-05 مخطط دائرة وحدة البلوتوث
- وحدة بلوتوث HC-05
- باستخدام Serial Bluetooth Terminal (تطبيق Android)
- برمجة NodeMCU ESP8266 لواجهة بلوتوث
في أيامنا هذه ، أصبحت تقنية Bluetooth جزءًا لا يتجزأ من الأجهزة الرقمية وهي مدمجة في معظم الأجهزة مثل الهواتف الذكية والكمبيوتر المحمول والكمبيوتر الشخصي والكاميرا والساعات وعصابات اللياقة وغيرها الكثير. لطالما كانت Bluetooth تهيمن على البروتوكول في الاتصالات اللاسلكية منذ اكتشافها. على الرغم من أن تقنية Bluetooth هي في الأساس نظام بديل للكابلات ، إلا أنها تستفيد أيضًا من جسر عالمي لشبكات البيانات الحالية وآلية اتصال مخصصة لعدد من الأجهزة في تكوينات مختلفة. لقد استخدمنا وحدة Bluetooth HC05 و HC06 مع العديد من وحدات التحكم الدقيقة الأخرى لجعلها تتواصل لاسلكيًا:
- الاتصال بالبلوتوث HC-05 مع STM32F103C8 Blue Pill: Control LED
- واجهة وحدة HC-05 Bluetooth مع متحكم AVR
- الروبوت المتحكم فيه الروبوت باستخدام متحكم 8051
- التحكم في Raspberry Pi GPIO باستخدام تطبيق Android عبر البلوتوث
- لعبة سيارة تعمل بالتحكم عن طريق البلوتوث باستخدام اردوينو
اليوم سنقوم بواجهة HC-05 Bluetooth Module بوحدة Wi-Fi الشائعة ESP8266 والتحكم في LED لاسلكيًا عن طريق إرسال أوامر عبر Bluetooth. يمكن استبدال هذا LED بجهاز Relay وجهاز AC لبناء تطبيق أتمتة المنزل.
المكونات مطلوبة
المعدات:
- NodeMCU ESP8266
- وحدة بلوتوث HC-05
البرمجيات:
- اردوينو IDE
- محطة بلوتوث التسلسلية (تطبيق Android): لمراقبة بيانات Bluetooth على الهاتف الذكي.
ESP8266 HC-05 مخطط دائرة وحدة البلوتوث
مخطط الدائرة لتوصيل وحدة Bluetooth HC-05 مع NodeMCU ESP8266 بسيط للغاية وموضح أدناه:
مطلوب وحدة بلوتوث خارجية مع ESP8266 لأنها لا تحتوي على بلوتوث مدمج مثل ESP32. يحتوي ESP32 على تقنية Bluetooth منخفضة الطاقة (BLE) و Classic Bluetooth ، والتي سبق أن قمنا بتغطية بعض البرامج التعليمية عليها:
- خادم ESP32 BLE - خدمة GATT لمؤشر مستوى البطارية
- عميل ESP32 BLE - الاتصال بشريط اللياقة لتشغيل لمبة
- كيفية استخدام Serial Bluetooth في ESP32
وحدة بلوتوث HC-05
HC-05 عبارة عن وحدة بلوتوث تسلسلية. يمكن تكوينه باستخدام أوامر AT. يمكن أن تعمل في ثلاثة تكوينات مختلفة (Master ، Slave ، Loop back). في مشروعنا سنستخدمه كعبيد. تتضمن ميزات وحدة HC-05 ،
- حساسية نموذجية -80 ديسيبل.
- معدل الباود الافتراضي: 9600 بت في الثانية ، 8 بتات بيانات ، 1 بت توقف ، بدون تماثل.
- رمز PIN للإقران التلقائي: رمز PIN الافتراضي "1234" أو "0000".
- لديها 6 دبابيس.
- تُستخدم دبابيس Vcc و Gnd لتشغيل HC-05.
- تُستخدم دبابيس Tx و Rx للتواصل مع المتحكم الدقيق.
- تمكين دبوس لتنشيط وحدة HC-05. عندما تكون منخفضة ، يتم تعطيل الوحدة
- مؤشر حالة أعمال دبوس الدولة. عندما لا يتم إقرانه / توصيله بأي جهاز Bluetooth آخر ، يومض LED باستمرار. عندما يتم توصيله / إقرانه بأي جهاز Bluetooth آخر ، يومض مؤشر LED مع تأخير مستمر لمدة ثانيتين.
لمعرفة المزيد حول وحدة Bluetooth ، انتقل إلى مشاريعنا الأخرى المتعلقة بتقنية Bluetooth.
باستخدام Serial Bluetooth Terminal (تطبيق Android)
استخدام هذا التطبيق سهل للغاية ويتطلب خطوات قليلة. لقطات الشاشة أدناه مع الخطوات. ما عليك سوى إقران HC-05 بالهاتف الذكي. الرمز الافتراضي هو "0000" أو "1234" ولكن في الغالب يعمل "1234".
- أولاً قم بتنزيل التطبيق وتثبيته ثم انتقل إلى الأجهزة للعثور على HC-05 Module. حدد وحدة HC-05 التي تم البحث عنها في التطبيق. إذا لم يتم العثور عليه ، فتحقق مما إذا كان HC-05 يعمل بشكل صحيح.
- بعد النقر فوق HC-05 سيتم توصيله. اكتب الآن أي رسالة في مربع الرسالة وأرسلها. ستتم طباعته على Arduino Serial Monitor.
برمجة NodeMCU ESP8266 لواجهة بلوتوث
لبرمجة NodeMCU ESP8266 باستخدام ArduinoIDE ، ما عليك سوى توصيله من الكمبيوتر المحمول أو الكمبيوتر الشخصي باستخدام كابل Micro USB وفتح Arduino IDE. في هذا البرنامج التعليمي ، سيتم استخدام المسلسل التسلسلي للجهاز ومسلسل البرنامج. سيتم استخدام المسلسل للأجهزة لقراءة البيانات وكتابتها إلى Arduino Serial Monitor وسيتم استخدام Sofware Serial للتواصل مع HC-05. كما هو الحال دائمًا ، يتم تقديم التعليمات البرمجية الكاملة والفيديو التجريبي في نهاية البرنامج التعليمي.
في البداية ، قم بتضمين مكتبة Software Serial حيث سيتم استخدامها في هذا البرنامج التعليمي.
#تضمن
حدد دبوس RX و TX للاتصال التسلسلي للبرنامج ، وحدد أيضًا دبوس LED المتصل بـ NodeMCU. نحن نستخدم LED الداخلي لـ NodeMCU الموجود في Pin D4.
SoftwareSerial btSerial (D2 ، D3) ؛ // RX ، int led = D4 ؛
بدء المسلسل البرامج والأجهزة بمعدل 9600 باود. تعيين دبوس الصمام كإخراج. اطبع بعض رسائل الترحيب وتصحيح الأخطاء.
Serial.begin (9600) ؛ btSerial.begin (9600) ؛ pinMode (D4 ، الإخراج) ؛ Serial.println ("تم البدء…") ؛
أولاً ، اقرأ من وحدة Bluetooth وحدد حالة أنه إذا استقبلت وحدة Bluetooth "B" من الهاتف ، فابدأ وامض Led متصلاً بـ D4 من NodeMCU وإلا إذا استقبلت "S" ثم توقف عن الوميض. نحن لا نستخدم تأخير () هنا. ولكن سيتم استخدام Arduino "millis" لعدم إعاقة أداء Arduino.
if (btSerial.available ()> 0) { char data = btSerial.read () ؛ التبديل (البيانات) { حالة 'B': ledB = "وميض" ؛ استراحة؛ الحالة 'S': ledB = "توقف" ؛ استراحة؛ الافتراضي: كسر ؛ } }
يتم تعريف الميلي وتعيين التأخير عند 500 مللي ثانية ، أي أن مؤشر LED يومض بعد كل 500 مللي ثانية. كما يمكنك تكوين تأخير الصمام عن طريق تغيير قيمة "الفاصل الزمني". سيتم تبديل حالة القيادة.
تيار طويل بدون توقيع
إذا (ledB == "وميض") { Serial.println ("بدأ الوميض") ؛ إذا (currentMillis - previousMillis> = الفاصل الزمني) { previousMillis = currentMillis ؛ إذا (ledState == LOW) { ledState = HIGH ؛ } else { ledState = LOW ؛ } digitalWrite (led ، ledState) ؛ } }
وهذا سينهي البرمجة NodeMCU إلى Blink LED لاسلكيًا باستخدام Bluetooth. يمكنك أيضًا تغيير البرنامج للقيام بمهام مختلفة باستخدام LED مثل يمكن استبدال LED بجهاز Relay مع جهاز AC لإنشاء مشروع أتمتة المنزل Bluetooth. في حالة وجود أي شك أو اقتراح ، يرجى الوصول إلى منتدانا أو التعليق أدناه.