جدول المحتويات:

منع الاصطدام - مدعوم من Pi: 6 خطوات
منع الاصطدام - مدعوم من Pi: 6 خطوات

فيديو: منع الاصطدام - مدعوم من Pi: 6 خطوات

فيديو: منع الاصطدام - مدعوم من Pi: 6 خطوات
فيديو: إنفجار سيارة أثناء تزويدها بالغاز الطبيعي المضغوط 2024, يوليو
Anonim
منع الاصطدام - بدعم من Pi
منع الاصطدام - بدعم من Pi

سيعطيك هذا Instructable دليلاً خطوة بخطوة لبناء نظام منع الاصطدام. للبدء ، يجب على المرء الحصول على قائمة المواد التالية:

Raspberry PI 3 (مع أسلاك الطاقة والإيثرنت) ، 1 لوحة تمديد GPIO وكابل الشريط (GPIO) ، 1 لوحة بريد كبيرة مع رسم تخطيطي ، 2 لوح صغير مع رسم تخطيطي ، 14 كابل توصيل ، 3220 أوم المقاوم ، 1 RGB LED ، 3 مفاتيح زر ، جهاز استشعار بالموجات فوق الصوتية 1HB-SR04

الخطوة 1: تمديد GPIO

ملحق GPIO
ملحق GPIO
ملحق GPIO
ملحق GPIO

قم بتوصيل لوحة تمديد GPIO بلوحة التجارب الكبيرة. يجب أن يكون GPIO متجهًا رأسيًا تمامًا مثل اللوح. قم بتعيين الجانب الأيسر من GPIO لمنافذ اللوح D1-D20 باستخدام الرسم التخطيطي المتوفر. سيتصل الجانب الأيمن بعد ذلك بـ H1-H20. قم بتوصيل كابل الشريط بكل من Raspberry Pi 3 ولوحة تمديد GPIO. سيشار الآن إلى هذا المكون بأكمله باسم لوحة GPIO (GPIO)

الخطوة 2: جهاز الاستشعار بالموجات فوق الصوتية

أجهزة الاستشعار بالموجات فوق الصوتية
أجهزة الاستشعار بالموجات فوق الصوتية
أجهزة الاستشعار بالموجات فوق الصوتية
أجهزة الاستشعار بالموجات فوق الصوتية

باستخدام لوحة توصيل أخرى أصغر حجمًا ، قم بتوصيل مستشعر الموجات فوق الصوتية HR-SR04 بمنافذ اللوحة الأصغر A2-5 باستخدام الرسم التخطيطي المتوفر. قم بتوصيل كبل توصيل بلوحة توصيل أصغر حجمًا (BB) E2 ، ثم أدخل الطرف الآخر في منفذ لوحة تمديد GPIO J1. بنفس الطريقة ، قم بتوصيل ثلاثة وصلات عبور أخرى بالطريقة التالية. (BB E3 ، GPIO B17) (BB E4 ، GPIO B18) (BB E5 ، GPIO B20)

الخطوة 3: LED والمقاومات

الصمام والمقاومات
الصمام والمقاومات
الصمام والمقاومات
الصمام والمقاومات
الصمام والمقاومات
الصمام والمقاومات

على نفس اللوح الصغير المستخدم في التعليمات السابقة ، قم بتوصيل ثلاثة مقاومات 220 أوم بالطريقة التالية. (E10، H10) (E12، H12) (E14، H14) ثم قم بتوصيل وصلة عبور من نفس لوح التجارب E13 بسكة الطاقة الأرضية على لوحة GPIO. قم بتوصيل الشوكات الأربعة لمصباح LED بمنافذ اللوح الأصغر (B13) (D14) (D12) (D10). ثم قم بتوصيل ثلاثة وصلات عبور من اللوح الأصغر إلى لوحة GPIO بالطريقة المحددة. (BB J10 ، GPIO J9) (BB J12 ، GPIO J8) (BB J14 ، GPIO J6). هذا اللوح اكتمل الآن.

الخطوة 4: الأرض

أرضي
أرضي

استخدم وصلة مرور أخرى لتوصيل لوحة GPIO J7 بسكة الطاقة الأرضية.

الخطوة 5: الأزرار

أزرار
أزرار

باستخدام اللوح الثاني ، ضع الجزء العلوي من مفتاح التبديل على المنفذين E1 و D1 ، ثم ضع آخر في E5 و D5 ، والثالث في E9 و D9. قم بتوصيل ثلاثة وصلات توصيل من سكة الطاقة الموجبة على لوحة GPIO بمنافذ اللوح التالية (D3) (D7) (D11). باستخدام ثلاثة كبلات توصيل أخرى ، قم بتوصيل اللوح بلوحة تمديد GPIO في القصر التالي: (BB D1 ، GPIO J16) (BB D5 ، GPIO J18) (BB D9 ، GPIO J20). أخيرًا ، باستخدام آخر كابل توصيل ، قم بتوصيل GPIO A1 بقضيب الطاقة الموجب. تم الانتهاء من الإعداد المادي الآن.

الخطوة 6: الكود

الشفرة
الشفرة
الشفرة
الشفرة

قم بتوصيل كبل Ethernet وكابل الطاقة بـ Pi وفي مواقع كل منهما. افتح MATLAB وقم بتشغيل البرنامج النصي التالي لتهيئة وحدة التحكم الصغيرة:

rpi = raspi ('169.254.0.2'، 'pi'، 'raspberry') ؛

ثم انسخ ما يلي والصقه في برنامج نصي جديد ، يسمى Ping ، لتشغيل نظام منع الاصطدام:

دالة dist = ping () trig = 19 ؛ صدى = 13 ؛ اختبار = 21 ؛ configPin (rpi، trig، 'DigitalOutput') ؛ configPin (rpi ، echo ، 'DigitalInput') ؛ configPin (rpi، test، 'DigitalInput')؛

disp ("قياس المسافة قيد التقدم") ؛

بينما true writeDigitalPin (rpi ، حساب المثلثات ، 0) ؛ ديس ("ترك جهاز الاستشعار يستقر") ؛ وقفة (2) ؛

writeDigitalPin (rpi ، حساب المثلثات ، 1) ؛ وقفة (0.002) ؛ writeDigitalPin (rpi ، حساب المثلثات ، 0) ؛

بينما readDigitalPin (rpi ، صدى) == 0 tic end

بينما readDigitalPin (rpi ، صدى) == 1 T = toc ؛ نهاية

pulse_duration = T ؛ المسافة = pulse_duration * 17150 ؛

مفتوح = "المسافة =" ؛ إغلاق = "سم" ؛ سلسلة = [فتح ، مسافة ، إغلاق] ؛ ديس (سلسلة) ؛ dist = المسافة ؛ نهاية النهاية

في البرنامج النصي الجديد ، قم بتشغيل الكود التالي المسمى الحالة:

configPin (rpi، 21، 'DigitalInput')؛ configPin (rpi، 16، 'DigitalInput') ؛ configPin (rpi، 12، 'DigitalInput') ؛

الحالة = 2 ؛ د = 10 ؛ ٪ الحالة: 0-أحمر / إيقاف 1-أزرق / بطيء 2-أخضر / تشغيل الجري = صحيح ؛ أثناء تشغيل٪ d = ping () ؛ إذا كان readDigitalPin (rpi ، 21) == 1 الحالة = 0 ؛ elseif readDigitalPin (rpi، 16) == 1 الحالة = 1 ؛ elseif readDigitalPin (rpi، 12) == 1 الحالة = 2 ؛ آخريف د

موصى به: