Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46
But:
Température: cette instructable vous apprendra comment configurer et programmer un Arduino RedBoard (à l'aide de MATLAB) pour détecter la température d'un chemin de fer. Lorsqu'une température dangereuse pour les passagers est atteinte, un message d'avertissement retentit, des avertisseurs sonores se déclenchent et un panneau d'avertissement s'allume.
Compteur de passagers: cette partie vous apprendra comment utiliser un bouton pour compter les passagers et émettre un avertissement lorsque la capacité maximale est atteinte.
Caractéristiques:
- Utilise le bouton pour compter les passagers entrant dans le train
- Utilise le TMP36 (capteur de température) pour détecter la température du chemin de fer
- Utilise une lumière LED rouge pour avertir la gare
- Utilise des buzzers pour déclencher l'alarme
- Envoie un e-mail d'alerte avec un graphique de la température en fonction du temps
- Messages d'avertissement contextuels sur MATLAB
Étape 1: Matériaux et fournitures
- 1 ordinateur portable
- MATLAB 2017
- Télécharger la boîte à outils Arduino
- Tableau Rouge Sparkfun
- 1 câble d'alimentation
- Planche à pain
- 14 fils
- 1 buzzer piézo
- 1 bouton poussoir
- 2 résistances de 10k ohms
- 1 capteur TMP36
- Lumière LED rouge
- Panneau imprimé en 3D (facultatif)
Étape 2: configuration de la carte
Suivez la configuration ci-dessus
Étape 3: Rédaction du code
Boucle While: pour garantir que le code continue de tester la température et de détecter l'état du bouton (appuyé ou non enfoncé), nous plaçons le code dans la boucle while pendant une période de temps spécifiée.
Utilisation du TMP36: nous déterminons la température en lisant la tension et en la convertissant en degrés Fahrenheit, à l'aide de facteurs de conversion. Ensuite, nous utilisons une instruction if pour jouer une tonalité et sonner/envoyer des alertes si la température est supérieure ou égale à la température maximale définie
Utilisation du bouton: avec une instruction if, nous pouvons tester si le bouton a été enfoncé à l'aide de readDigitalPin. Cette commande renverra un booléen (1 ou 0). Si la réponse est 0, alors le bouton a été enfoncé et le compteur de passagers augmente et affiche un message de bienvenue. Ensuite, lorsque la capacité maximale est atteinte, un message d'avertissement retentit.
Étape 4: copiez le code
%Entrées: Appuyer sur le bouton, capteur de température
%Sorties: lumières, buzzers, alerte audio, e-mails, graphiques
% Objectif: ce produit est conçu pour assurer la sécurité et le confort des % passagers voyageant en train dans le désert.
% Utilisation: détection du nombre de passagers à l'aide d'un bouton-poussoir et % détection de la chaleur à l'aide d'un capteur de température et graphique et envoi à la fois du nombre de passagers et du graphique de température à la gare
configurePin(a, 'D2', 'pullup'); %dans les futures versions, utilisez configurePin
temps = 200;
e=0;
x=0
pendant que le temps > 0
button_status = readDigitalPin(a, 'D2'); % est égal à zéro lorsque le bouton est enfoncé, sinon égal à 1
voltage = readVoltage(a, 'A0');%pin dépend de l'endroit où nous le plaçons
tempCelcius = (tension*100)-50; % donné dans le manuel du capteur
tempF(time) = (tempCelcius*1.8)+32% formule de conversion connue
max = 120; %degrés F
writeDigitalPin(a, 'D11', 1);
rem=mod(e, 2);
si tempF(temps)>=max
writeDigitalPin(a, 'D11', 0);
writeDigitalPin(a, 'D9', 1);
playTone(a, 'D9', 2400,.5)
pause(.5)
writeDigitalPin(a, 'D6', 1)
playTone(a, 'D6', 1000,.5)
pause(.5)
writeDigitalPin(a, 'D9', 1);
playTone(a, 'D9', 2400,.5)
pause(.5)
writeDigitalPin(a, 'D6', 1)
playTone(a, 'D6', 1000,.5) % joue "sirène"
z='Surchauffe.m4a'; %Cela met le fichier son dans une variable
[données, fréquence]=audioread(z); %Charge les données du fichier son
o=audioplayer(data, freq); %Crée un objet pour contrôler la lecture du fichier audio
o.play() % Lit le fichier audio
o.playblocking() % Lit le fichier et attend qu'il se termine
finir
si button_status == 0 && rem==0
e=e+1
msgbox('Bienvenue à bord !');
elseif button_status == 0 && rem==1
e=e+1
msgbox('Bienvenue à bord !');
finir
si e==5
writeDigitalPin(a, 'D11', 0);
si x==0
playTone(a, 'D6', 600, 1);
s='Avertissement_EF.m4a'; %Cela met le fichier son dans une variable
[data, freq]=audioread(s); %Charge les données du fichier son
o=audioplayer(data, freq); %Crée un objet pour contrôler la lecture du fichier audio
% o.play() % Lit le fichier audio
o.playblocking() % Lit le fichier et attend qu'il se termine
msgbox('Capacité maximale')
x=x+1
finir
sinon e>=6
playTone(a, 'D6', 2400, 0);
finir
heure = heure - 1;
% pause(0.1);
% si e==5 && max(tempF)>=120
% temps=0
% finir
finir
ee=num2str(e)
t=[1:200];
tempF2=fliplr(tempF);
plot(t, tempF2);
title('Temps vs Température')
ylabel('Température(F)')
xlabel('Heure(s)')
saveas(gcf, 'tempplot.jpg')
mail= '[email protected]'
mot de passe='Srsora123#'
hôte='smtp.gmail.com'
setpref('Internet', 'SMTP_Server', hôte);
setpref('Internet', 'E_mail', courrier);
setpref('Internet', 'SMTP_Nom d'utilisateur', courrier);
setpref('Internet', 'Mot de passe_SMTP', mot de passe);
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, 'Bonjour la gare ! Il y a autant de passagers dans le train', ee, 'tempplot.jpg')
Étape 5: Résultats
Conseillé:
Un compteur de température, de conductivité et de niveau d'eau de l'eau de puits en temps réel : 6 étapes (avec photos)
Un compteur de température, de conductivité et de niveau d'eau de l'eau de puits en temps réel : ces instructions décrivent comment construire un compteur d'eau en temps réel à faible coût pour surveiller la température, la conductivité électrique (CE) et les niveaux d'eau dans les puits creusés. Le compteur est conçu pour être suspendu à l'intérieur d'un puits creusé, mesurer la température de l'eau, EC et
Compteur de température et d'humidité IoT avec écran OLED : 5 étapes (avec photos)
Compteur de température et d'humidité IoT avec écran OLED : vérifiez la température et l'humidité sur un écran OLED à tout moment et collectez en même temps ces données sur une plate-forme IoT. La semaine dernière, j'ai publié un projet intitulé Simplest IoT temperature and hygrometer. C'est un bon projet parce que vous pouvez c
Compteur de température et d'humidité utilisant l'écran OLED : 5 étapes
Compteur de température et d'humidité utilisant un écran OLED : COMPOSANTS REQUIS- 1. Arduino NANO : https://amzn.to/2HfX5PH 2. Capteur DHT11 : https://amzn.to/2HfX5PH 3. Écran OLED : https://amzn. to/2HfX5PH 4. Planche à pain : https://amzn.to/2HfX5PH 5. Cavaliers : https://amzn.to/2HfX5PH Liens d'achat
Détecteur de fumée IOT : mettre à jour le détecteur de fumée existant avec IOT : 6 étapes (avec photos)
Détecteur de fumée IOT : Mettre à jour le détecteur de fumée existant avec IOT : Liste des contributeurs, Inventeur : Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Superviseur : Dr Chia Kim Seng Département de génie mécatronique et robotique, Faculté de génie électrique et électronique, Universiti Tun Hussein Onn Malaisie.Distribuer
Détecteur et compteur de foudre : 8 étapes (avec photos)
Détecteur et compteur de foudre : J'ai toujours voulu fabriquer un détecteur de foudre, mais j'ai trouvé les schémas de circuit un peu au-delà de mes capacités. Récemment, en surfant sur le net, je suis tombé sur un circuit très sympa qui compte les éclairs au fur et à mesure qu'ils se produisent ! Après avoir regardé