نظام تتبع الأجسام المتحركة هو نظام يستخدم التقنيات الحديثة مثل تحديد المواقع العالمية والاتصالات اللاسلكية لتحديد موقع الأجسام المتحركة وتتبع حركتها بشكل دقيق وفعال. يمكن أن يتم استخدام هذا النظام في مجموعة متنوعة من التطبيقات، بما في ذلك تتبع السيارات، وإدارة flotillas، وتتبع الحمولات اللوجستية، وإدارة الأصول، والمراقبة الأمنية، والعديد من التطبيقات الأخرى.
1- الاتصالات اللاسلكية: تُستخدم لنقل بيانات الموقع من الأجهزة المتحركة إلى أنظمة الرصد والتحكم.
2- وحدة المعالجة المركزية (CPU) والبرمجيات: تحسن من قدرة النظام على تحليل البيانات، وتخزين المعلومات، وتقديم التقارير.
3- قاعدة بيانات: تخزن البيانات الجغرافية والمعلومات ذات الصلة بالأجسام المتحركة.
4- واجهة المستخدم: توفر واجهة بسيطة وسهلة الاستخدام للمستخدم لعرض معلومات الموقع والتحكم في النظام.
5- تكنولوجيا الحساب السحابي (Cloud Computing): تسمح بتخزين البيانات ومعالجتها على الأنترنت، مما يسمح بالوصول إلى المعلومات من أي مكان وفي أي وقت.
6- الأجهزة الإضافية: قد تشمل أجهزة إضافية مثل حساسات الحركة، وكاميرات المراقبة، وأجهزة الاستشعار البيئي لتوفير معلومات إضافية حول البيئة المحيطة بالأجسام المتحركة.
1- تحديد المواقع: تُرسل أجهزة إشارات لأجهزة الاستقبال لتحديد المواقع الجغرافية بدقة.
2- نقل البيانات: يُرسل البيانات الموقعية من أجهزة إلى قاعدة البيانات أو السحابة عبر الاتصالات اللاسلكية.
3- معالجة البيانات: يُعالج النظام البيانات الموقعية ويُحدث معلومات الموقع ومسار الجسم المتحرك.
4- عرض المعلومات: تقوم واجهة المستخدم بعرض الموقع الحالي للأجسام المتحركة وتوفير تقارير وتحليلات حول حركتها.
5- التحكم والتحليل: يُمكن للمشرفين استخدام النظام لتتبع الأجسام المتحركة، وتحليل سلوكها، واتخاذ القرارات بناءً على البيانات الموقعية.
بهذه الطريقة، يُمكن لنظام تتبع الأجسام المتحركة أن يوفر رؤية شاملة وفعالة حول حركة الأجسام المتحركة، مما يساعد في تحسين الإنتاجية والأمان واتخاذ القرارات الاستراتيجية.
نظام تتبع الجسم المتحرك باستخدام بطاقة الاردوينو ومستشعر HC-SR04 ومحرك سيرفو يمكن أن يعمل بشكل مبسط على النحو التالي:
1- بطاقة الاردوينو (Microcontroller):
تستخدم بطاقة Arduino كمركز للتحكم والمعالجة في النظام.
يمكن استخدام لغة البرمجة Arduino لبرمجة بطاقة Arduino.
2- مستشعر HC-SR04 (Ultrasonic Sensor):
يستخدم المستشعر لقياس المسافة إلى الجسم المتحرك.
يرسل المستشعر إشارات صوتية ويقيس الوقت اللازم لعودة الصدى من الجسم المتحرك.
3- محرك سيرفو (Servo Motor): يستخدم المحرك السيرفو لتوجيه المستشعر في اتجاه الجسم المتحرك.
4- البرمجة:
يتم برمجة بطاقة الاردوينو لقراءة بيانات المسافة المقاسة من المستشعر HC-SR04.
بناءً على القيم المقاسة، يتم توجيه المحرك السيرفو لتحديد اتجاه الجسم المتحرك.
في البرمجة، يتم تضمين الخوارزميات التي تحسب الزاوية المطلوبة لتوجيه المحرك السيرفو بناءً على المسافة المقاسة من المستشعر. يمكن أن تتضمن البرمجة أيضًا استراتيجيات للتحكم في حركة المحرك والتأكد من أن الجسم المتحرك يبقى في متناول النظام.
1- لوحة الاردوينو:
لوحة الأردوينو هي لوحة إلكترونية تستخدم في تطوير الأجهزة الإلكترونية التفاعلية والمشاريع البرمجية. توفر الأردوينو بيئة برمجية واجهة سهلة للمبتدئين والمحترفين لتطوير الأجهزة والمشاريع المختلفة.
2- اثنين من أجهزة الاستشعار الموجات فوق الصوتية HC-SR04:
يتألف HC-SR04 عادةً من 4 أسلاك: VCC، Trig، Echo، وGND.
3- محرك سيرفو
محرك السيرفو هو جهاز كهربائي يستخدم لتوجيه أو تحديد الزاوية بدقة. يستخدم عادة في التطبيقات التي تتطلب تحكم دقيق في الحركة، مثل الروبوتات، ونماذج الطائرات اللاسلكية، ومشاريع الهواة، والروبوتات المتحكمة عن بعد، وأكثر من ذلك.
4- أسلاك التوصيل:
أسلاك توصيل لربط بين أقطاب HC-SR04 وبين بطاقة ESP32.
5- لوحة تجارب (Breadboard) :
لتسهيل توصيل المكونات والتجارب.
بعد توصيل المكونات، يمكنك استخدام كمثال سابق لقراءة بيانات المسافة من HC-SR04 وتوصيلها ببطاقة الاردوينو. يمكنك استخدام الشيفرة المصدرية التي قدمتها في الإجابة السابقة لتحقيق هذه المهمة.
قم بتوصيل طرف VCC الخاص بمستشعر HC-SR04 بمنفذ 3.3V الخاص بلوحة الاردوينو.
قم بتوصيل طرف GND الخاص بمستشعر HC-SR04 بمنفذ GND الخاص بلوحة الاردوينو.
قم بتوصيل طرف Echo الخاص بمستشعر HC-SR04 بمنفذ 2 الخاص بلوحة الاردوينو.
قم بتوصيل طرف Trig الخاص بمستشعر HC-SR04 بمنفذ 3 الخاص بلوحة الاردوينو.
قم بتوصيل طرف VCC الخاص بمستشعر HC-SR04 بمنفذ 3.3V الخاص بلوحة الاردوينو.
قم بتوصيل طرف GND الخاص بمستشعر HC-SR04 بمنفذ GND الخاص بلوحة الاردوينو.
قم بتوصيل طرف Echo الخاص بمستشعر HC-SR04 بمنفذ 4 الخاص بلوحة الاردوينو.
قم بتوصيل طرف Trig الخاص بمستشعر HC-SR04 بمنفذ 5 الخاص بلوحة الاردوينو.
قم بتوصيل السلك الأحمر لمحرك سيرفو بدبوس 5 فولت للوحة الاردوينو.
قم بتوصيل السلك الأصفر من المحرك سيرفو بمنفذ 9 الخاص بلوحة الاردوينو.
قم بتوصيل السلك البني من المحرك سيرفو بمنفذ GND الخاص بلوحة الاردوينو.
لبرمجة النظام المحمول لتتبع جسم متحرك باستخدام بطاقة الاردوينو ومستشعر HC-SR04 ومحرك سيرفو، يمكنك اتباع الخطوات التالية بلغة البرمجة الاردوينو:
1- توصيل الأجهزة:
قم بتوصيل مستشعر HC-SR04 ببطاقة الاردوينو وفقًا لدائرة التوصيل المعتادة.
قم بتوصيل محرك السيرفو ببطاقة الاردوينو باستخدام التوصيلات المناسبة.
2- تثبيت مكتبة Ultrasonic و Servo:
قم بتثبيت مكتبة Ultrasonic و Servo إذا لم تكن مثبتة بالفعل في برنامج Arduino IDE. يمكنك القيام بذلك من خلال قائمة "Sketch" -> "Include Library" -> "Manage Libraries" وابحث عن المكتبات المطلوبة.
3- البرمجة:
قم بفتح برنامج Arduino IDE وأنشئ ملف جديد.
استيراد المكتبات الضرورية في البرنامج:
1 2 |
#include <Ultrasonic.h> #include <Servo.h> |
تعريف المتغيرات والأجهزة: قم بتعريف المتغيرات اللازمة وإنشاء كائنات للجهازي استشعار HC-SR04 والمحرك السيرفو:
1 2 3 4 5 |
Ultrasonic ultrasonic_1(3, 2); // Trig et Echo Ultrasonic ultrasonic_2(5, 4); // Trig et Echo Servo myservo; // create servo object to control a servo // twelve servo objects can be created on most boards |
الدالة setup(): في هذه الدالة، قم ببدء الاتصالات اللازمة وتهيئة المحرك السيرفو:
1 2 3 |
Serial.begin(9600); myservo.attach(9); // attaches the servo on pin 9 to the servo object myservo.write(90); |
الدالة loop(): في هذه الدالة، قم بقراءة المسافة باستخدام المستشعر وتحديث موقع المحرك السيرفو بناءً على القيمة المقروءة:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
void loop() { <span class="hljs-comment">// قراءة المسافة من مستشعر الأول HC-SR04</span> int distance1 = ultrasonic_1.Ranging(CM); // عرض المسافة على المنفذ التسلسلي Serial.print("distance1= "); Serial.print(distance1); Serial.println(" cm"); <span class="hljs-comment">// قراءة المسافة من مستشعر الثاني HC-SR04</span> int distance2 = ultrasonic_2.Ranging(CM); // عرض المسافة على المنفذ التسلسلي Serial.print("distance2= "); Serial.print(distance2); Serial.println(" cm"); // يكتشف مستشعر HC-SR04 الأول جسمًا ما if ((distance1 < 4)&&(pos_init<=170)) { // يقوم محرك سيرفو بتدوير الدعامة إلى اليمين for (int pos = pos_init; pos <= pos_init+10; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(20); // waits 15ms for the servo to reach the position } pos_init=pos_init+10; } // يكتشف مستشعر HC-SR04 <span class="hljs-comment">الثاني</span> جسمًا ما if ((distance2 < 4)&&(pos_init>=10)) { // يقوم محرك سيرفو بتدوير الدعامة إلى اليسار for (int pos = pos_init; pos >= pos_init-10; pos -= 1) { // goes from 180 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(20); // waits 15ms for the servo to reach the position } pos_init=pos_init-10; } delay(500); } |
تشير الروبوتات التعليمية إلى استخدام الروبوتات وتكنولوجيا الروبوتات لتعزيز التعلم في بيئات التعليم. إنه ينطوي على دمج التكنولوجيا والهندسة وعلوم الحاسوب في الفصل الدراسي، مما يتيح للطلاب المشاركة في تجارب تعلم عملية وعملية.
في هذا السياق ، يمثل موقعنا الإلكتروني مصدرًا ممتازًا للآباء والمعلمين والأطفال الذين يرغبون في اكتشاف الروبوتات.
زاوية قنطش ـ جمال ـ المنستير ـ تونس
+216 92 886 231
medaliprof@gmail.com
هذا موقع واب تم إنشاؤه بواسطة محمد علي أستاذ إعلامية