Mundarija:

Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi: 5 qadam
Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi: 5 qadam

Video: Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi: 5 qadam

Video: Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi: 5 qadam
Video: Mirzoyeva Istat Elmurodovna. Qozogiston respublikasining iqtisodiy va ijtimoiy geografiyasi.1-mavzu. 2024, Noyabr
Anonim
Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi
Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi

Maqsad:

Harorat: Bu ko'rsatma sizga temir yo'lning haroratini aniqlash uchun Arduino RedBoard (MATLAB yordamida) ni sozlash va dasturlashni o'rgatadi. Yo'lovchilar uchun xavfli haroratga etib kelganida, ogohlantirish xabari eshitiladi, signal signallari o'chadi va ogohlantirish belgisi yonadi.

Yo'lovchilar hisoblagichi: Bu qism yo'lovchilarni hisoblash va tugmachani maksimal sig'imga yetganda ogohlantirish uchun tugmachani ishlatishni o'rgatadi.

Xususiyatlari:

  • Poyezdga kirayotgan yo'lovchilarni hisoblash uchun tugmachani ishlatadi
  • Temir yo'lning haroratini aniqlash uchun TMP36 (harorat sensori) dan foydalanadi
  • Poezd stantsiyasini ogohlantirish uchun qizil LED chiroq ishlatiladi
  • Ogohlantirish uchun ovozli signallardan foydalanadi
  • Vaqt va vaqt harorati ko'rsatilgan elektron pochta xabarini yuboradi
  • MATLABda pop-up ogohlantirish xabarlari

1 -qadam: materiallar va materiallar

Materiallar va materiallar
Materiallar va materiallar
  • 1 noutbuk
  • MATLAB 2017
  • Arduino asboblar qutisini yuklab oling
  • Sparkfun RedBoard
  • 1 Quvvat kabeli
  • Breadbord
  • 14 ta sim
  • 1 Piezo Buzzer
  • 1 bosish tugmasi
  • 2 10k ohmli rezistorlar
  • 1 TMP36 sensori
  • Qizil LED chiroq
  • 3D bosma belgi (ixtiyoriy)

2 -qadam: Kengashni sozlash

Kengashni sozlash
Kengashni sozlash

Yuqoridagi sozlamalarga amal qiling

3 -qadam: Kodni yozish

Loop paytida: Kod haroratni tekshirishni davom ettirishini va tugma holatini (bosilgan yoki bosilmagan) sezilishini ta'minlash uchun biz kodni ma'lum bir vaqt davomida vaqt tsikliga joylashtiramiz.

TMP36 dan foydalanish: Biz haroratni voltajni o'qish va uni Farengeyt darajasiga aylantirish, konvertatsiya faktorlari yordamida aniqlaymiz. Keyin biz if ifodasini ishlatamiz, agar ohang belgilangan maksimal haroratdan katta yoki unga teng bo'lsa, ohang va tovushni ijro etish/ogohlantirishlarni yuborish.

Tugma yordamida: if iborasi yordamida biz tugmani readDigitalPin yordamida bosilganligini tekshirib ko'rishimiz mumkin. Bu buyruq mantiqiy (1 yoki 0) qaytaradi. Agar javob 0 bo'lsa, tugma bosilgan va yo'lovchilar hisoblagichi ko'payib, xush kelibsiz xabarini ko'rsatadi. Keyin, maksimal quvvatga yetganda, ogohlantirish xabari eshitiladi.

4 -qadam: Kodni nusxalash

%Kirish: tugmachani bosib, harorat sensori

%Chiqish: chiroqlar, signallar, ovozli ogohlantirishlar, elektron pochta xabarlari, grafikalar

%Maqsad: Bu mahsulot cho'l bo'ylab poezdda sayohat qilayotgan yo'lovchilarning xavfsizligi va qulayligini ta'minlashga mo'ljallangan.

%Foydalanish: tugmachasi yordamida yo'lovchilar sonini aniqlash va %harorat sensori yordamida issiqlikni aniqlash va uni chizish va %yo'lovchilar sonini ham, harorat grafigini ham vokzalga yuboradi.

