Indholdsfortegnelse:
- Trin 1: Materialer og forsyninger
- Trin 2: Board Setup
- Trin 3: Skrivning af koden
- Trin 4: Kopier koden
- Trin 5: Resultater
Video: Desert Railroad Temperature Detector & Passagertæller: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Formål:
Temperatur: Denne instruktør lærer dig, hvordan du opretter og programmerer et Arduino RedBoard (ved hjælp af MATLAB) til at registrere temperaturen på en jernbane. Når en usikker temperatur for passagererne er nået, lyder en advarselsmeddelelse, summer summer, og et advarselsskilt lyser.
Passagertæller: Denne del lærer dig, hvordan du bruger en knap for at tælle passagerer og udsende en advarsel, når maksimal kapacitet er nået.
Funktioner:
- Bruger knappen til at tælle passagerer ind i toget
- Bruger TMP36 (temperatursensor) til at registrere jernbanens temperatur
- Bruger et rødt LED -lys til at advare togstationen
- Bruger summer til at slå alarm
- Sender en advarsels -e -mail med et plot af temperatur vs tid
- Pop-up advarsler på MATLAB
Trin 1: Materialer og forsyninger
- 1 bærbar
- MATLAB 2017
- Hent Arduino Toolbox
- Sparkfun RedBoard
- 1 strømkabel
- Brødbord
- 14 ledninger
- 1 Piezo -summer
- 1 Tryk på knappen
- 2 10k ohm modstande
- 1 TMP36 sensor
- Rød LED lys
- 3D -trykt skilt (valgfrit)
Trin 2: Board Setup
Følg opsætningen ovenfor
Trin 3: Skrivning af koden
Mens Loop: For at sikre, at koden fortsætter med at teste temperaturen og registrerer knapstatus (trykket eller ikke trykket), placerer vi koden i while -loop for en bestemt periode.
Brug af TMP36: Vi bestemmer temperaturen ved at aflæse spændingen og konvertere den til grader Fahrenheit ved hjælp af konverteringsfaktorer. Derefter bruger vi en if -sætning til at afspille en tone og lyd/sende advarsler, hvis temperaturen er større end eller lig med den indstillede maksimale temperatur
Brug af knap: Med en if -sætning kan vi teste, om der blev trykket på knappen ved hjælp af readDigitalPin. Denne kommando returnerer en boolsk (1 eller 0). Hvis svaret er 0, blev der trykket på knappen, og passagertælleren stiger og viser en velkomstmeddelelse. Når den maksimale kapacitet er nået, lyder der en advarselsmeddelelse.
Trin 4: Kopier koden
%Input: Tryk på knappen, temperatursensor
%Outputs: lys, summer, lydalarm, e -mails, grafer
%Formål: Dette produkt er designet til at hjælpe med at sikre sikkerheden og komforten for %passagerer, der rejser med tog gennem ørkenen.
%Brug: Registrering af antallet af passagerer ved hjælp af en trykknap og %detektering af varmen ved hjælp af en temperatursensor og tegner den og sender både %passagertal og temperaturgrafen til togstationen
configurePin (a, 'D2', 'pullup'); %i fremtidige udgivelser bruger configurePin
tid = 200;
e = 0;
x = 0
mens tiden> 0
button_status = readDigitalPin (a, 'D2'); % er lig med nul, når der trykkes på knappen, ellers er 1
spænding = readVoltage (a, 'A0');%pin afhænger af, hvor vi placerer den
tempCelcius = (spænding*100) -50; %angivet i sensorhåndbogen
tempF (tid) = (tempCelcius*1.8) +32 %kendt omregningsformel
max = 120; %grader F
writeDigitalPin (a, 'D11', 1);
rem = mod (e, 2);
hvis tempF (tid)> = maks
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) %spiller "sirene"
z = 'Overophedning.m4a'; %Dette sætter lydfilen i en variabel
[data, freq] = lydlæsning (z); %Indlæser data fra lydfil
o = lydafspiller (data, frekvens); %Opretter et objekt til at styre afspilningen af lydfilen
o.play () %Afspiller lydfil
o.playblocking () %Afspiller fil og venter på, at den er færdig
ende
hvis button_status == 0 && rem == 0
e = e+1
msgbox ('Velkommen ombord!');
elseif button_status == 0 && rem == 1
e = e+1
msgbox ('Bienvenido a bordo!');
ende
hvis e == 5
writeDigitalPin (a, 'D11', 0);
hvis x == 0
playTone (a, 'D6', 600, 1);
s = 'Advarsel_EF.m4a'; %Dette sætter lydfilen i en variabel
[data, freq] = lydlæsning (er); %Indlæser data fra lydfil
o = lydafspiller (data, frekvens); %Opretter et objekt til at styre afspilningen af lydfilen
% o.play () % Afspiller lydfil
o.playblocking () %Afspiller fil og venter på, at den er færdig
msgbox ('Maksimal kapacitet')
x = x+1
ende
elseif e> = 6
playTone (a, 'D6', 2400, 0);
ende
tid = tid - 1;
% pause (0,1);
% hvis e == 5 && max (tempF)> = 120
% tid = 0
% slut
ende
ee = num2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
plot (t, tempF2);
titel ('Tid vs. temperatur')
ylabel ('Temperatur (F)')
xlabel ('Tid (er)')
saveas (gcf, 'tempplot.jpg')
mail = '[email protected]'
password = 'Srsora123#'
host = 'smtp.gmail.com'
setpref ('Internet', 'SMTP_Server', vært);
setpref ('Internet', 'E_mail', mail);
setpref ('Internet', 'SMTP_Username', mail);
setpref ('Internet', 'SMTP_Password', adgangskode);
rekvisitter = 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, 'Hej togstation! Der er så mange passagerer i toget', ee, 'tempplot.jpg')
Trin 5: Resultater
Anbefalede:
Enkel automatiseret Point to Point Model Railroad: 10 trin (med billeder)
Enkel automatiseret Point to Point Model Railroad: Arduino mikrokontrollere er gode til at automatisere model railroad layout. Automatisering af layout er nyttig til mange formål, f.eks. At stille dit layout op på et display, hvor layoutoperationen kan programmeres til at køre tog i en automatisk sekvens. Den l
Model Railroad automatiske tunnellys: 5 trin
Model Railroad Automatic Tunnel Lights: Dette er mit yndlings printkort. Mit modeljernbanelayout (stadig i gang) har et antal tunneler, og selvom det nok ikke var prototypisk, ville jeg have tunnellys, der tændte, da toget nærmede sig tunnelen. Min første impuls var at b
O Scale Model Railroad Tornado: 16 trin
O Scale Model Railroad Tornado: Jeg er sikker på, at enhver person har set en Tornado i videoer. Men har du set en operere i fuld animation på en O Scale Model Railroad? Vi har ikke installeret det på jernbanen endnu, for det er en del af et komplet lyd- og animationssystem
Enkel automatiseret Point to Point Model Railroad, der kører to tog: 13 trin (med billeder)
Enkel automatiseret Point to Point Model Railroad Kører to tog: Arduino mikrokontrollere er en fantastisk måde at automatisere modeljernbanelayout på grund af deres billige tilgængelighed, hardware og software med open source og et stort fællesskab til at hjælpe dig. For modelbaner kan Arduino -mikrokontrollere vise sig at være en god
Automatiseret Point to Point Model Railroad With Yard Siding: 10 trin (med billeder)
Automatiseret Point to Point Model Railroad With Yard Siding: Arduino mikrokontrollere åbner store muligheder for modeljernbaner, især når det kommer til automatisering. Dette projekt er et eksempel på en sådan applikation. Det er en fortsættelse af et af de tidligere projekter. Dette projekt består af et poin