فهرست مطالب:

استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن: 8 مرحله (همراه با تصاویر)
استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن: 8 مرحله (همراه با تصاویر)

تصویری: استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن: 8 مرحله (همراه با تصاویر)

تصویری: استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن: 8 مرحله (همراه با تصاویر)
تصویری: باور نخواهید کرد چرا پنبه در ناف جمع می شود و علت این پدیده چیست؟ 2024, جولای
Anonim
استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن
استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن

در جوامع امروزی ، افزایش مسافران ریلی به این معناست که شرکت های ریلی باید بیشتر تلاش کنند تا شبکه ها را با تقاضا مطابقت دهند. در این پروژه ما در مقیاس کوچک نشان خواهیم داد که چگونه دما ، آب باران و حسگرهای ارتعاش روی برد آردوینو می توانند به طور بالقوه ایمنی مسافران را افزایش دهند.

این دستورالعمل مرحله به مرحله سیم کشی سنسورهای دما ، آب باران و ارتعاش در آردوینو را نشان می دهد و همچنین کد متلب مورد نیاز برای اجرای این سنسورها را نشان می دهد.

مرحله 1: قطعات و مواد

1. رایانه ای با آخرین نسخه MATLAB نصب شده است

2. برد آردوینو

3. سنسور دما

4. سنسور آب باران

5. سنسور ارتعاش

6. چراغ LED قرمز

7. نور LED آبی

8. چراغ سبز سبز

9. چراغ LED RBG

10. وزوز

11. 18 سیم نر-نر

12. 3 سیم زن-مرد

13. 2 سیم زن-زن

14. 6 مقاومت 330 اهم

15. مقاومت 1 100 اهمی

مرحله 2: سیم کشی سنسور دما

سیم کشی سنسور دما
سیم کشی سنسور دما
سیم کشی سنسور دما
سیم کشی سنسور دما

در بالا سیم کشی و کد متلب برای ورودی سنسور دما نیز وجود دارد.

سیمهای زمین و 5 ولت فقط باید به ترتیب یکبار برای کل برد به ترتیب منفی و مثبت اجرا شوند. از اینجا به بعد ، هر گونه اتصال زمین از ستون منفی و هر 5V اتصال از ستون مثبت حاصل می شود.

کد زیر را می توان برای سنسور دما کپی و جایگذاری کرد.

٪٪ SENSOR TEMPERATURE٪ برای سنسور دما از منبع زیر به همراه استفاده کردیم

website EF230 مطالب وب سایت برای تغییر سنسور دمای ما به کاربر اجازه می دهد

٪ ورودی و 3 خروجی نور LED با نمودار

This این طرح توسط SparkFun Electronics نوشته شده است ،

٪ با کمک زیادی از جامعه آردوینو.

Ad متناسب با MATLAB توسط Eric Davishahl.

for برای اطلاعات SIK به https://learn.sparkfun.com/products/2 مراجعه کنید.

همه را پاک کنید ، clc

tempPin = 'A0'؛ ٪ اعلام پین آنالوگ متصل به سنسور دما

a = arduino ('/dev/tty.usbserial-DA017PNO' ، 'uno') ؛

٪ تابع ناشناس را تعریف کنید که ولتاژ را به دما تبدیل می کند

tempCfromVolts = @(ولت) (ولت -0.5)*100 ؛

samplingDuration = 30؛

samplingInterval = 2 ؛ Second ثانیه بین قرائت دما

٪ بردار زمان نمونه برداری را تنظیم کنید

samplingTimes = 0: samplingInterval: samplingDuration؛

٪ تعداد نمونه ها را بر اساس مدت و فاصله محاسبه می کند

numSamples = طول (samplingTimes) ؛

٪ متغیرهای دما و متغیر را برای تعداد خواندنی هایی که ذخیره می کند از قبل تخصیص دهید

tempC = صفر (numSamples ، 1) ؛

tempF = tempC؛

٪ با استفاده از کادر محاوره ای ورودی برای ذخیره حداکثر و حداقل دمای راه آهن

dlg_prompts = {'Enter Max Temp'، 'Enter Min Temp'}؛

dlg_title = 'فواصل دمای راه آهن'؛

N = 22 ؛

dlg_ans = inputdlg (dlg_prompts ، dlg_title ، [1 ، طول (dlg_title)+N]) ؛

St ذخیره ورودی های کاربر و نمایش اینکه ورودی ثبت شده است

max_temp = str2double (dlg_ans {1})

min_temp = str2double (dlg_ans {2})

txt = sprintf ('ورودی شما ثبت شده است')؛

h = msgbox (txt) ؛

منتظر (h) ؛

٪ برای حلقه برای خواندن درجه حرارت چند بار خاص.

for index = 1: numSamples

the ولتاژ را در tempPin بخوانید و به عنوان ولت متغیر ذخیره کنید

ولت = readVoltage (a، tempPin) ؛

tempC (index) = tempCfromVolts (ولت)؛

tempF (index) = tempC (index)*9/5+32 ؛ ٪ تبدیل از سلسیوس به فارنهایت

٪ اگر عبارات مربوط به ایجاد چراغ های LED خاص بسته به شرایطی که برقرار است چشمک می زند

if tempF (index)> = max_temp٪ 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٪ LED سبز

writeDigitalPin (a، 'D11'، 0)؛

مکث (0.5) ؛

writeDigitalPin (a، 'D11'، 1)؛

مکث (0.5) ؛

writeDigitalPin (a، 'D11'، 0)؛

elseif tempF (index) <= min_temp٪ LED آبی

writeDigitalPin (a، 'D12'، 0)؛

مکث (0.5) ؛

writeDigitalPin (a، 'D12'، 1)؛

مکث (0.5) ؛

writeDigitalPin (a، 'D12'، 0)؛

پایان

Display دماهای اندازه گیری شده را نمایش دهید

fprintf ('دما در٪ d ثانیه٪ 5.2f C یا٪ 5.2f F. / n' است ،…

samplingTimes (index) ، tempC (index) ، tempF (index)) ؛

مکث (samplingInterval)٪ تاخیر تا نمونه بعدی

پایان

Pl ترسیم قرائت دما

شکل 1)

طرح (نمونه گیری زمان ، tempF ، 'r-*')

xlabel ("زمان (ثانیه)")

ylabel ('دما (F)')

عنوان ('دما خواندن از تخته قرمز')

مرحله 3: خروجی سنسور دما

خروجی سنسور دما
خروجی سنسور دما
خروجی سنسور دما
خروجی سنسور دما

در بالا سیم کشی و کد متلب برای خروجی سنسور دما قرار دارد.

برای این پروژه از سه چراغ LED برای خروجی سنسور دما استفاده کردیم. در صورتی که مسیرها خیلی گرم بودند از رنگ قرمز برای آبی که بسیار سرد بودند و از سبز در این بین استفاده می کردیم.

مرحله 4: ورودی سنسور آب باران

ورودی سنسور آب باران
ورودی سنسور آب باران
ورودی سنسور آب باران
ورودی سنسور آب باران

در بالا سیم کشی سنسور آب باران و کد متلب در زیر قرار داده شده است.

٪٪ سنسور آب

همه را پاک کنید ، clc

a = arduino ('/dev/tty.usbserial-DA017PNO' ، 'uno') ؛

waterPin = 'A1'؛

vDry = 4.80 ؛ ٪ ولتاژ زمانی که آب وجود ندارد

samplingDuration = 60؛

samplingInterval = 2 ؛

samplingTimes = 0: samplingInterval: samplingDuration؛

numSamples = طول (samplingTimes) ؛

٪ برای حلقه برای خواندن ولتاژ برای مدت زمان مشخص (60 ثانیه)

برای index = 1: numSamples

volt2 = readVoltage (a ، waterPin) ؛ Read ولتاژ خواندن از آنالوگ پین آب

٪ اگر در صورت تشخیص آب صدای زنگ به صدا در آید. افت ولتاژ = آب

اگر volt2 <v خشک شود

playTone (a ، 'D09'، 2400)٪ عملکرد playTone از MathWorks

if در صورت تشخیص آب ، به مسافران هشدار دهید

waitfor (warndlg ("ممکن است قطار شما به دلیل خطرات ناشی از آب به تأخیر بیفتد"))؛

پایان

Display ولتاژ را با سنسور آب اندازه گیری کنید

fprintf ('ولتاژ در٪ d ثانیه٪ 5.4f V. / n' است ،…

samplingTimes (index) ، volt2) ؛

