Mundarija:
- 1 -qadam: materiallar va materiallar
- 2 -qadam: Kengashni sozlash
- 3 -qadam: Kodni yozish
- 4 -qadam: Kodni nusxalash
- 5 -qadam: Natijalar
Video: Cho'l temir yo'lining haroratini aniqlovchi va yo'lovchilar hisoblagichi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
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
- 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
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:
Zigbee yotog'ining borligini aniqlovchi: 8 qadam
Zigbi to'shagining borligi detektori: Men bir muncha vaqtdan beri yotoqda ekanligimizni aniqlash usulini qidirardim. Bu ma'lumotni Homeassistant -da ishlatish uchun. Ushbu ma'lumot bilan men kechasi chiroqlarni o'chirish uchun avtomatlashtirishni amalga oshirishim mumkin yoki masalan, uyimda signalizatsiya tizimini ishga tushirishim mumkin edi
Aqlli robot qo'lining kelishi: 3 qadam
Aqlli robot qo'lining kelishi: mehmonlar bilan qo'l berib ko'rishish, gaplashish, ovqatlanish va boshqalar shu kabi oddiy narsalar, chunki hayotimizning salomatligi oddiy narsalarda, lekin ba'zi bir odamlar uchun bu orzu. Men aytgan ba'zi maxsus odamlar - yo'qolgan nogironlar
Pingo: harakatni aniqlovchi va yuqori aniqlikdagi stol tennisi to'pi uchirgichi: 8 qadam
Pingo: Harakatni aniqlovchi va yuqori aniqlikdagi stol tennisi to'pi: Kevin Nitiema, Esteban Poveda, Entoni Mattakchion, Rafael Kay
Avtomatik tunnelli temir yo'l temir yo'llarining namunalari: 5 qadam
Avtomatik tunnelli temir yo'l chiroqlari: bu mening eng sevimli elektron platam. Mening namunaviy temir yo'l sxemasi (hali ham davom etmoqda) bir nechta tunnellarga ega va ehtimol prototip emas, lekin men tunnel chiroqlari poezd tunnelga yaqinlashganda yoqilishini xohlardim. Mening birinchi impulsim b
Yo'lda temir yo'lda yuqori temir yo'lni qanday o'rnatish kerak: 10 qadam (rasmlar bilan)
Yo'lda temir yo'lda yuqori tezlikda harakatlanadigan transport vositasini qanday o'rnatish kerak: xavfsizlik choralari: temir yo'lda yuqori temir yo'l yuk mashinasini o'rnatgan va yordam berayotgan odam ko'rinadigan bo'lishi uchun yuqori ko'rinadigan kiyimlarni (masalan, yelek, kozok, palto) kiyishi kerak. yaqinlashib kelayotgan tirbandlik tufayli. Qo'lqop va qo'lqop ham kiyish kerak