configurePin (a, "D2", "tortish"); %kelgusi nashrlarda configurePin -dan foydalanadi

vaqt = 200;

e = 0;

x = 0

vaqt> 0

button_status = readDigitalPin (a, 'D2'); Tugma bosilganda % nolga teng, aks holda 1 ga teng

kuchlanish = o'qish voltaji (a, 'A0');%pin uni qaerga joylashtirganimizga bog'liq

tempCelcius = (kuchlanish*100) -50; %sensor qo'llanmasida berilgan

tempF (vaqt) = (tempCelcius*1.8) +32 %ma'lum konvertatsiya formulasi

maksimal = 120; %daraja F

writeDigitalPin (a, 'D11', 1);

rem = mod (e, 2);

agar tempF (vaqt)> = max

writeDigitalPin (a, 'D11', 0);

writeDigitalPin (a, 'D9', 1);

playTone (a, 'D9', 2400,.5)

pauza (.5)

writeDigitalPin (a, 'D6', 1)

playTone (a, 'D6', 1000,.5)

pauza (.5)

writeDigitalPin (a, 'D9', 1);

playTone (a, 'D9', 2400,.5)

pauza (.5)

writeDigitalPin (a, 'D6', 1)

playTone (a, 'D6', 1000,.5) %"sirenani" ijro etadi

z = 'Haddan tashqari issiqlik.m4a'; %Bu tovush faylini o'zgaruvchiga qo'yadi

[ma'lumotlar, chastota] = audio o'qish (z); %Ovozli fayldan ma'lumotlarni yuklaydi

o = audiopleyer (ma'lumotlar, chastota); %Ovozli faylni ijro etilishini boshqarish uchun ob'ekt yaratadi

o.play () %audio faylni ijro etadi

o.playblocking () %Faylni o'ynatadi va uning tugashini kutadi

oxiri

agar button_status == 0 && rem == 0 bo'lsa

e = e+1

msgbox ("Xush kelibsiz!");

elseif button_status == 0 && rem == 1

e = e+1

msgbox ('Bienvenido a bordo!');

oxiri

agar e == 5 bo'lsa

writeDigitalPin (a, 'D11', 0);

agar x == 0 bo'lsa

playTone (a, 'D6', 600, 1);

s = 'Ogohlantirish_EF.m4a'; %Bu tovush faylini o'zgaruvchiga qo'yadi

[ma'lumotlar, chastota] = audio o'qish; %Ovozli fayldan ma'lumotlarni yuklaydi

o = audiopleyer (ma'lumotlar, chastota); %Ovozli faylni ijro etilishini boshqarish uchun ob'ekt yaratadi

% o.play () % Audio faylni ijro etadi

o.playblocking () %Faylni o'ynatadi va uning tugashini kutadi

msgbox ("Maksimal sig'im")

x = x+1

oxiri

boshqa e> = 6

playTone (a, 'D6', 2400, 0);

oxiri

vaqt = vaqt - 1;

% pauza (0,1);

% agar e == 5 && max (tempF)> = 120 bo'lsa

% vaqt = 0

% oxiri

oxiri

ee = son2str (e)

t = [1: 200];

tempF2 = fliplr (tempF);

uchastka (t, tempF2);

sarlavha ("Vaqt va harorat")

ylabel ('Harorat (F)')

xlabel ('Vaqt (lar)')

saqlash (gcf, 'tempplot.jpg')

pochta = '[email protected]'

parol = 'Srsora123#'

xost = 'smtp.gmail.com'

setpref ("Internet", "SMTP_Server", xost);

setpref ("Internet", "E_mail", pochta);

setpref ("Internet", "SMTP_Username", pochta);

setpref ("Internet", "SMTP_Password", parol);

rekvizitlar = java.lang. System.getProperties;

props.setProperty ('mail.smtp.auth', 'rost');

props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');

props.setProperty ('mail.smtp.socketFactory.port', '465');

sendmail (pochta, 'Salom vokzal! Poyezdda ko'p yo'lovchilar bor', ee, 'tempplot.jpg')

5 -qadam: Natijalar

Tavsiya: