فهرست مطالب:
- مرحله 1: قطعات و مواد
- مرحله 2: سیم کشی سنسور دما
- مرحله 3: خروجی سنسور دما
- مرحله 4: ورودی سنسور آب باران
- مرحله 5: خروجی سنسور آب باران
- مرحله 6: ورودی سنسور ارتعاش
- مرحله 7: خروجی سنسور ارتعاش
- مرحله 8: نتیجه گیری
تصویری: استفاده از حسگرهای دما ، آب باران و ارتعاش در آردوینو برای حفاظت از راه آهن: 8 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
در جوامع امروزی ، افزایش مسافران ریلی به این معناست که شرکت های ریلی باید بیشتر تلاش کنند تا شبکه ها را با تقاضا مطابقت دهند. در این پروژه ما در مقیاس کوچک نشان خواهیم داد که چگونه دما ، آب باران و حسگرهای ارتعاش روی برد آردوینو می توانند به طور بالقوه ایمنی مسافران را افزایش دهند.
این دستورالعمل مرحله به مرحله سیم کشی سنسورهای دما ، آب باران و ارتعاش در آردوینو را نشان می دهد و همچنین کد متلب مورد نیاز برای اجرای این سنسورها را نشان می دهد.
مرحله 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: نتیجه گیری
پس از انجام همه این مراحل ، اکنون باید یک آردوینو با قابلیت تشخیص دما ، آب باران و ارتعاشات داشته باشید. با مشاهده نحوه عملکرد این سنسورها در مقیاس کوچک ، به راحتی می توان تصور کرد که آنها چقدر می توانند برای سیستم های راه آهن در زندگی مدرن حیاتی باشند!
توصیه شده:
آشکارساز باران با استفاده از آردوینو و سنسور باران: 8 مرحله
آشکارساز باران با استفاده از آردوینو و سنسور باران: در این آموزش ما نحوه تشخیص باران با استفاده از سنسور باران و ایجاد صدا با استفاده از ماژول زنگ و صفحه نمایش OLED و Visuino را یاد می گیریم
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو - Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر - هلیکوپتر Rc - Rc Plane با استفاده از آردوینو: 5 مرحله (همراه با تصاویر)
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو | Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر | هلیکوپتر Rc | Rc Plane با استفاده از آردوینو: برای کار با ماشین Rc | کوادکوپتر | هواپیمای بدون سرنشین | هواپیمای RC | قایق RC ، ما همیشه به گیرنده و فرستنده نیاز داریم ، فرض کنید برای RC QUADCOPTER به فرستنده و گیرنده 6 کاناله نیاز داریم و این نوع TX و RX بسیار پرهزینه است ، بنابراین ما یکی از آنها را در دستگاه خود تهیه می کنیم
پایش سلامت ساختاری زیرساخت های عمرانی با استفاده از حسگرهای ارتعاش بی سیم: 8 مرحله
نظارت بر ساختار ساختمانی زیرساخت های عمرانی با استفاده از سنسورهای ارتعاش بی سیم: خرابی ساختمان قدیمی و زیرساخت های عمرانی می تواند منجر به وضعیت کشنده و خطرناک شود. نظارت مداوم بر این سازه ها الزامی است. نظارت بر سلامت ساختاری یک روش بسیار مهم در ارزیابی
نحوه تنظیم یک وسیله نقلیه راه آهن راه آهن در مسیر: 10 مرحله (همراه با تصاویر)
نحوه تنظیم وسیله نقلیه راه آهن راه آهن در مسیر: اقدامات احتیاطی ایمنی: شخصی که کامیون را روی ریل قرار می دهد و شخص کمک کننده باید برای دیده شدن لباس های با دید بالا (مانند جلیقه ، پیراهن ، کت) بپوشد. با ترافیک احتمالی رو به رو هاردات و دستکش نیز باید پوشیده شود تا
نحوه استفاده از سنسور باران FC-37 با آردوینو: 4 مرحله (همراه با تصاویر)
نحوه استفاده از سنسور باران FC-37 با آردوینو: سلام! در اولین دستورالعمل من نحوه استفاده از سنسور باران FC-37 با آردوینو را به شما نشان خواهم داد. من از آردوینو نانو استفاده می کنم اما نسخه های دیگر به خوبی کار می کنند