Obsah:

Detektor teploty púštnej železnice a počítadlo cestujúcich: 5 krokov
Detektor teploty púštnej železnice a počítadlo cestujúcich: 5 krokov

Video: Detektor teploty púštnej železnice a počítadlo cestujúcich: 5 krokov

Video: Detektor teploty púštnej železnice a počítadlo cestujúcich: 5 krokov
Video: Fanoušci mi “vlezli” na pozemek! 😱 Děcka, tohle není v pořádku! 🥵 2024, November
Anonim
Detektor teploty púštnej železnice a počítadlo cestujúcich
Detektor teploty púštnej železnice a počítadlo cestujúcich

Účel:

Teplota: Tento návod vás naučí, ako nastaviť a naprogramovať Arduino RedBoard (pomocou programu MATLAB) na zisťovanie teploty železnice. Keď sa dosiahne nebezpečná teplota pre cestujúcich, zaznie varovná správa, zazvonia bzučiaky a rozsvieti sa výstražná tabuľa.

Počítadlo cestujúcich: Táto časť vás naučí, ako používať tlačidlo na počítanie pasažierov a upozorniť na to, keď bola dosiahnutá maximálna kapacita.

Vlastnosti:

  • Používa tlačidlo na spočítanie cestujúcich vstupujúcich do vlaku
  • Na detekciu teploty železnice používa TMP36 (snímač teploty)
  • Na varovanie vlakovej stanice používa červené LED svetlo
  • Na zvukový poplach používa bzučiaky
  • Pošle výstražný e -mail so zobrazením teploty proti času
  • Vyskakovacie výstražné správy na serveri MATLAB

Krok 1: Materiály a zásoby

Materiály a zásoby
Materiály a zásoby
  • 1 prenosný počítač
  • MATLAB 2017
  • Stiahnite si Arduino Toolbox
  • Sparkfun RedBoard
  • 1 Napájací kábel
  • Breadbord
  • 14 drôtov
  • 1 piezový bzučiak
  • 1 Tlačidlo
  • 2 odpory 10 kOhm
  • 1 snímač TMP36
  • Červené LED svetlo
  • 3D vytlačený nápis (voliteľné)

Krok 2: Nastavenie dosky

Nastavenie dosky
Nastavenie dosky

Postupujte podľa vyššie uvedeného nastavenia

Krok 3: Napíšte kód

Kým slučka: Aby sme zaistili, že kód pokračuje v testovaní teploty a snímaní stavu tlačidiel (stlačených alebo nestlačených), umiestnime kód do slučky while na zadané časové obdobie.

Použitie TMP36: Teplotu určujeme odčítaním napätia a jeho prevodom na stupne Fahrenheita pomocou prevodných faktorov. Potom použijeme príkaz if na prehranie tónu a upozornenie na zvuk/odoslanie, ak je teplota väčšia alebo rovná nastavenej maximálnej teplote

Použitie tlačidla: Pomocou príkazu if môžeme otestovať, či bolo tlačidlo stlačené pomocou príkazu readDigitalPin. Tento príkaz vráti logickú hodnotu (1 alebo 0). Ak je odpoveď 0, potom bolo tlačidlo stlačené a počítadlo cestujúcich sa zvýši a zobrazí uvítaciu správu. Potom, keď sa dosiahne maximálna kapacita, zaznie varovná správa.

Krok 4: Skopírujte kód

%Vstupy: Stlačenie tlačidla, snímač teploty

%Výstupy: svetlá, bzučiaky, zvukové upozornenia, e -maily, grafy

Účel: Tento produkt je navrhnutý tak, aby pomohol zaistiť bezpečnosť a pohodlie %cestujúcich cestujúcich vlakom cez púšť.

%Použitie: Detekcia počtu cestujúcich pomocou tlačidla a %detekcia tepla pomocou teplotného senzora a jeho zobrazenie v grafe a odoslanie %počtu cestujúcich a grafu teploty na vlakovú stanicu

configurePin (a, 'D2', 'pullup'); %v budúcich vydaniach použije configurePin

čas = 200;

e = 0;

x = 0

kým čas> 0

button_status = readDigitalPin (a, 'D2'); Po stlačení tlačidla sa % rovná nule, inak sa rovná 1

napätie = readVoltage (a, 'A0');%pin závisí od toho, kam ho umiestnime

tempCelcius = (napätie*100) -50; %uvedené v manuáli snímača

tempF (čas) = (tempCelcius*1,8) +32 %známy konverzný vzorec

max = 120; %stupňov F

writeDigitalPin (a, 'D11', 1);

rem = mod (e, 2);

ak tempF (čas)> = max

writeDigitalPin (a, 'D11', 0);

writeDigitalPin (a, 'D9', 1);

playTone (a, 'D9', 2400,.5)

pauza (.5)

writeDigitalPin (a, 'D6', 1)

playTone (a, 'D6', 1000,.5)

pauza (.5)

writeDigitalPin (a, 'D9', 1);

playTone (a, 'D9', 2400,.5)

pauza (.5)

writeDigitalPin (a, 'D6', 1)

playTone (a, 'D6', 1000,, 5) %hrá „sirénu“

z = 'Prehriatie.m4a'; %Tým sa zvukový súbor umiestni do premennej

[data, freq] = audioread (z); %Načíta údaje zo zvukového súboru

o = audioplayer (dáta, frekv.); %Vytvorí objekt na ovládanie prehrávania zvukového súboru

o.play () %Prehrá zvukový súbor

o.playblocking () %Prehrá súbor a čaká na jeho dokončenie

koniec

if button_status == 0 && rem == 0

e = e+1

msgbox ('Vitajte na palube!');

elseif button_status == 0 && rem == 1

e = e+1

msgbox ('Bienvenido a bordo!');

koniec

ak e == 5

writeDigitalPin (a, 'D11', 0);

ak x == 0

playTone (a, 'D6', 600, 1);

s = 'Warning_EF.m4a'; %Tým sa zvukový súbor umiestni do premennej

[data, freq] = zvukové čítačky; %Načíta údaje zo zvukového súboru

o = audioplayer (dáta, frekv.); %Vytvorí objekt na ovládanie prehrávania zvukového súboru

% o.play () % Prehrá zvukový súbor

o.playblocking () %Prehrá súbor a čaká na jeho dokončenie

msgbox („maximálna kapacita“)

x = x+1

koniec

elseif e> = 6

playTone (a, 'D6', 2400, 0);

koniec

čas = čas - 1;

% pauza (0,1);

%, ak e == 5 && max (tempF)> = 120

% času = 0

% koniec

koniec

ee = num2str (e)

t = [1: 200];

tempF2 = fliplr (tempF);

plot (t, teplota F2);

názov („Čas vs. teplota“)

ylabel („Teplota (F)“)

xlabel ('Time (s)')

saveas (gcf, 'tempplot.jpg')

mail = '[email protected]'

heslo = 'Srsora123#'

host = 'smtp.gmail.com'

setpref ('Internet', 'SMTP_Server', hostiteľ);

setpref ('Internet', 'E_mail', pošta);

setpref ('Internet', 'SMTP_Username', mail);

setpref ('Internet', 'SMTP_Password', heslo);

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: „Ahoj, vlaková stanica! Vo vlaku je toľko cestujúcich“, ee, „tempplot.jpg“)

Krok 5: Výsledky

Odporúča: