Cuprins:
- Pasul 1: Materiale și consumabile
- Pasul 2: Configurarea plăcii
- Pasul 3: Scrierea codului
- Pasul 4: Copiați codul
- Pasul 5: Rezultate
Video: Detector de temperatură feroviară în deșert și contor pasageri: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Scop:
Temperatură: această instrucțiune vă va învăța cum să configurați și să programați un Arduino RedBoard (folosind MATLAB) pentru a detecta temperatura unei căi ferate. Când se atinge o temperatură nesigură pentru pasageri, se aude un mesaj de avertizare, sonerii se sting și se aprinde un semn de avertizare.
Contor pasageri: această porțiune vă va învăța cum să utilizați un buton pentru a număra pasagerii și pentru a emite un avertisment când capacitatea maximă a fost atinsă.
Caracteristici:
- Utilizează butonul pentru a număra pasagerii care intră în tren
- Folosește TMP36 (senzor de temperatură) pentru a detecta temperatura căii ferate
- Folosește o lumină LED roșie pentru a avertiza gara
- Folosește sonerii pentru a alarma
- Trimite un e-mail de alertă cu un grafic de temperatură vs timp
- Mesaje de avertizare pop-up pe MATLAB
Pasul 1: Materiale și consumabile
- 1 laptop
- MATLAB 2017
- Descărcați Arduino Toolbox
- Sparkfun RedBoard
- 1 cablu de alimentare
- Breadbord
- 14 fire
- 1 Piezo Buzzer
- 1 Buton
- 2 rezistențe de 10k ohm
- 1 senzor TMP36
- Lumină LED roșie
- Semn imprimat 3D (opțional)
Pasul 2: Configurarea plăcii
Urmați configurarea de mai sus
Pasul 3: Scrierea codului
While Buclă: Pentru a ne asigura că codul continuă să testeze temperatura și să detecteze starea butonului (apăsat sau neaprins), plasăm codul în bucla while pentru o perioadă de timp specificată.
Utilizarea TMP36: Determinăm temperatura citind tensiunea și transformând-o în grade Fahrenheit, utilizând factori de conversie. Apoi, folosim o declarație if pentru a reda un ton și a auzi / trimite alerte dacă temperatura este mai mare sau egală cu temperatura maximă setată
Utilizarea butonului: Cu o declarație if, putem testa dacă butonul a fost apăsat folosind readDigitalPin. Această comandă va returna un Boolean (1 sau 0). Dacă răspunsul este 0, atunci butonul a fost apăsat și contorul pasagerilor crește și afișează un mesaj de întâmpinare. Apoi, când se atinge capacitatea maximă, se aude un mesaj de avertizare.
Pasul 4: Copiați codul
% Intrări: Apăsarea butonului, senzor de temperatură
% Ieșiri: lumini, sonerii, alertă audio, e-mailuri, grafice
Scop: Acest produs este conceput pentru a asigura siguranța și confortul a% pasagerilor care călătoresc cu trenul prin deșert.
% Utilizare: detectarea numărului de pasageri cu ajutorul unui buton și% detectarea căldurii folosind un senzor de temperatură și graficarea acestuia și trimite atât numărul de pasageri cât și graficul temperaturii la gară
configurePin (a, 'D2', 'pullup'); % în versiunile viitoare utilizează configurePin
timp = 200;
e = 0;
x = 0
timp timp> 0
button_status = readDigitalPin (a, 'D2'); % este egal cu zero când butonul este apăsat, altfel este egal cu 1
tensiune = readVoltage (a, 'A0');% pin depinde de locul în care îl plasăm
tempCelcius = (tensiune * 100) -50; % dat în manualul senzorului
tempF (time) = (tempCelcius * 1.8) +32% formulă de conversie cunoscută
max = 120; % grade F
writeDigitalPin (a, 'D11', 1);
rem = mod (e, 2);
dacă tempF (timp)> = max
writeDigitalPin (a, 'D11', 0);
writeDigitalPin (a, 'D9', 1);
playTone (a, „D9”, 2400,.5)
pauză (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, „D6”, 1000,.5)
pauză (.5)
writeDigitalPin (a, 'D9', 1);
playTone (a, „D9”, 2400,.5)
pauză (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5)% joacă „sirena”
z = 'Supraîncălzire.m4a'; % Aceasta plasează fișierul audio într-o variabilă
[date, freq] = audioread (z); % Încarcă date din fișierul de sunet
o = audioplayer (date, frecvente); % Creează un obiect pentru a controla redarea fișierului audio
o.play ()% Redă fișierul audio
o.playblocking ()% Redă fișierul și așteaptă să se termine
Sfârșit
if button_status == 0 && rem == 0
e = e + 1
msgbox ('Welcome Aboard!');
elseif button_status == 0 && rem == 1
e = e + 1
msgbox ('Bienvenido a bordo!');
Sfârșit
dacă e == 5
writeDigitalPin (a, 'D11', 0);
dacă x == 0
playTone (a, „D6”, 600, 1);
s = 'Warning_EF.m4a'; % Aceasta plasează fișierul audio într-o variabilă
[date, freq] = audioread (s); % Încarcă date din fișierul de sunet
o = audioplayer (date, frecvente); % Creează un obiect pentru a controla redarea fișierului audio
% o.play ()% Redă fișierul audio
o.playblocking ()% Redă fișierul și așteaptă să se termine
msgbox („Capacitate maximă”)
x = x + 1
Sfârșit
elseif e> = 6
playTone (a, „D6”, 2400, 0);
Sfârșit
timp = timp - 1;
% pauză (0,1);
% dacă e == 5 && max (tempF)> = 120
% timp = 0
% Sfârșit
Sfârșit
ee = num2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
grafic (t, tempF2);
titlu („Timp vs. Temperatură”)
ylabel („Temperatură (F)”)
xlabel („Timp (uri)”)
saveas (gcf, 'tempplot.jpg')
mail = '[email protected]'
parola = 'Srsora123 #'
host = 'smtp.gmail.com'
setpref ('Internet', 'SMTP_Server', gazdă);
setpref ('Internet', 'E-mail', mail);
setpref ('Internet', 'SMTP_Username', mail);
setpref ('Internet', 'SMTP_Password', parolă);
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 (e-mail, „Hello Train Station! Sunt atât de mulți pasageri în tren”, ee, „tempplot.jpg”)
Pasul 5: Rezultate
Recomandat:
Structură model feroviară cu latură automată: 13 pași (cu imagini)
Structura modelului feroviar cu pardoseală automată: Efectuarea machetelor modelului de tren este un mare hobby, automatizarea acestuia îl va face mult mai bun! Să aruncăm o privire asupra câtorva dintre avantajele automatizării sale: Funcționare la preț redus: întregul aspect este controlat de un microcontroler Arduino, folosind un L298N mo
Model controlat de tastatură Structură feroviară V2.5 - Interfață PS / 2: 12 pași
Model controlat de tastatură Structură feroviară V2.5 | Interfață PS / 2: folosind microcontrolerele Arduino, există o mulțime de moduri de a controla schemele de cale ferată model. O tastatură are un mare avantaj că are multe taste pentru a adăuga o mulțime de funcții. Aici să vedem cum putem începe cu un aspect simplu cu locomotiva și
Structură feroviară de model automat automat - Arduino controlat: 11 pași (cu imagini)
Structură feroviară automată simplă | Arduino controlat: microcontrolerele Arduino sunt o completare excelentă pentru modelul de cale ferată, mai ales atunci când se ocupă de automatizare. Iată o modalitate simplă și ușoară de a începe cu automatizarea modelului feroviar cu Arduino. Deci, fără alte îndemnuri, să începem
Structură model feroviară cu latură automată (V2.0): 13 pași (cu imagini)
Structura modelului feroviar cu latură de trecere automată (V2.0): Acest proiect este o actualizare a unuia dintre proiectele anterioare de automatizare a căilor ferate model, Structura modelului feroviar cu latura automată. Această versiune adaugă caracteristica de cuplare și decuplare a locomotivei cu materialul rulant. Funcționarea
Sistem automat de trecere feroviară utilizând platforma încorporată bazată pe Arduino: 9 pași
Sistem automat de trecere feroviară utilizând platforma încorporată bazată pe Arduino: Crăciunul este la doar o săptămână distanță! Toată lumea este ocupată cu sărbătorile și cu obținerea de cadouri, ceea ce, de altfel, devine cu atât mai dificil de obținut cu posibilități nesfârșite în jurul nostru. Ce zici să mergi cu un cadou clasic și să adaugi o notă de bricolaj la