جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
العديد من محطات القطارات اليوم غير آمنة بسبب انعدام الأمن والحواجز والتحذير من وصول القطار. رأينا الحاجة إلى إصلاح ذلك. من أجل حل هذه المشكلة ، أنشأنا Safer Better. استخدمنا مستشعرات الاهتزاز وأجهزة استشعار الحركة ونظام إنذار الطوارئ على Arduino Uno لإضافة الأمان إلى محطة القطار.
الإمدادات اللازمة:
- اردوينو اونو
- أسلاك العبور
- مستشعر الحركة PIR
- مستشعر الاهتزاز بيزو
- شاشة عرض من الكريستال السائل
- المتحدث بيزو
- التبديل المادي
- مقياس الجهد الناعم
- 330 أوم المقاوم
بقلم: جاكوب ويمر ، أوليفيا كراولي ، وجين كيم
الخطوة 1: قم بربط اللوحة
قمنا بتوصيل سلك Arduino الخاص بنا مثل الرسم التخطيطي أعلاه.
الخطوة 2: حامل شاشة LCD للطباعة ثلاثية الأبعاد
قمنا بطباعة حامل ثلاثي الأبعاد لشاشة LCD الخاصة بنا من أجل رؤية أفضل.
الخطوة 3: اتصل بـ Arduino في Matlab
كانت الخطوة الأولى لكتابة الكود الخاص بنا هي توصيل لوحة Arduino الخاصة بنا بـ Matlab. يتم ذلك عن طريق إنشاء كائن Arduino. استخدمنا الكود التالي:
a = arduino ('/ dev / tty.usbmodem14201'، 'Uno'، 'libraries'، 'ExampleLCD / LCDAddon') ؛
الخطوة 4: اكتب الكود في Matlab
أنشأنا برنامجًا في Matlab لتشغيل Arduino. بعد تهيئة شاشة LCD الخاصة بنا ، كتبنا رمزًا للتحكم في محطة القطار الخاصة بنا. استخدمنا مدخلات مثل مستشعر الاهتزاز ومستشعر الحركة والمفتاح المادي لإنتاج مجموعة متنوعة من المخرجات. سيتم شرح هذه المدخلات والمخرجات والرمز المقابل في الخطوات أدناه.
الخطوة 5: مستشعر الاهتزاز
مستشعر الاهتزاز هو مستشعر تناظري وبالتالي يستخدم وظيفة Matlab readVoltage.
val_vibro = readVoltage (أ ، 'A0') ؛ تي
أعاد قراءة دالة الجهد مجموعة من القيم ، لكننا قررنا أن القيمة أعلى من 0.5 كانت اهتزازًا لائقًا ولذا استخدمنا ذلك كقيمة أساسية. إذا كان الجهد أعلى من 0.5 ، فهذا يعني أن القطار قادم إلى المحطة. عند اكتشاف هذه القيمة ، يتم إرسال رسالة إلى شاشة LCD. الرسالة التي تظهر على شاشة LCD هي وسيلة لإبلاغ الناس في المحطة بأن القطار قادم.
كتبنا على شاشة LCD الخاصة بنا باستخدام الكود التالي:
إذا كانت val_vibro <= 0.5 ؛
elseif val_vibro> 0.5 ؛
printLCD (LCD ، "قطار في 3 دقائق") ؛
نهاية
الخطوة 6: مستشعر الحركة PIR
يتم استخدام مستشعر الحركة PIR لضمان معرفة المشغل بالعقبات على طول مسارات القطار. يلتقط المستشعر الصور ويقارن أحدث صورة بآخر صورة تم التقاطها ، وإذا تم نقل أي شيء ، فسيعيد Matlab قيمة 1. عندما يتم اكتشاف شيء ما على المسارات ، تنبثق واجهة مستخدم رسومية (GUI) لإخطار مشغل القطار بوجود شيء ما على المسارات. عندئذ يكون للمشغل خيار إيقاف القطار أو المتابعة. بعد تحديد الخيار المطلوب ، يتم عرض رسالة تأكيد.
تم استخدام الكود التالي لجهاز استشعار الحركة:
إذا val_opt == 1 ؛
d1 = 'تم اكتشاف كائن على المسارات في المحطة' ؛
op_input = Questdlg (d1، 'رسالة المشغل'، 'Stop Train'، 'Keep Moving'، 'Keep Moving') ؛
b1 = strcmp (op_input ، "Stop Train") ؛
b2 = strcmp (op_input ، "استمر في التحرك") ؛
إذا كان b1 == 1
msgbox ("توقف القطار")
بوز (3)
elseif b2 == 1
msgbox ("استمرار القطار")
بوز (3)
نهاية
elseif val_opt == 0 ؛
نهاية
الخطوة 7: التبديل المادي
نعتقد أيضًا أن محطات القطار بحاجة إلى المزيد من ميزات الأمان. قررنا أن يكون لدينا مفتاح من شأنه أن يدق ناقوس الخطر في المحطة. لقد فعلنا ذلك باستخدام مفتاح مادي. عند تشغيل مفتاح التبديل هذا ، يصدر صوت منبه عبر مكبر صوت.
قمنا بهذا باستخدام الكود التالي:
إذا s_val == 1 لـ i = 1:10
playTone (a، 'D10'، 1800، 1)
وقفة (.1)
playTone (a، "D10"، 2000، 1)
وقفة (.1)
نهاية
نهاية