جدول المحتويات:
- الخطوة 1: الأجزاء والمواد
- الخطوة 2: أسلاك مستشعر درجة الحرارة
- الخطوة 3: خرج مستشعر درجة الحرارة
- الخطوة 4: إدخال مستشعر مياه الأمطار
- الخطوة 5: خرج مستشعر مياه الأمطار
- الخطوة 6: إدخال مستشعر الاهتزاز
- الخطوة 7: خرج مستشعر الاهتزاز
- الخطوة 8: الخاتمة
فيديو: استخدام مستشعرات درجة الحرارة ومياه الأمطار والاهتزاز على Arduino لحماية السكك الحديدية: 8 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
في المجتمع المعاصر ، تعني الزيادة في عدد ركاب السكك الحديدية أنه يجب على شركات السكك الحديدية بذل المزيد من الجهد لتحسين الشبكات لمواكبة الطلب. سنعرض في هذا المشروع على نطاق صغير كيف يمكن أن تساعد مستشعرات درجة الحرارة ومياه الأمطار والاهتزاز على لوحة اردوينو في زيادة سلامة الركاب.
سيعرض هذا Instructable خطوة بخطوة الأسلاك الخاصة بأجهزة استشعار درجة الحرارة ومياه الأمطار والاهتزاز على اردوينو بالإضافة إلى إظهار رمز MATLAB المطلوب لتشغيل هذه المستشعرات.
الخطوة 1: الأجزاء والمواد
1. جهاز كمبيوتر مثبت عليه أحدث إصدار من MATLAB
2. لوحة اردوينو
3. مستشعر درجة الحرارة
4. جهاز استشعار مياه الأمطار
5. جهاز استشعار الاهتزاز
6. ضوء LED أحمر
7. ضوء LED أزرق
8. ضوء LED أخضر
9. مصباح RBG LED
10. الجرس
11. 18 أسلاك ذكر ذكر
12. 3 أسلاك أنثى ذكر
13. عدد 2 سلك نسائي - نسائي
14. 6330 أوم مقاومات
15. 1100 أوم المقاوم
الخطوة 2: أسلاك مستشعر درجة الحرارة
أعلاه هو رمز الأسلاك و MATLAB لإدخال مستشعر درجة الحرارة أيضًا.
الأسلاك من الأرض و 5 V تحتاج فقط إلى أن يتم تشغيلها إلى السالب والموجب مرة واحدة على التوالي للوحة بأكملها. من الآن فصاعدًا ، ستأتي أي اتصالات أرضية من العمود السالب وستأتي أي اتصالات 5 فولت من العمود الموجب.
يمكن نسخ الكود أدناه ولصقه لمستشعر درجة الحرارة.
٪٪ TEMPERATURE SENSOR٪ بالنسبة لمستشعر درجة الحرارة ، استخدمنا المصدر التالي مع
٪ مادة موقع ويب EF230 لتعديل مستشعر درجة الحرارة للسماح للمستخدم
٪ دخل و 3 مخرجات ضوء LED مع رسم بياني.
تم كتابة هذا الرسم التخطيطي بواسطة SparkFun Electronics ،
٪ مع الكثير من المساعدة من مجتمع Arduino.
٪ مقتبس من MATLAB بقلم إريك دافيشهل.
٪ قم بزيارة https://learn.sparkfun.com/products/2 للحصول على معلومات SIK.
مسح الكل ، clc
tempPin = 'A0' ؛ ٪ التصريح عن الدبوس التناظري المتصل بمستشعر درجة الحرارة
أ = اردوينو ('/ dev / tty.usbserial-DA017PNO'، 'uno') ؛
٪ تحديد وظيفة مجهولة تقوم بتحويل الجهد إلى درجة حرارة
tempCfromVolts = @ (فولت) (فولت 0.5) * 100 ؛
مدة أخذ العينات = 30 ؛
أخذ العينات Interval = 2 ؛ ٪ ثانية بين قراءات درجة الحرارة
٪ إعداد متجه لأوقات أخذ العينات
samplingTimes = 0: samplingInterval: samplingDuration ؛
٪ حساب عدد العينات على أساس المدة والفاصل الزمني
numSamples = length (samplingTimes) ؛
٪ تخصيص مسبق لمتغيرات درجة الحرارة والمتغير لعدد القراءات التي سيتم تخزينها
tempC = أصفار (numSamples ، 1) ؛
tempF = tempC ؛
٪ باستخدام مربع حوار الإدخال لتخزين درجات الحرارة القصوى والدقيقة للسكك الحديدية
dlg_prompts = {'Enter Max Temp'، 'Enter Min Temp'} ؛
dlg_title = 'فترات درجة حرارة السكك الحديدية' ؛
ن = 22 ؛
dlg_ans = inputdlg (dlg_prompts، dlg_title، [1، length (dlg_title) + N]) ؛
٪ تخزين المدخلات من المستخدم وعرض أنه تم تسجيل الإدخال
max_temp = str2double (dlg_ans {1})
min_temp = str2double (dlg_ans {2})
txt = sprintf ('تم تسجيل الإدخال الخاص بك') ؛
ح = msgbox (txt) ؛
waitfor (ح) ؛
٪ For حلقة لقراءة درجات الحرارة عددًا محددًا من المرات.
للفهرس = 1: numSamples
قراءة الجهد في tempPin وتخزينها على شكل فولت متغير
فولت = readVoltage (a ، tempPin) ؛
tempC (index) = tempCfromVolts (فولت) ؛
tempF (index) = tempC (index) * 9/5 + 32 ؛ ٪ تحويل من مئوية إلى فهرنهايت
٪ إذا كانت العبارات الخاصة بجعل مصابيح LED تومض بناءً على الشرط المستوفى
إذا كان tempF (مؤشر)> = max_temp٪ Red LED
writeDigitalPin (a، 'D13'، 0) ؛
وقفة (0.5) ؛
writeDigitalPin (a، 'D13'، 1) ؛
وقفة (0.5) ؛
writeDigitalPin (a، 'D13'، 0) ؛
elseif tempF (index)> = min_temp && tempF (index) <max_temp٪ Green LED
writeDigitalPin (a، 'D11'، 0) ؛
وقفة (0.5) ؛
writeDigitalPin (a، 'D11'، 1) ؛
وقفة (0.5) ؛
writeDigitalPin (a، 'D11'، 0) ؛
elseif tempF (index) <= min_temp٪ Blue LED
writeDigitalPin (a، 'D12'، 0) ؛
وقفة (0.5) ؛
writeDigitalPin (a، 'D12'، 1) ؛
وقفة (0.5) ؛
writeDigitalPin (a، 'D12'، 0) ؛
نهاية
٪ عرض درجات الحرارة أثناء قياسها
fprintf ( درجة الحرارة عند٪ d ثانية هي٪ 5.2f C أو٪ 5.2f F. / n '، …
samplingTimes (index) ، tempC (index) ، tempF (index)) ؛
وقفة (samplingInterval) ٪ تأخير حتى العينة التالية
نهاية
٪ رسم قراءات درجة الحرارة
شكل 1)
المؤامرة (samplingTimes، tempF، 'r- *')
xlabel ("الوقت (بالثواني)")
ylabel ("درجة الحرارة (F)")
العنوان ("قراءات درجة الحرارة من اللوحة الحمراء")
الخطوة 3: خرج مستشعر درجة الحرارة
أعلاه هو رمز الأسلاك و MATLAB لإخراج مستشعر درجة الحرارة.
في هذا المشروع ، استخدمنا ثلاثة مصابيح LED لإخراج مستشعر درجة الحرارة لدينا. استخدمنا اللون الأحمر إذا كانت المسارات شديدة الحرارة ، والأزرق إذا كانت شديدة البرودة ، والأخضر إذا كانت بينهما.
الخطوة 4: إدخال مستشعر مياه الأمطار
أعلاه هو الأسلاك الخاصة بجهاز استشعار مياه الأمطار ويتم نشر رمز MATLAB أدناه.
٪٪ مستشعر الماء
مسح الكل ، clc
أ = اردوينو ('/ dev / tty.usbserial-DA017PNO'، 'uno') ؛
waterPin = 'A1' ؛
ف دراي = 4.80 ؛ ٪ الجهد عند عدم وجود ماء
مدة أخذ العينات = 60 ؛
أخذ العينات Interval = 2 ؛
samplingTimes = 0: samplingInterval: samplingDuration ؛
numSamples = length (samplingTimes) ؛
٪ حلقة لقراءة الجهد لفترة زمنية محددة (60 ثانية)
للفهرس = 1: numSamples
volt2 = readVoltage (أ ، waterPin) ؛ ٪ قراءة الجهد من المياه دبوس التناظرية
٪ If عبارة لإصدار صوت صفارة إذا تم الكشف عن الماء. انخفاض الجهد = الماء
إذا فولت 2 <vDry
playTone (a، 'D09'، 2400)٪ وظيفة playTone من MathWorks
٪ عرض تحذير للركاب إذا تم الكشف عن الماء
waitfor (warndlg ("قد يتأخر قطارك بسبب مخاطر المياه")) ؛
نهاية
٪ عرض الجهد كما تم قياسه بواسطة مستشعر الماء
fprintf ( الجهد عند٪ d ثانية هو٪ 5.4f V. / n '، …
samplingTimes (مؤشر) ، volt2) ؛
وقفة (فترة أخذ العينات)
نهاية
الخطوة 5: خرج مستشعر مياه الأمطار
أعلاه هو الأسلاك الخاصة بجرس يصدر صوتًا عندما يسقط الكثير من الماء على المسار. يتم تضمين رمز الجرس داخل رمز إدخال مياه الأمطار.
الخطوة 6: إدخال مستشعر الاهتزاز
أعلاه هو الأسلاك لجهاز استشعار الاهتزاز. يمكن أن تكون مستشعرات الاهتزاز مهمة لأنظمة السكك الحديدية في حالة سقوط الصخور على مسار. تم نشر رمز MATLAB أدناه.
مستشعر الاهتزاز ٪٪ امسح الكل ، clc
PIEZO_PIN = 'A3' ، ٪ إعلان الدبوس التناظري المتصل بجهاز استشعار الاهتزاز a = اردوينو ('/ dev / tty.usbserial-DA017PNO'، 'uno') ؛ ٪ تهيئة الوقت والفاصل الزمني لقياس مدة أخذ العينات الاهتزازية = 30 ؛ ٪ ثانية من أخذ العينات الفاصل الزمني = 1 ؛
samplingTimes = 0: samplingInterval: samplingDuration ؛
numSamples = length (samplingTimes) ؛
٪ باستخدام الكود من المصدر التالي قمنا بتعديله لتشغيل ملف
٪ مؤشر LED أرجواني إذا تم الكشف عن اهتزاز.
٪ SparkFun Tinker Kit ، RGB LED ، كتبها SparkFun Electronics ،
٪ مع الكثير من المساعدة من مجتمع Arduino
٪ مقتبس من MATLAB بقلم إريك دافيشهل
٪ تهيئة دبوس RGB
RED_PIN = 'D5' ،
GREEN_PIN = 'D6' ،
BLUE_PIN = "D7" ،
٪ للحلقة لتسجيل تغيرات الجهد من مستشعر الاهتزاز على أ
الفاصل الزمني المحدد٪ (30 ثانية)
للفهرس = 1: numSamples
volt3 = readVoltage (أ ، PIEZO_PIN) ؛
بيان٪ If لتشغيل مصباح LED أرجواني إذا تم الكشف عن اهتزاز
إذا كان volt3> 0.025
writeDigitalPin (a، RED_PIN، 1) ؛
٪ خلق ضوء أرجواني
writeDigitalPin (a، GREEN_PIN، 0) ؛
writeDigitalPin (أ ، BLUE_PIN ، 1) ؛
عدا ذلك٪ قم بإيقاف تشغيل LED إذا لم يتم الكشف عن أي اهتزاز.
writeDigitalPin (a، RED_PIN، 0) ؛
writeDigitalPin (a، GREEN_PIN، 0) ؛
writeDigitalPin (a، BLUE_PIN، 0) ؛
نهاية
٪ عرض الجهد كما تم قياسه.
fprintf ( الجهد عند٪ d ثانية هو٪ 5.4f V. / n '، …
samplingTimes (مؤشر) ، volt3) ؛
وقفة (فترة أخذ العينات)
نهاية
٪ قطع الضوء عند قياس الاهتزازات
writeDigitalPin (a، RED_PIN، 0) ؛
writeDigitalPin (a، GREEN_PIN، 0) ؛
writeDigitalPin (a، BLUE_PIN، 0) ؛
الخطوة 7: خرج مستشعر الاهتزاز
أعلاه هو الأسلاك الخاصة بمصباح RBG LED المستخدم. سوف يتوهج الضوء باللون الأرجواني عند اكتشاف الاهتزازات. يتم تضمين رمز MATLAB للإخراج داخل رمز الإدخال.
الخطوة 8: الخاتمة
بعد اتباع كل هذه الخطوات ، يجب أن يكون لديك الآن اردوينو مع القدرة على اكتشاف درجة الحرارة ومياه الأمطار والاهتزازات. أثناء مشاهدة كيفية عمل هذه المستشعرات على نطاق صغير ، من السهل تخيل مدى أهميتها لأنظمة السكك الحديدية في الحياة الحديثة!
موصى به:
الشروع في العمل مع مستشعرات درجة الحرارة والاهتزاز اللاسلكية طويلة المدى: 7 خطوات
الشروع في العمل مع مستشعرات درجة الحرارة والاهتزاز اللاسلكية طويلة المدى: في بعض الأحيان يكون الاهتزاز هو سبب المشكلات الخطيرة في العديد من التطبيقات. من أعمدة الماكينة والمحامل إلى أداء القرص الصلب ، يتسبب الاهتزاز في تلف الماكينة ، والاستبدال المبكر ، وانخفاض الأداء ، وإحداث ضرر كبير في الدقة. يراقب
نموذج تخطيط السكك الحديدية مع انحياز آلي: 13 خطوة (بالصور)
تخطيط نموذج للسكك الحديدية مع انحياز آلي: يعد تصميم نماذج القطارات هواية رائعة ، وسيجعلها التشغيل الآلي أفضل كثيرًا! دعونا نلقي نظرة على بعض مزايا التشغيل الآلي: عملية منخفضة التكلفة: يتم التحكم في التصميم بالكامل بواسطة متحكم Arduino ، باستخدام L298N mo
Node-RED مع مستشعر درجة الحرارة والاهتزاز بعيد المدى لـ IoT: 34 خطوة
Node-RED مع مستشعر درجة الحرارة والاهتزاز بعيد المدى لـ IoT: تقديم مستشعر درجة الحرارة اللاسلكي طويل المدى من NCD ، والذي يضم نطاقًا يصل إلى 28 ميلًا باستخدام بنية شبكة لاسلكية. يعمل جهاز استشعار درجة الحرارة HIH9130 من هانيويل على نقل درجة حرارة عالية الدقة و
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب
كاشف درجة حرارة السكك الحديدية الصحراوية وعداد الركاب: 5 خطوات
كاشف درجة حرارة سكة حديد الصحراء وعداد الركاب: الغرض: درجة الحرارة: سيعلمك هذا الدليل كيفية إعداد وبرمجة لوح أحمر Arduino (باستخدام MATLAB) لاكتشاف درجة حرارة خط سكة حديد. عند الوصول إلى درجة حرارة غير آمنة للركاب ، تنطلق رسالة تحذير ، صفارات