Taula de continguts:
- Pas 1: materials i subministraments
- Pas 2: Configuració del tauler
- Pas 3: escriure el codi
- Pas 4: copieu el codi
- Pas 5: Resultats
Vídeo: Detector de temperatura del ferrocarril del desert i comptador de passatgers: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Propòsit:
Temperatura: aquest instructiu us ensenyarà a configurar i programar un Arduino RedBoard (amb MATLAB) per detectar la temperatura d’un ferrocarril. Quan s’arriba a una temperatura no segura per als passatgers, sona un missatge d’advertència, s’apaguen els timbres i s’encén un senyal d’advertència.
Comptador de passatgers: aquesta part us ensenyarà a utilitzar un botó per comptar els passatgers i emetre un avís quan s’hagi assolit la capacitat màxima.
Característiques:
- Utilitza el botó per comptar els passatgers que entren al tren
- Utilitza TMP36 (sensor de temperatura) per detectar la temperatura del ferrocarril
- Utilitza un llum LED vermell per advertir l’estació de tren
- Utilitza timbres per sonar l’alarma
- Envia un missatge d’alerta amb una parcel·la de temperatura i temps
- Missatges d’advertència emergents a MATLAB
Pas 1: materials i subministraments
- 1 ordinador portàtil
- MATLAB 2017
- Descarregueu Arduino Toolbox
- Sparkfun RedBoard
- 1 cable d'alimentació
- Breadbord
- 14 cables
- 1 Piezo Buzzer
- 1 polsador
- 2 resistències de 10k ohm
- 1 sensor TMP36
- Llum LED vermella
- Rètol imprès en 3D (opcional)
Pas 2: Configuració del tauler
Seguiu la configuració anterior
Pas 3: escriure el codi
Mentre bucle: per assegurar-nos que el codi continua provant la temperatura i detectant l'estat del botó (premut o no premut), posem el codi al bucle while durant un període de temps especificat.
Utilitzant TMP36: determinem la temperatura llegint la tensió i convertint-la en graus Fahrenheit, utilitzant factors de conversió. A continuació, fem servir una sentència if per reproduir un to i sonar / enviar alertes si la temperatura és superior o igual a la temperatura màxima establerta
Ús del botó: amb una sentència if, podem provar si es va prémer el botó amb readDigitalPin. Aquesta ordre retornarà un booleà (1 o 0). Si la resposta és 0, es va prémer el botó i el comptador dels passatgers augmenta i es mostra un missatge de benvinguda. Després, quan s’assoleix la capacitat màxima, es fa sonar un missatge d’advertència.
Pas 4: copieu el codi
% D'entrades: prement el botó, sensor de temperatura
% Sortides: llums, brunzidors, alerta d'àudio, correus electrònics, gràfics
% Objectiu: aquest producte està dissenyat per ajudar a garantir la seguretat i la comoditat de% de passatgers que viatgen en tren pel desert.
% Ús: detectar el nombre de passatgers mitjançant un polsador i% detectar la calor mitjançant un sensor de temperatura i representar-lo gràficament i enviar tant el nombre de passatgers com el gràfic de temperatura a l'estació de tren
configurePin (a, 'D2', 'pullup'); % en versions futures utilitzen configurePin
temps = 200;
e = 0;
x = 0
mentre que el temps> 0
button_status = readDigitalPin (a, 'D2'); % és igual a zero quan es prem el botó, en cas contrari és igual a 1
voltage = readVoltage (a, 'A0');% pin depèn d'on el col·loquem
tempCelcius = (voltatge * 100) -50; % indicat al manual del sensor
tempF (temps) = (tempCelcius * 1,8) +32% de fórmula de conversió coneguda
màx = 120; % graus F.
writeDigitalPin (a, 'D11', 1);
rem = mod (e, 2);
si tempF (temps)> = màx
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)% reprodueix "sirena"
z = 'Sobrecalentament.m4a'; % Això posa el fitxer de so en una variable
[dades, freq] = audioread (z); % Carrega les dades del fitxer de so
o = audioplayer (dades, freq); % Crea un objecte per controlar la reproducció del fitxer d'àudio
o.play ()% Reprodueix el fitxer d'àudio
o.playblocking ()% Reprodueix el fitxer i espera que acabi
final
if button_status == 0 && rem == 0
e = e + 1
msgbox ('Benvingut a bord!');
elseif button_status == 0 && rem == 1
e = e + 1
msgbox ('Bienvenido a bordo!');
final
si e == 5
writeDigitalPin (a, 'D11', 0);
si x == 0
playTone (a, 'D6', 600, 1);
s = 'Warning_EF.m4a'; % Això posa el fitxer de so en una variable
[dades, freq] = audioread (s); % Carrega les dades del fitxer de so
o = audioplayer (dades, freq); % Crea un objecte per controlar la reproducció del fitxer d'àudio
% o.play ()% Reprodueix fitxers d'àudio
o.playblocking ()% Reprodueix el fitxer i espera que acabi
msgbox ('Capacitat màxima')
x = x + 1
final
elseif e> = 6
playTone (a, 'D6', 2400, 0);
final
temps = temps - 1;
% pausa (0,1);
% if e == 5 && max (tempF)> = 120
% de temps = 0
% final
final
ee = num2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
gràfic (t, tempF2);
title ("Temps vs. temperatura")
ylabel ('Temperatura (F)')
xlabel ("Temps (s)")
saveas (gcf, 'tempplot.jpg')
mail = '[email protected]'
password = 'Srsora123 #'
host = 'smtp.gmail.com'
setpref ('Internet', 'SMTP_Server', amfitrió);
setpref ('Internet', 'E-mail', correu);
setpref ('Internet', 'SMTP_Username', mail);
setpref ('Internet', 'SMTP_Password', contrasenya);
atrezzo = 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 (correu electrònic, "Hello Train Station! Hi ha tants passatgers al tren", ee, "tempplot.jpg")
Pas 5: Resultats
Recomanat:
Disseny automàtic del ferrocarril model amb dos trens: 9 passos
Disseny automàtic de ferrocarrils de maquetes amb dos trens: fa un temps vaig fer un disseny de maquetes de ferrocarril automatitzat amb revestiment passant. A petició d'un company membre, he fet aquest instructiu. Això és una mica similar al projecte esmentat anteriorment. El traçat allotja dos trens i els fa circular alternativament
Circuit de ferrocarril model automàtic senzill amb revestiment del pati: 11 passos
Bucle de ferrocarril de models automàtics senzills amb revestiment de jardí: aquest projecte és una versió actualitzada d’un dels meus projectes anteriors. Utilitza un microcontrolador Arduino, una gran plataforma de prototipatge de codi obert per automatitzar un disseny de ferrocarril model. El disseny es compon d’un simple bucle ovalat i un segó de revestiment de jardí
Model de ferrocarril automatitzat punt a punt amb revestiment del pati: 10 passos (amb imatges)
Model de ferrocarril automatitzat punt a punt amb revestiment de jardí: els microcontroladors Arduino obren grans possibilitats en models de ferrocarril, especialment quan es tracta d’automatització. Aquest projecte és un exemple d’aquesta aplicació. És la continuació d’un dels projectes anteriors. Aquest projecte es compon d'un punt
Canvi ràpid del clip del comptador: 3 passos
Canvi ràpid del clip de comptador: tinc un clip de penjar magnètic per al meu comptador i he de poder eliminar-lo ràpidament per passar de la taula de treball al taulell. espereu 2 mesos fins que la Xina caigui. Així que aquí va
Detector de llamps i comptador: 8 passos (amb imatges)
Detector de llamps i comptador: sempre he volgut fer un detector de llamps, però he trobat els esquemes del circuit una mica més enllà de les meves capacitats. Recentment, mentre navegava per la xarxa, em vaig trobar amb un circuit molt divertit que compta els llamps a mesura que passen. Després de mirar