Sommario:
- Passaggio 1: materiali e forniture
- Passaggio 2: configurazione della scheda
- Passaggio 3: scrittura del codice
- Passaggio 4: copia il codice
- Passaggio 5: risultati
Video: Rilevatore di temperatura della ferrovia del deserto e contatore di passeggeri: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Scopo:
Temperatura: questa istruzione ti insegnerà come impostare e programmare un Arduino RedBoard (usando MATLAB) per rilevare la temperatura di una ferrovia. Quando viene raggiunta una temperatura non sicura per i passeggeri, viene emesso un messaggio di avviso, si attivano i cicalini e si accende un segnale di avviso.
Contatore passeggeri: questa parte ti insegnerà come utilizzare un pulsante per contare i passeggeri e emettere un avviso quando viene raggiunta la capacità massima.
Caratteristiche:
- Utilizza il pulsante per contare i passeggeri che entrano in treno
- Utilizza TMP36 (sensore di temperatura) per rilevare la temperatura della ferrovia
- Utilizza una luce LED rossa per avvisare la stazione ferroviaria
- Utilizza i cicalini per suonare l'allarme
- Invia un'e-mail di avviso con un grafico della temperatura in funzione del tempo
- Messaggi di avviso pop-up su MATLAB
Passaggio 1: materiali e forniture
- 1 computer portatile
- MATLAB 2017
- Scarica Arduino Toolbox
- Sparkfun RedBoard
- 1 cavo di alimentazione
- Breadbord
- 14 fili
- 1 cicalino piezoelettrico
- 1 pulsante
- 2 resistori da 10k ohm
- 1 sensore TMP36
- Luce LED rossa
- Insegna stampata in 3D (opzionale)
Passaggio 2: configurazione della scheda
Segui la configurazione sopra
Passaggio 3: scrittura del codice
While Loop: per garantire che il codice continui a testare la temperatura e rilevare lo stato del pulsante (premuto o non premuto), inseriamo il codice nel ciclo while per un periodo di tempo specificato.
Utilizzando TMP36: determiniamo la temperatura leggendo la tensione e convertendola in gradi Fahrenheit, utilizzando fattori di conversione. Quindi, usiamo un'istruzione if per riprodurre un segnale acustico e inviare avvisi se la temperatura è maggiore o uguale alla temperatura massima impostata
Utilizzo del pulsante: con un'istruzione if, possiamo verificare se il pulsante è stato premuto utilizzando readDigitalPin. Questo comando restituirà un booleano (1 o 0). Se la risposta è 0, allora è stato premuto il pulsante e il contatore dei passeggeri aumenta e visualizza un messaggio di benvenuto. Quindi, quando viene raggiunta la capacità massima, viene emesso un messaggio di avviso.
Passaggio 4: copia il codice
%Ingressi: premendo il pulsante, sensore di temperatura
%Uscite: luci, cicalini, avviso audio, e-mail, grafici
Scopo: questo prodotto è progettato per garantire la sicurezza e il comfort dei passeggeri che viaggiano in treno nel deserto.
Utilizzo: Rilevamento del numero dei passeggeri utilizzando un pulsante e rilevamento del calore utilizzando un sensore di temperatura e grafico e invia entrambi i numeri dei passeggeri e il grafico della temperatura alla stazione ferroviaria
configurePin(a, 'D2', 'pullup'); %nelle versioni future usa configurePin
tempo = 200;
e=0;
x=0
mentre tempo > 0
button_status = readDigitalPin(a, 'D2'); % è uguale a zero quando viene premuto il pulsante, altrimenti è uguale a 1
tensione = readVoltage(a, 'A0');%pin dipende da dove lo posizioniamo
tempCelcius = (tensione*100)-50; %riportato nel manuale del sensore
tempF(time) = (tempCelcius*1.8)+32 %formula di conversione nota
massimo = 120; % gradi F
writeDigitalPin(a, 'D11', 1);
rem=mod(e, 2);
se tempF(tempo)>=max
writeDigitalPin(a, 'D11', 0);
writeDigitalPin(a, 'D9', 1);
playTone(a, 'D9', 2400,.5)
pausa(.5)
writeDigitalPin(a, 'D6', 1)
playTone(a, 'D6', 1000,.5)
pausa(.5)
writeDigitalPin(a, 'D9', 1);
playTone(a, 'D9', 2400,.5)
pausa(.5)
writeDigitalPin(a, 'D6', 1)
playTone(a, 'D6', 1000,.5) %suona "sirena"
z='Surriscaldamento.m4a'; %Questo mette il file audio in una variabile
[dati, frequenza]=audioread(z); %Carica i dati dal file audio
o=audioplayer(data, freq); %Crea un oggetto per controllare la riproduzione del file audio
o.play() %Riproduce file audio
o.playblocking() %Riproduce il file e aspetta che finisca
fine
if button_status == 0 && rem==0
e=e+1
msgbox('Benvenuto a bordo!');
elseif button_status == 0 && rem==1
e=e+1
msgbox('Bienvenido a bordo!');
fine
se e==5
writeDigitalPin(a, 'D11', 0);
se x==0
playTone(a, 'D6', 600, 1);
s='Avviso_EF.m4a'; %Questo mette il file audio in una variabile
[data, freq]=audioread(s); %Carica i dati dal file audio
o=audioplayer(data, freq); %Crea un oggetto per controllare la riproduzione del file audio
% o.play() %Riproduce file audio
o.playblocking() %Riproduce il file e aspetta che finisca
msgbox('Capacità massima')
x=x+1
fine
altrimenti se e>=6
playTone(a, 'D6', 2400, 0);
fine
ora = ora - 1;
% pausa(0.1);
% se e==5 && max(tempF)>=120
% tempo=0
% fine
fine
ee=num2str(e)
t=[1:200];
tempF2=fliplr(tempF);
grafico(t, tempF2);
title('Tempo vs. Temperatura')
ylabel('Temperatura(F)')
xlabel('Tempo/i')
saveas(gcf, 'tempplot.jpg')
mail= '[email protected]'
password='Srsora123#'
host='smtp.gmail.com'
setpref('Internet', 'Server_SMTP', host);
setpref('Internet', 'E_mail', posta);
setpref('Internet', 'SMTP_Username', mail);
setpref('Internet', 'Password_SMTP', password);
props = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port', '465');
sendmail(mail, 'Ciao stazione ferroviaria! Ci sono così tanti passeggeri nel treno', ee, 'tempplot.jpg')
Passaggio 5: risultati
Consigliato:
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: 3 passaggi
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: spesso vediamo contatori visitatori in stadi, centri commerciali, uffici, aule, ecc. Come contano le persone e accendono o spengono la luce quando nessuno è all'interno? Oggi siamo qui con il progetto di controllo automatico della luce ambientale con contatore visitatori bidirezionale
ESP8266 Nodemcu Monitoraggio della temperatura utilizzando DHT11 su un server Web locale - Ottieni la temperatura e l'umidità della stanza sul tuo browser: 6 passaggi
ESP8266 Nodemcu Monitoraggio della temperatura utilizzando DHT11 su un server Web locale | Ottieni la temperatura e l'umidità della stanza sul tuo browser: Ciao ragazzi, oggi faremo un'umidità e l'umidità; sistema di monitoraggio della temperatura utilizzando ESP 8266 NODEMCU & Sensore di temperatura DHT11. La temperatura e l'umidità saranno ottenute da DHT11 Sensor & può essere visto su un browser quale pagina web verrà gestita
O Tornado della ferrovia in scala: 16 passaggi
O Scale Model Railroad Tornado: Sono sicuro che ogni persona ha visto un Tornado nei video. Ma ne hai visto uno che opera in piena animazione su una ferrovia in scala O? Beh, non l'abbiamo ancora installato sulla ferrovia, perché fa parte di un sistema completo di suoni e animazioni
Rilevatore di livello della macchina della Coca-Cola - Ora con la voce!: 6 passaggi (con immagini)
Rilevatore di livello di Coke Machine - Now With Speech!: Questo progetto è un remix del mio rilevatore di livello di lattina di Coke Machine, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) con nuovi sensori e l'aggiunta del suono parlato! Dopo aver realizzato il mio primo rilevatore di livello, ho aggiunto un cicalino piezoelettrico a g
Rilevatore di fulmini e contatore: 8 passaggi (con immagini)
Rilevatore di fulmini e contatore: ho sempre voluto creare un rilevatore di fulmini, ma ho trovato gli schemi del circuito un po' oltre le mie capacità. Di recente, mentre navigavo in rete, mi sono imbattuto in un circuito molto interessante che conta i fulmini man mano che accadono! Dopo aver guardato