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

كاشف درجة حرارة السكك الحديدية الصحراوية وعداد الركاب: 5 خطوات
كاشف درجة حرارة السكك الحديدية الصحراوية وعداد الركاب: 5 خطوات

فيديو: كاشف درجة حرارة السكك الحديدية الصحراوية وعداد الركاب: 5 خطوات

فيديو: كاشف درجة حرارة السكك الحديدية الصحراوية وعداد الركاب: 5 خطوات
فيديو: تدريب رئيس رقباء طريقة فتح الباب 2024, شهر نوفمبر
Anonim
كاشف درجة حرارة سكة حديد الصحراء وعداد الركاب
كاشف درجة حرارة سكة حديد الصحراء وعداد الركاب

غرض:

درجة الحرارة: ستعلمك هذه التعليمات كيفية إعداد Arduino RedBoard وبرمجتها (باستخدام MATLAB) لاكتشاف درجة حرارة خط سكة حديد. عندما يتم الوصول إلى درجة حرارة غير آمنة للركاب ، تنطلق أصوات تحذير وتنطلق صفارات وتضيء علامة تحذير.

عداد الركاب: سيعلمك هذا الجزء كيفية استخدام زر لحساب عدد الركاب وإصدار تحذير عند الوصول إلى أقصى سعة.

سمات:

  • يستخدم زر لعد الركاب الذين يدخلون القطار
  • يستخدم TMP36 (مستشعر درجة الحرارة) للكشف عن درجة حرارة خط السكة الحديد
  • يستخدم ضوء LED أحمر لتحذير محطة القطار
  • يستخدم الجرس لإصدار صوت الإنذار
  • يرسل بريدًا إلكترونيًا تنبيهًا يحتوي على مخطط لدرجة الحرارة مقابل الوقت
  • رسائل تحذير منبثقة على MATLAB

الخطوة 1: المواد واللوازم

الخامات والمستلزمات
الخامات والمستلزمات
  • 1 كمبيوتر محمول
  • ماتلاب 2017
  • قم بتنزيل Arduino Toolbox
  • سباركفن ريدبورد
  • 1 كابل طاقة
  • بريدبورد
  • 14 سلك
  • 1 بيزو الجرس
  • 1 زر ضغط
  • 2 مقاومات 10 كيلو أوم
  • 1 مستشعر TMP36
  • ضوء LED أحمر
  • علامة مطبوعة ثلاثية الأبعاد (اختياري)

الخطوة 2: إعداد اللوحة

إعداد المجلس
إعداد المجلس

اتبع الإعداد أعلاه

الخطوة الثالثة: كتابة الكود

أثناء التكرار: لضمان استمرار الكود في اختبار درجة الحرارة والاستشعار بحالة الزر (مضغوط أو غير مضغوط) ، نضع الكود في حلقة while لفترة زمنية محددة.

باستخدام TMP36: نحدد درجة الحرارة من خلال قراءة الجهد وتحويله إلى درجات فهرنهايت باستخدام عوامل التحويل. بعد ذلك ، نستخدم عبارة if لتشغيل نغمة وصوت / إرسال تنبيهات إذا كانت درجة الحرارة أكبر من أو تساوي درجة الحرارة القصوى المحددة

استخدام الزر: باستخدام عبارة if ، يمكننا اختبار ما إذا كان الزر مضغوطًا باستخدام readDigitalPin. سيعيد هذا الأمر قيمة منطقية (1 أو 0). إذا كانت الاستجابة 0 ، يتم الضغط على الزر ويزداد عداد الركاب ويعرض رسالة ترحيب. ثم ، عند الوصول إلى السعة القصوى ، يتم إصدار رسالة تحذير.

الخطوة 4: انسخ الكود

٪ المدخلات: الضغط على الزر ، مستشعر درجة الحرارة

النسبة المئوية للمخرجات: أضواء ، صفارات ، تنبيه صوتي ، رسائل بريد إلكتروني ، رسوم بيانية

النسبة المئوية للغرض: تم تصميم هذا المنتج للمساعدة في ضمان سلامة وراحة النسبة المئوية للمسافرين الذين يسافرون بالقطار عبر الصحراء.

النسبة المئوية للاستخدام: الكشف عن عدد الركاب باستخدام زر ضغط ، وكشف النسبة المئوية للحرارة باستخدام مستشعر درجة الحرارة ورسمها بيانيًا وإرسال كل من النسبة المئوية لأعداد الركاب والرسم البياني لدرجة الحرارة إلى محطة القطار

configPin (a، 'D2'، 'pullup') ؛ ٪ في الإصدارات المستقبلية استخدم configPin

