Inhaltsverzeichnis:
- Schritt 1: Materialien und Zubehör
- Schritt 2: Board-Setup
- Schritt 3: Schreiben des Codes
- Schritt 4: Kopieren Sie den Code
- Schritt 5: Ergebnisse
Video: Desert Railroad Temperaturdetektor & Fahrgastzähler - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Zweck:
Temperatur: Diese Anleitung zeigt Ihnen, wie Sie ein Arduino RedBoard (mit MATLAB) einrichten und programmieren, um die Temperatur einer Eisenbahn zu erkennen. Wenn eine für die Passagiere unsichere Temperatur erreicht wird, ertönt eine Warnmeldung, Summer ertönt und ein Warnschild leuchtet auf.
Passagierzähler: In diesem Abschnitt lernen Sie, wie Sie eine Taste verwenden, um Passagiere zu zählen und eine Warnung auszulösen, wenn die maximale Kapazität erreicht ist.
Merkmale:
- Verwendet die Taste, um Passagiere zu zählen, die in den Zug einsteigen
- Verwendet TMP36 (Temperatursensor), um die Temperatur der Eisenbahn zu erkennen
- Verwendet ein rotes LED-Licht, um den Bahnhof zu warnen
- Verwendet Summer, um Alarm auszulösen
- Versendet eine Warn-E-Mail mit einer Temperatur-Zeit-Darstellung
- Popup-Warnmeldungen auf MATLAB
Schritt 1: Materialien und Zubehör
- 1 Laptop
- MATLAB 2017
- Arduino Toolbox herunterladen
- Sparkfun RedBoard
- 1 Stromkabel
- Steckbrett
- 14 Drähte
- 1 Piezo-Summer
- 1 Drucktaste
- 2 10k Ohm Widerstände
- 1 TMP36-Sensor
- Rotes LED-Licht
- 3D-gedrucktes Schild (optional)
Schritt 2: Board-Setup
Folgen Sie der Einrichtung oben
Schritt 3: Schreiben des Codes
While-Schleife: Um sicherzustellen, dass der Code weiterhin die Temperatur testet und den Tastenstatus (gedrückt oder nicht gedrückt) erfasst, platzieren wir den Code für einen bestimmten Zeitraum in der while-Schleife.
Mit TMP36: Wir bestimmen die Temperatur, indem wir die Spannung ablesen und mit Umrechnungsfaktoren in Grad Fahrenheit umrechnen. Dann verwenden wir eine if-Anweisung, um einen Ton abzuspielen und Warnungen zu ertönen/zu senden, wenn die Temperatur größer oder gleich der eingestellten maximalen Temperatur ist
Button verwenden: Mit einer if-Anweisung können wir testen, ob der Button mit readDigitalPin gedrückt wurde. Dieser Befehl gibt einen Booleschen Wert (1 oder 0) zurück. Ist die Antwort 0, wurde die Taste gedrückt und der Fahrgastzähler erhöht sich und zeigt eine Willkommensnachricht an. Wenn die maximale Kapazität erreicht ist, ertönt eine Warnmeldung.
Schritt 4: Kopieren Sie den Code
%Eingänge: Knopfdruck, Temperatursensor
%Ausgänge: Lichter, Summer, Audioalarm, E-Mails, Grafiken
%Zweck: Dieses Produkt wurde entwickelt, um die Sicherheit und den Komfort von Passagieren, die mit dem Zug durch die Wüste reisen, zu gewährleisten.
%Nutzung: Erfassen der Anzahl der Fahrgäste mit einem Druckknopf und %Erfassen der Wärme mit einem Temperatursensor und grafische Darstellung und sendet sowohl %Fahrgastzahlen als auch die Temperaturkurve an den Bahnhof
configurePin(a, 'D2', 'Pullup'); %in zukünftigen Versionen verwenden Sie configurePin
Zeit = 200;
e=0;
x=0
solange Zeit > 0
button_status = readDigitalPin(a, 'D2'); % gleich Null, wenn die Taste gedrückt wird, sonst gleich 1
Spannung = readVoltage(a, 'A0'); %pin hängt davon ab, wo wir es platzieren
tempCelcius = (Spannung*100)-50; % im Sensorhandbuch angegeben
tempF(Zeit) = (tempCelcius*1.8)+32 % bekannte Umrechnungsformel
max = 120; %grad F
writeDigitalPin(a, 'D11', 1);
rem=mod(e, 2);
wenn tempF(Zeit)>=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) %spielt "Sirene"
z='Überhitzung.m4a'; %Dies legt die Sounddatei in eine Variable
[data, freq]=audioread(z); % Lädt Daten aus der Sounddatei
o=Audioplayer (Daten, Freq); %Erzeugt ein Objekt, um die Wiedergabe der Audiodatei zu steuern
o.play() %Spielt Audiodatei ab
o.playblocking() %Spielt die Datei ab und wartet, bis sie fertig ist
Ende
if button_status == 0 && rem==0
e=e+1
msgbox('Willkommen an Bord!');
elseif button_status == 0 && rem==1
e=e+1
msgbox('Bienvenido a bordo!');
Ende
wenn e==5
writeDigitalPin(a, 'D11', 0);
wenn x==0
playTone(a, 'D6', 600, 1);
s='Warnung_EF.m4a'; %Dies legt die Sounddatei in eine Variable
[data, freq]=audioread(s); %Ladet Daten aus der Sounddatei
o=Audioplayer (Daten, Freq); %Erzeugt ein Objekt, um die Wiedergabe der Audiodatei zu steuern
% o.play() %Spielt Audiodatei ab
o.playblocking() %Spielt die Datei ab und wartet, bis sie fertig ist
msgbox('Max. Kapazität')
x=x+1
Ende
sonst e>=6
playTone(a, 'D6', 2400, 0);
Ende
Zeit = Zeit - 1;
% Pause (0,1);
% wenn e==5 && max(tempF)>=120
% Zeit=0
% Ende
Ende
ee=num2str(e)
t = [1:200];
tempF2=fliplr(tempF);
Plot(t, tempF2);
title('Zeit vs. Temperatur')
ylabel('Temperatur(F)')
xlabel('Zeit(en)')
saveas(gcf, 'tempplot.jpg')
mail= '[email protected]'
Passwort='Srsora123#'
host='smtp.gmail.com'
setpref('Internet', 'SMTP_Server', Host);
setpref('Internet', 'E_Mail', Mail);
setpref('Internet', 'SMTP_Benutzername', mail);
setpref('Internet', 'SMTP_Password', Passwort);
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, 'Hallo Bahnhof! Es sind so viele Fahrgäste im Zug', ee, 'tempplot.jpg')
Schritt 5: Ergebnisse
Empfohlen:
Temperatur CubeSat Ben & Kaiti & Q Stunde 1: 8 Schritte
Temperatur-CubeSat Ben & Kaiti & Q Stunde 1: Wollten Sie schon immer etwas selbst herstellen, das ins All geschickt werden kann und die Temperatur eines anderen Planeten misst? In unserem Physikunterricht an der High School wurden wir beauftragt, einen CubeSat mit einem funktionierenden Arduino mit der Hauptfrage zu bauen, wie können wir
COVID-19-Dashboard (einfach & leicht): 4 Schritte
COVID-19-Dashboard (einfach & leicht): Überall gibt es einen riesigen Ausbruch des neuartigen COVID-19-Virus. Es wurde notwendig, das aktuelle Szenario von COVID-19 im Land im Auge zu behalten. Zu Hause dachte ich an folgendes Projekt: "Ein Informations-Dashboard" - Ein Da
‘Runde’ Word Clock (auf Niederländisch & Englisch!): 8 Schritte (mit Bildern)
‘Runde’ Word Clock (auf Niederländisch & Englisch!): Vor einigen Jahren habe ich zum ersten Mal eine Word Clock im Internet gesehen. Seitdem wollte ich immer selbst einen machen. Es gibt viele Instructables, aber ich wollte etwas Originelles machen. Ich weiß nicht viel über Elektronik, also habe ich ein
6502 & 6522 Minimal Computer (mit Arduino MEGA) Teil 2: 4 Schritte
6502 & 6522 Minimal Computer (mit Arduino MEGA) Teil 2: Nach meinem vorherigen Instructable habe ich jetzt den 6502 auf eine Streifenplatine gelegt und einen 6522 Versatile Interface Adapter (VIA) hinzugefügt. Auch hier verwende ich eine WDC-Version des 6522, da sie perfekt zu ihrem 6502 passt. Diese neuen c
$3 & 3 Steps Laptopständer (mit Lesebrille & Stiftablage): 5 Schritte
3 $ & 3 Steps Laptopständer (mit Lesebrille & Stiftablage): Dieser $ 3 & Der Laptopständer mit 3 Schritten kann innerhalb von 5 Minuten hergestellt werden. Es ist sehr stark, leicht und kann zusammengeklappt werden, um es überall hin mitzunehmen