مکث (نمونه گیری از فاصله زمانی)

پایان

مرحله 5: خروجی سنسور آب باران

خروجی سنسور آب باران
خروجی سنسور آب باران

در قسمت بالا سیم کشی یک زنگ صدا قرار دارد که هر زمان که آب زیادی روی مسیر بیفتد بوق می زند. کد زنگ در کد ورودی آب باران تعبیه شده است.

مرحله 6: ورودی سنسور ارتعاش

ورودی سنسور ارتعاش
ورودی سنسور ارتعاش
ورودی سنسور ارتعاش
ورودی سنسور ارتعاش

در بالا سیم کشی سنسور ارتعاش است. حسگرهای ارتعاش در مورد سقوط سنگ در یک مسیر می توانند برای سیستم های راه آهن مهم باشند. کد متلب در زیر قرار داده شده است.

٪٪ Vibration Sensor همه را روشن ، clc

PIEZO_PIN = 'A3'؛ ٪ اعلام پین آنالوگ متصل به سنسور ارتعاش a = arduino ('/dev/tty.usbserial-DA017PNO' ، 'uno') ؛ ٪ شروع زمان و فاصله برای اندازه گیری نمونه ارتعاش مدت زمان = 30؛ ٪ ثانیه samplingInterval = 1؛

samplingTimes = 0: samplingInterval: samplingDuration؛

numSamples = طول (samplingTimes) ؛

Using با استفاده از کد منبع زیر آن را تغییر دادیم تا a روشن شود

٪ LED بنفش در صورت تشخیص ارتعاش.

٪ SparkFun Tinker Kit ، RGB LED ، نوشته شده توسط SparkFun Electronics ،

٪ با کمک زیادی از جامعه آردوینو

Ad متناسب با MATLAB توسط Eric Davishahl

٪ راه اندازی پین RGB

RED_PIN = 'D5' ؛

GREEN_PIN = 'D6' ؛

BLUE_PIN = 'D7'؛

٪ برای حلقه برای ثبت تغییرات ولتاژ از سنسور ارتعاش روی a

٪ فاصله زمانی خاص (30 ثانیه)

برای index = 1: numSamples

volt3 = readVoltage (a ، PIEZO_PIN) ؛

٪ if برای روشن کردن یک رنگ بنفش LED در صورت تشخیص ارتعاش

اگر ولت 3> 0.025

writeDigitalPin (a، RED_PIN، 1)؛

Creat ایجاد نور بنفش

writeDigitalPin (a، GREEN_PIN، 0)؛

writeDigitalPin (a، BLUE_PIN، 1)؛

else٪ در صورت عدم تشخیص ارتعاش ، LED را خاموش کنید.

writeDigitalPin (a، RED_PIN، 0)؛

writeDigitalPin (a، GREEN_PIN، 0)؛

writeDigitalPin (a، BLUE_PIN، 0)؛

پایان

Display نمایش ولتاژ همانطور که اندازه گیری می شود.

fprintf ('ولتاژ در٪ d ثانیه٪ 5.4f V. / n' است ،…

samplingTimes (index) ، volt3) ؛

مکث (نمونه گیری از فاصله زمانی)

پایان

٪ هنگام اندازه گیری ارتعاشات نور را قطع کنید

writeDigitalPin (a، RED_PIN، 0)؛

writeDigitalPin (a، GREEN_PIN، 0)؛

writeDigitalPin (a، BLUE_PIN، 0)؛

مرحله 7: خروجی سنسور ارتعاش

خروجی سنسور ارتعاش
خروجی سنسور ارتعاش

در بالا سیم کشی برای چراغ RBG LED استفاده شده است. هنگامی که ارتعاشات تشخیص داده می شود ، نور بنفش می شود. کد متلب برای خروجی درون کد ورودی تعبیه شده است.

مرحله 8: نتیجه گیری

پس از انجام همه این مراحل ، اکنون باید یک آردوینو با قابلیت تشخیص دما ، آب باران و ارتعاشات داشته باشید. با مشاهده نحوه عملکرد این سنسورها در مقیاس کوچک ، به راحتی می توان تصور کرد که آنها چقدر می توانند برای سیستم های راه آهن در زندگی مدرن حیاتی باشند!

توصیه شده: