- المتطلبات:
- تنزيل البرامج وتثبيتها:
- جزء أجهزة Arduino ومخطط الدائرة:
- جزء برنامج اردوينو:
- تطبيق Android Mobile للرادار بالموجات فوق الصوتية:
- شرح العمل:
هذا مشروع مثير للاهتمام نستكشف فيه قوة Arduino و Android لإنشاء جهاز مراقبة يستخدم Arduino و Ultra Sonic Sensor لبث المعلومات إلى تطبيق الهاتف المحمول (Android) باستخدام Bluetooth.
كانت السلامة والأمان شاغلنا الأساسي منذ العصور. سيؤدي تثبيت كاميرا أمان ذات الوضع الليلي مع خيار الإمالة والتدوير إلى إحداث فجوة كبيرة في جيوبنا. ومن ثم ، دعونا نصنع جهازًا اقتصاديًا يقوم بنفس الشيء تقريبًا ولكن بدون أي ميزات فيديو.
يستشعر هذا الجهاز الأشياء بمساعدة مستشعر الموجات فوق الصوتية وبالتالي يمكنه العمل حتى أثناء الليل. نقوم أيضًا بتركيب مستشعر الولايات المتحدة (Ultra Sonic) فوق محرك مؤازر ، ويمكن ضبط محرك المؤازرة هذا على التدوير تلقائيًا لمسح المنطقة أو يمكن تدويره يدويًا باستخدام تطبيق الهاتف المحمول لدينا ، حتى نتمكن من تركيز مستشعر الموجات فوق الصوتية اتجاهنا المطلوب واستشعار الأشياء الموجودة هناك. سيتم بث جميع المعلومات التي يستشعرها جهاز الاستشعار الأمريكي إلى هاتفنا الذكي باستخدام وحدة Bluetooth (HC-05). لذلك ستعمل مثل سونار أو رادار.
ممتع أليس كذلك ؟؟…. دعونا نرى ما نحتاجه للقيام بهذا المشروع.
المتطلبات:
المعدات:
- مصدر طاقة A + 5V (أنا أستخدم لوحة Arduino (أخرى) لإمداد الطاقة)
- Arduino Mega (يمكنك استخدام أي شيء من pro mini إلى Yun)
- محرك سيرفو (أي تصنيف)
- وحدة بلوتوث (HC-05)
- مستشعر Ultra Sonic (HC-SR04)
- اللوح (غير إلزامي)
- توصيل الأسلاك
- هاتف Android
- كمبيوتر للبرمجة
البرمجيات:
- برنامج اردوينو
- أندرويد سك
- معالجة Android (لإنشاء تطبيق جوال)
بمجرد أن نكون جاهزين بموادنا ، فلنبدأ في بناء الأجهزة. لقد قسمت هذا البرنامج التعليمي إلى جزء Arduino وجزء المعالجة لسهولة الفهم. لا يحتاج الأشخاص الجدد في المعالجة إلى الخوف كثيرًا لأن الكود الكامل يتم تقديمه في نهاية البرنامج التعليمي والذي يمكن استخدامه على هذا النحو.
تنزيل البرامج وتثبيتها:
و IDE اردوينو يمكن تثبيتها من هنا. قم بتنزيل البرنامج وفقًا لنظام التشغيل الخاص بك وقم بتثبيته. سيتطلب Arduino IDE سائقًا للتواصل مع أجهزة Arduino الخاصة بك. يجب أن يتم تثبيت برنامج التشغيل هذا تلقائيًا بمجرد توصيل اللوحة بجهاز الكمبيوتر الخاص بك. حاول تحميل برنامج blink من الأمثلة للتأكد من أن Arduino يعمل.
و IDE المعالجة يمكن تثبيتها من هنا. المعالجة هي تطبيق ممتاز مفتوح المصدر يمكن استخدامه للعديد من الأشياء ، وله أوضاع مختلفة. في "وضع Java" يمكننا إنشاء تطبيقات كمبيوتر Windows (ملفات.EXE) وفي "وضع Android" يمكننا إنشاء تطبيقات Android للأجهزة المحمولة (ملفات.APK) ، كما أن لديها أوضاعًا أخرى مثل "وضع Python" حيث يمكنك كتابة برامج Python. لن يغطي هذا البرنامج التعليمي أساسيات المعالجة ، وبالتالي إذا كنت تريد تعلم برمجة Java أو معالجتها مباشرةً إلى قناة YouTube الرائعة هذه هنا.
جزء أجهزة Arduino ومخطط الدائرة:
يتضمن هذا المشروع الكثير من المكونات مثل محرك سيرفو ، ووحدة بلوتوث ، وجهاز استشعار بالموجات فوق الصوتية وما إلى ذلك ، وبالتالي إذا كنت مبتدئًا تمامًا ، فمن المستحسن أن تبدأ ببعض البرامج التعليمية الأساسية التي تتضمن هذه المكونات ثم تعود إلى هنا. تحقق من مشاريعنا المختلفة على محرك سيرفو ووحدة بلوتوث ومستشعر الموجات فوق الصوتية هنا.
لا يتم تشغيل جميع المكونات بواسطة Arduino نفسه لأن محرك سيرفو ووحدة Bluetooth ومستشعر الولايات المتحدة يجذب الكثير من التيار الذي لن يتمكن Arduino من الحصول عليه. ومن ثم فمن المستحسن استخدام أي مصدر خارجي + 5 فولت. إذا لم يكن لديك مصدر خارجي + 5 فولت في متناول يدك ، فيمكنك مشاركة المكونات بين لوحتين من Arduino كما فعلت. لقد قمت بتوصيل قضبان الطاقة Servos بلوحة Arduino أخرى (اللون الأحمر) وقمت بتوصيل وحدة Bluetooth HC-05 ومستشعر الموجات فوق الصوتية HC-SR04 إلى Arduino mega. تنبيه: سيؤدي تشغيل كل هذه الوحدات باستخدام لوحة Arduino واحدة إلى تقليب منظم جهد Arduino.
يرد أدناه مخطط اتصال لمشروع Sonar القائم على Arduino:
بمجرد إجراء التوصيلات ، قم بتركيب مستشعر الولايات المتحدة على محرك سيرفو الخاص بك كما هو موضح أدناه:
لقد استخدمت قطعة بلاستيكية صغيرة كانت في القمامة وشريطًا مزدوج الجانب لتركيب المستشعر. يمكنك الخروج بفكرتك الخاصة لتفعل الشيء نفسه. هناك أيضًا حاملات مؤازرة متوفرة في السوق والتي يمكن استخدامها لنفس الغرض.
بمجرد تثبيت المؤازرة وإعطاء الاتصالات ، يجب أن تبدو مثل هذا.
اتبع الخطط الموجودة في الأعلى إذا حدث خطأ في أي اتصالات. الآن دعونا نبدأ في برمجة Arduino Mega باستخدام Arduino IDE.
جزء برنامج اردوينو:
يتعين علينا كتابة الكود الخاص بنا حتى نتمكن من حساب المسافة بين كائن ومستشعر Ultra Sonic وإرساله إلى تطبيق الهاتف المحمول الخاص بنا. يتعين علينا أيضًا كتابة رمز لمحرك سيرفو الخاص بنا حتى يتم مسحه والتحكم فيه أيضًا من البيانات المستلمة بواسطة وحدة Bluetooth. لكن لا تقلق ، فالبرنامج أبسط بكثير مما يمكنك تصويره ، وذلك بفضل Arduino ومكتباته. يتم إعطاء الرمز الكامل أدناه في قسم الرمز.
يتم استخدام الوظيفة أدناه لجعل محرك سيرفو يمسح تلقائيًا من اليسار إلى اليمين (170 إلى 10) ومرة أخرى من اليمين إلى اليسار (10 إلى 170). وهما ل حلقات تستخدم لتحقيق ذاته. يتم استدعاء الوظيفة us () داخل كلتا الوظيفتين لحساب المسافة بين المستشعر والكائن وبثها إلى Bluetooth. يتم إعطاء تأخير قدره 50 مللي ثانية لجعل المؤازرة تدور ببطء. كلما كان المحرك أبطأ ، كلما أصبحت قراءاتك دقيقة.
// ** وظيفة لأجهزة المسح ** // void servofun () {Serial.println ("Sweeping") ؛ // من أجل التصحيح لـ (posc = 10 ؛ posc <= 170 ؛ posc ++) // يعد استخدام 10 إلى 170 درجة آمنًا من 0 إلى 180 نظرًا لأن بعض المؤازرات قد لا تعمل عند الملائكة القصوى {servo.write (posc) ؛ // ضبط موضع تأخير محرك سيرفو (50) ؛ نحن()؛ // قياس مسافة الأشياء التي تغني جهاز الاستشعار الأمريكي} لـ (posc = 170؛ posc> = 10؛ posc--) {servo.write (posc)؛ تأخير (50) ؛ نحن()؛ // قياس مسافة الأشياء التي تغني جهاز الاستشعار الأمريكي} Serial.println ("اكتمال المسح") ؛ // من أجل علامة التصحيح = 0 ؛ } // ** نهاية وظيفة الكنس المؤازرة ** //
كما ذكرنا سابقًا ، يمكن أيضًا التحكم في محرك سيرفو يدويًا من الهاتف الذكي. يمكنك ببساطة التمرير لليمين لجعل المحرك يتحرك لليمين ومرر لليسار لتحريك المحرك إلى اليسار. الوظيفة المذكورة أعلاه تستخدم لتحقيق نفس الشيء. سيتم استلام ملاك المحرك المؤازر مباشرة بواسطة وحدة Bluetooth وتخزينه في BluetoothData المتغير ، ثم يتم وضع المؤازرة في هذا الملاك المعين باستخدام سطر servo.write (BluetoothData).
// ** وظيفة للتحكم في المؤازرة يدويًا ** // void manualservo () {us () ؛ // احصل على قيمة من المستخدم وتحكم في المؤازرة إذا (Blueboy.available ()) {BluetoothData = Blueboy.read () ؛ Serial.println (BluetoothData) ؛ servo.write (BluetoothData) ؛ Serial.println ("مكتوب") ؛ إذا (BluetoothData == 'p') {flag = 0 ؛ }}} // __ نهاية وظيفة التحكم اليدوي __ //
و سيتم احتساب المسافة موجودة قبل الكائن ظيفة أدناه. إنه يعمل مع صيغ بسيطة أن السرعة = المسافة / الوقت. نظرًا لأننا نعرف سرعة الموجة الأمريكية والوقت المستغرق ، يمكن حساب المسافة باستخدام الصيغ أعلاه.
// ** وظيفة لقياس المسافة ** // void us () {int المدة ، المسافة ؛ digitalWrite (trigPin ، عالية) ؛ تأخير ميكروثانية (1000) ؛ digitalWrite (trigPin ، LOW) ؛ المدة = pulseIn (echoPin ، HIGH) ؛ المسافة = (المدة / 2) / 29.1 ؛ // يحسب المسافة من المستشعر إذا (المسافة <200 && مسافة> 0) Blueboy.write (المسافة) ؛ } // __ وظيفة قياس نهاية المسافة __ //
إذا كانت لديك أي شكوك في البرنامج ، فلا تتردد في استخدام قسم التعليقات لاستفساراتك. لذلك ، بمجرد أن نكون مستعدين باستخدام الكود الخاص بنا ، يمكننا على الفور تفريغ الكود في أجهزتنا. لكن جهاز المراقبة لن يبدأ في العمل حتى يتم توصيله بتطبيق Android. تحقق أيضًا من الفيديو في النهاية لإكمال العمل.
تطبيق Android Mobile للرادار بالموجات فوق الصوتية:
إذا كنت لا ترغب في إنشاء التطبيق الخاص بك وبدلاً من ذلك تريد فقط تثبيت نفس التطبيق المستخدم في هذا البرنامج التعليمي ، يمكنك اتباع الخطوات أدناه.
1. يمكنك تنزيل ملف APK مباشرة من الرابط أدناه. تم إنشاء ملف APK هذا لنظام Android الإصدار 4.4.2 وما فوق (Kitkat أعلاه). قم باستخراج ملف APK من ملف zip.
تطبيق أندرويد للرادار بالموجات فوق الصوتية
2. انقل ملف.Apk من جهاز الكمبيوتر الخاص بك إلى هاتفك المحمول.
3. قم بتمكين تثبيت التطبيق من مصادر غير معروفة في إعدادات Android.
4. تثبيت التطبيق.
إذا تم التثبيت بنجاح ، فستجد التطبيق المسمى "Zelobt" مثبتًا على هاتفك كما هو موضح أدناه:
إذا قمت بتثبيت ملف APK هذا ، فيمكنك تخطي الجزء أدناه والانتقال إلى القسم التالي.
برمجة التطبيق الخاص بك باستخدام المعالجة:
يمكنك إما استخدام ملف.APK المذكور أعلاه أو يمكنك إنشاء التطبيق الخاص بك باستخدام المعالجة كما هو موضح هنا. مع القليل من المعرفة بالبرمجة ، من السهل جدًا كتابة الكود الخاص بك لتطبيق Android الخاص بك. ومع ذلك ، إذا كنت قد بدأت للتو ، فمن غير المستحسن أن تبدأ بهذا الكود لأنه أعلى قليلاً من مستوى المبتدئين.
يستخدم هذا البرنامج مكتبتين هما "مكتبة Ketai" و "مكتبة ControlP5" . تُستخدم مكتبة ketai للتحكم في جميع الأجهزة الموجودة داخل هاتفنا المحمول. يمكن الوصول بسهولة إلى أشياء مثل مستوى بطارية الهواتف ، وقيم مستشعر القرب ، وقيم مستشعر التسارع ، وخيارات التحكم في Bluetooth وما إلى ذلك من خلال هذه المكتبة. في هذا البرنامج ، نستخدم هذه المكتبة لإنشاء اتصال بين هواتف Bluetooth و Arduino Bluetooth (HC-05). تُستخدم "مكتبة ControlP5" لرسم الرسوم البيانية لنظام الرادار الخاص بنا.
و يتم إرفاق برنامج الروبوت الكامل ، يمكنك تحميل البرنامج من هنا.
تنبيه: لا تنس تثبيت المكتبات المذكورة أعلاه ولا تقم بنسخ ولصق جزء الكود بمفرده ، لأن الكود يستورد الصور من مجلد البيانات الذي يتم تقديمه بالكامل في المرفق أعلاه. ومن ثم تحميل واستخدام ذلك فقط.
بمجرد الانتهاء من جزء الترميز وتجميعه بنجاح ، يمكنك توصيل هاتفك المحمول مباشرة بجهاز الكمبيوتر الخاص بك من خلال كابل البيانات والنقر على زر التشغيل لإخفاء التطبيق على هاتفك المحمول. تحقق أيضًا من مشاريع المعالجة الأخرى لدينا: لعبة Ping Pong باستخدام Arduino وراديو FM يتم التحكم فيه بواسطة الهاتف الذكي باستخدام المعالجة.
شرح العمل:
الآن ، نحن جاهزون مع أجهزتنا وجزء البرنامج. قم بتشغيل أجهزتك وإقران هاتفك المحمول بوحدة Bluetooth. بمجرد الاقتران ، افتح تطبيق "Zelobt" الذي قمنا بتثبيته للتو وانتظر الآن لمدة ثانية وستلاحظ أن وحدة Bluetooth (HC-05) تتصل تلقائيًا بهاتفك الذكي. بمجرد إنشاء الاتصال ، ستظهر لك الشاشة التالية:
يمكنك ملاحظة أنه يشير إلى أنه متصل بـ: اسم الجهاز (عنوان الجهاز) أعلى الشاشة. كما أنها تعرض الملاك الحالي لمحرك سيرفو والمسافة بين جهاز الاستشعار الأمريكي. كما تم رسم رسم بياني أزرق على خلفية حمراء بناءً على المسافة المقاسة. كلما اقترب الجسم كلما زاد طول المنطقة الزرقاء. يظهر الرسم البياني الذي يتم قياسه عند وضع بعض الكائنات بالقرب من الشكل الثاني أعلاه أيضًا.
كما ذكرنا سابقًا ، يمكنك أيضًا التحكم في محرك سيرفو الخاص بك من تطبيق هاتفك المحمول. للقيام بذلك ، ما عليك سوى النقر فوق زر التوقف. سيؤدي هذا إلى منع المؤازرة الخاصة بك من الكنس تلقائيًا. يمكنك أيضًا العثور على عجلة دائرية في الجزء السفلي من الشاشة والتي عند تمريرها ستدور في اتجاه الساعة أو عكس اتجاه الساعة. من خلال تمرير هذه العجلة ، يمكنك أيضًا جعل محرك سيرفو الخاص بك يدور في هذا الاتجاه المحدد. يتم عرض العجلة والرسم البياني المحدث عند التمرير في الصورة أدناه.
يرد كود Arduino أدناه وملف APK لتطبيق android موجود هنا. يظهر عمل المشروع الكامل في الفيديو أدناه. أتمنى أن تكون قد فهمت المشروع. إذا كان لديك أي استفسارات ، فيرجى استخدام قسم التعليقات أدناه.