Talaan ng mga Nilalaman:
- Hakbang 1: Mga Materyales at Suplay
- Hakbang 2: Pag-setup ng Lupon
- Hakbang 3: Pagsulat ng Code
- Hakbang 4: Kopyahin ang Code
- Hakbang 5: Mga Resulta
Video: Desert Railway Temperature Detector at Passenger Counter: 5 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Layunin:
Temperatura: Ang itinuturo na ito ay magtuturo sa iyo kung paano mag-set up at mag-program ng isang Arduino RedBoard (gamit ang MATLAB) upang makita ang temperatura ng isang riles. Kapag naabot ang isang hindi ligtas na temperatura para sa mga pasahero, tunog ng isang babalang mensahe, pumapatay ang mga buzzer, at isang ilaw ng babala ang magsisindi.
Passenger Counter: Ang bahaging ito ay magtuturo sa iyo kung paano gumamit ng isang pindutan upang mabilang ang mga pasahero at tunog ng isang babala kapag naabot ang maximum na kapasidad.
Mga Tampok:
- Gumagamit ng Button upang mabilang ang mga pasahero na pumapasok sa tren
- Gumagamit ng TMP36 (sensor ng temperatura) upang makita ang temperatura ng riles
- Gumagamit ng isang pulang LED light upang bigyan ng babala ang istasyon ng tren
- Gumagamit ng mga buzzer upang mag-alarma
- Nagpadala ng isang alerto sa email na may isang lagay ng temperatura kumpara sa oras
- Mga mensahe ng babalang pop-up sa MATLAB
Hakbang 1: Mga Materyales at Suplay
- 1 Laptop
- MATLAB 2017
- I-download ang Arduino Toolbox
- Sparkfun RedBoard
- 1 Power Cable
- Breadbord
- 14 na mga wire
- 1 Piezo Buzzer
- 1 Push Button
- 2 10k ohm resistors
- 1 sensor ng TMP36
- Pulang LED light
- 3D print sign (opsyonal)
Hakbang 2: Pag-setup ng Lupon
Sundin ang setup sa itaas
Hakbang 3: Pagsulat ng Code
Habang Loop: Upang matiyak na ang code ay patuloy na sumusubok sa temperatura at nadarama ang katayuan ng pindutan (pinindot o hindi naka-compress), inilalagay namin ang code sa habang loop para sa isang tinukoy na tagal ng panahon.
Paggamit ng TMP36: Natutukoy namin ang temperatura sa pamamagitan ng pagbabasa ng boltahe at pag-convert nito sa degree Fahrenheit, gamit ang mga kadahilanan ng conversion. Pagkatapos, gumagamit kami ng isang kung pahayag upang patugtugin ang isang tono at tunog / magpadala ng mga alerto kung ang temp ay mas malaki kaysa o katumbas ng itinakdang pinakamataas na temperatura
Paggamit ng Button: Sa isang pahayag na kung, maaari naming subukan kung ang pindutan ay pinindot gamit ang readDigitalPin. Ang utos na ito ay magbabalik ng isang Boolean (1 o 0). Kung ang tugon ay 0, pagkatapos ang pindutan ay pinindot at ang counter ng mga pasahero ay tumataas at nagpapakita ng isang maligayang mensahe. Pagkatapos, kapag naabot ang maximum na kapasidad, isang mensahe ng babala ang ipapatunog.
Hakbang 4: Kopyahin ang Code
% Mga Input: Pagtulak sa pindutan, sensor ng temperatura
% Mga Output: ilaw, buzzer, audio alert, mga email, graph
% Layunin: Ang produktong ito ay dinisenyo upang makatulong na matiyak ang kaligtasan at ginhawa ng% mga pasahero na naglalakbay sa pamamagitan ng tren sa disyerto.
% Paggamit: Ang pagtuklas ng bilang ng mga pasahero gamit ang isang pindutan ng itulak, at% ang pagtuklas ng init gamit ang isang sensor ng temperatura at i-grap ito at ipapadala ang parehong% mga numero ng pasahero at ang graph ng temperatura sa istasyon ng tren
configurePin (a, 'D2', 'pullup'); % sa mga hinaharap na paglabas ay gumagamit ng configurePin
oras = 200;
e = 0;
x = 0
habang oras> 0
button_status = readDigitalPin (a, 'D2'); % ay katumbas ng zero kapag ang pindutan ay hunhon, kung hindi man ay katumbas ng 1
boltahe = readVoltage (a, 'A0'); Ang% pin ay nakasalalay sa kung saan natin ito inilalagay
tempCelcius = (boltahe * 100) -50; % na ibinigay sa manual ng sensor
tempF (oras) = (tempCelcius * 1.8) +32% kilalang formula ng conversion
max = 120; % degree F
isulatDigitalPin (a, 'D11', 1);
rem = mod (e, 2);
kung tempF (oras)> = max
isulatDigitalPin (a, 'D11', 0);
isulatDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
i-pause (.5)
isulatDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5)
i-pause (.5)
isulatDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
i-pause (.5)
isulatDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5)% gumaganap "siren"
z = 'Overheat.m4a'; % Inilalagay nito ang file ng tunog sa isang variable
[data, freq] = audioread (z); % Naglo-load ng data mula sa file ng tunog
o = audioplayer (data, freq); % Lumilikha ng isang bagay upang makontrol ang pag-play ng audio file
o.play ()% Nagpe-play ng audio file
o.playblocking ()% Nagpe-play ang file at hinihintay itong matapos
magtapos
kung button_status == 0 && rem == 0
e = e + 1
msgbox ('Maligayang Aboard!');
kung hindi man button_status == 0 && rem == 1
e = e + 1
msgbox ('Bienvenido a bordo!');
magtapos
kung e == 5
isulatDigitalPin (a, 'D11', 0);
kung x == 0
playTone (a, 'D6', 600, 1);
s = 'Babala_EF.m4a'; % Inilalagay nito ang file ng tunog sa isang variable
[data, freq] = (mga) audioread; % Naglo-load ng data mula sa file ng tunog
o = audioplayer (data, freq); % Lumilikha ng isang bagay upang makontrol ang pag-play ng audio file
% o.play ()% Nagpe-play ng audio file
o.playblocking ()% Nagpe-play ang file at hinihintay itong matapos
msgbox ('Max Capacity')
x = x + 1
magtapos
kung hindi man>> 6
playTone (a, 'D6', 2400, 0);
magtapos
oras = oras - 1;
% pause (0.1);
% kung e == 5 && max (tempF)> = 120
% oras = 0
% pagtatapos
magtapos
ee = num2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
balangkas (t, tempF2);
pamagat ('Oras kumpara sa Temperatura')
ylabel ('Temperatura (F)')
xlabel ('Mga Oras')
saveas (gcf, 'tempplot.jpg')
mail = '[email protected]'
password = 'Srsora123 #'
host = 'smtp.gmail.com'
setpref ('Internet', 'SMTP_Server', host);
setpref ('Internet', 'E_mail', mail);
setpref ('Internet', 'SMTP_Username', mail);
setpref ('Internet', 'SMTP_Password', password);
props = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'totoo');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
sendmail (mail, 'Hello Train Station! Marami itong mga pasahero sa tren', ee, 'tempplot.jpg')
Hakbang 5: Mga Resulta
Inirerekumendang:
Awtomatikong Model Railway Layout Pagpapatakbo ng Dalawang Tren (V2.0) - Batay sa Arduino: 15 Hakbang (na may Mga Larawan)
Awtomatikong Model Railway Layout Pagpapatakbo ng Dalawang Tren (V2.0) | Batay sa Arduino: Ang pag-automate ng mga layout ng riles ng modelo na gumagamit ng Arduino microcontrollers ay isang mahusay na paraan ng pagsasama-sama ng mga microcontroller, programa at modelo ng riles sa isang libangan. Mayroong isang bungkos ng mga proyekto na magagamit sa pagpapatakbo ng isang tren autonomiya sa isang modelo ng railroa
Kinokontrol ng Keyboard na Modelong Railway Layout V2.5 - Interface ng PS / 2: 12 Mga Hakbang
Kinokontrol ng Keyboard na Modelong Railway Layout V2.5 | PS / 2 Interface: Paggamit ng Arduino microcontrollers, maraming mga paraan ng pagkontrol sa mga layout ng modelo ng riles. Ang isang keyboard ay may isang mahusay na bentahe ng pagkakaroon ng maraming mga susi upang magdagdag ng maraming mga pag-andar. Tingnan natin dito kung paano tayo makakapagsimula sa isang simpleng layout na may lokomot
Simpleng Awtomatikong Model Railway Layout - Kinokontrol ng Arduino: 11 Mga Hakbang (na may Mga Larawan)
Simpleng Awtomatikong Model Railway Layout | Kinokontrol ng Arduino: Ang mga Arduino microcontroller ay isang mahusay na karagdagan sa modelo ng riles ng tren, lalo na kapag nakikipag-usap sa awtomatiko. Narito ang isang simple at madaling paraan upang makapagsimula sa modelo ng automobile ng riles gamit ang Arduino. Kaya, nang walang anumang pag-aalinlangan, magsimula na tayo
Awtomatikong Model Railway Layout Sa Mga Reverse Loops: 14 Hakbang
Automated Model Railway Layout With Reverse Loops: Sa isa sa aking nakaraang Mga Instructionable, ipinakita ko kung paano gumawa ng isang Simpleng Automated Point to Point Model Railroad. Ang isa sa mga pangunahing kawalan ng proyekto ay ang tren na kailangang lumipat sa pabalik na direksyon para bumalik sa panimulang punto. R
Awtomatikong Sistema ng tawiran ng Railway Gamit ang Arduino Base Embedded Platform: 9 Mga Hakbang
Awtomatikong Sistema ng tawiran ng Railway Gamit ang Arduino Base Embedded Platform: ang Pasko ay isang linggo lamang ang layo! Ang lahat ay abala sa mga pagdiriwang at pagkuha ng mga regalo, kung saan, sa pamamagitan ng paraan, ay nakakakuha ng lahat ng mas mahirap upang makakuha ng walang katapusang mga posibilidad sa paligid natin. Paano ang tungkol sa pagpunta sa isang klasikong regalo at magdagdag ng isang ugnayan ng DIY sa