الوقت = 200 ؛

ه = 0 ؛

س = 0

بينما الوقت> 0

button_status = readDigitalPin (أ ، "D2") ، ٪ يساوي صفرًا عند الضغط على الزر ، وإلا فسيساوي 1

الجهد = readVoltage (a ، 'A0') ؛ يعتمد٪ pin على المكان الذي نضعه فيه

tempCelcius = (الجهد * 100) -50 ؛ النسبة المئوية الواردة في دليل المستشعر

tempF (time) = (tempCelcius * 1.8) + 32٪ صيغة تحويل معروفة

ماكس = 120 ؛ ٪ درجة فهرنهايت

writeDigitalPin (a، 'D11'، 1) ؛

rem = mod (e ، 2) ؛

إذا tempF (time)> = max

writeDigitalPin (a، 'D11'، 0) ؛

writeDigitalPin (a، 'D9'، 1) ؛

playTone (a، "D9"، 2400،.5)

وقفة (.5)

writeDigitalPin (a، "D6"، 1)

playTone (a، "D6"، 1000،.5)

وقفة (.5)

writeDigitalPin (a، 'D9'، 1) ؛

playTone (a، "D9"، 2400،.5)

وقفة (.5)

writeDigitalPin (a، "D6"، 1)

playTone (a، 'D6'، 1000،.5)٪ يشغل "صفارة الإنذار"

z = 'Overheat.m4a' ؛ ٪ هذا يضع ملف الصوت في متغير

[data، freq] = audioread (z)؛ ٪ يقوم بتحميل البيانات من ملف الصوت

o = مشغل الصوت (البيانات ، التكرار) ؛ ٪ ينشئ كائنًا للتحكم في تشغيل ملف الصوت

o.play ()٪ يقوم بتشغيل الملف الصوتي

o.playblocking ()٪ يقوم بتشغيل الملف وينتظر حتى ينتهي

نهاية

إذا button_status == 0 && rem == 0

البريد = البريد + 1

msgbox ("مرحبًا بك على متن!") ؛

elseif button_status == 0 && rem == 1

البريد = البريد + 1

msgbox ("Bienvenido a bordo!") ؛

نهاية

إذا كانت e == 5

writeDigitalPin (a، 'D11'، 0) ؛

إذا كانت س == 0

playTone (a، 'D6'، 600، 1) ؛

s = 'Warning_EF.m4a' ؛ ٪ هذا يضع ملف الصوت في متغير

[data، freq] = audioread (s)؛ ٪ يقوم بتحميل البيانات من ملف الصوت

o = مشغل الصوت (البيانات ، التكرار) ؛ ٪ ينشئ كائنًا للتحكم في تشغيل ملف الصوت

٪ o.play ()٪ يقوم بتشغيل الملف الصوتي

o.playblocking ()٪ يقوم بتشغيل الملف وينتظر حتى ينتهي

msgbox ("السعة القصوى")

س = س + 1

نهاية

elseif e> = 6

playTone (a، 'D6'، 2400، 0) ؛

نهاية

الوقت = الوقت - 1 ؛

٪ وقفة (0.1) ؛

٪ إذا كانت e == 5 && max (tempF)> = 120

٪ الوقت = 0

٪ نهاية

نهاية

ee = num2str (e)

ر = [1: 200] ؛

tempF2 = fliplr (tempF) ؛

مؤامرة (t ، tempF2) ؛

العنوان ("الوقت مقابل درجة الحرارة")

ylabel ("درجة الحرارة (F)")

xlabel ("الوقت (الأوقات)")

saveas (gcf، 'tempplot.jpg')

mail = "[email protected]"

كلمة المرور = 'Srsora123 #'

المضيف = "smtp.gmail.com"

setpref ("الإنترنت" ، "SMTP_Server" ، المضيف) ؛

setpref ("الإنترنت" ، "البريد الإلكتروني" ، البريد) ؛

setpref ("الإنترنت" ، "SMTP_Username" ، البريد) ؛

setpref ("الإنترنت" ، "SMTP_Password" ، كلمة المرور) ؛

props = java.lang. System.getProperties ؛

props.setProperty ('mail.smtp.auth'، 'true') ؛

props.setProperty ('mail.smtp.socketFactory.class'، 'javax.net.ssl. SSLSocketFactory') ؛

props.setProperty ('mail.smtp.socketFactory.port'، '465') ؛

Sendmail (البريد الإلكتروني ، "Hello Train Station! هناك العديد من الركاب في القطار" ، ee ، "tempplot.jpg")

الخطوة 5: النتائج

موصى به: