Tartalomjegyzék:
- 1. lépés: Anyagok és kellékek
- 2. lépés: A tábla beállítása
- 3. lépés: A kód írása
- Lépés: Másolja ki a kódot
- 5. lépés: Eredmények
Videó: Sivatagi vasúti hőmérséklet -érzékelő és utasszámláló: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Célja:
Hőmérséklet: Ez az utasítás megtanítja, hogyan kell beállítani és programozni egy Arduino RedBoard -ot (a MATLAB használatával) a vasút hőmérsékletének érzékelésére. Amikor eléri az utasok számára nem biztonságos hőmérsékletet, figyelmeztető üzenet hallható, a hangjelzők kialszanak, és figyelmeztető jelzés világít.
Utasszámláló: Ez a rész megtanítja, hogyan kell használni a gombot az utasok számlálásához, és figyelmeztető hangot ad a maximális kapacitás elérésekor.
Jellemzők:
- A gombbal számlálja a vonatba belépő utasokat
- TMP36 (hőmérséklet -érzékelő) segítségével érzékeli a vasút hőmérsékletét
- Piros LED -lámpával figyelmezteti a vasútállomást
- Hangjelzőket használ a riasztáshoz
- Riasztó e -mailt küld a hőmérséklet és az idő diagramjával
- Felugró figyelmeztető üzenetek a MATLAB-on
1. lépés: Anyagok és kellékek
- 1 Laptop
- MATLAB 2017
- Töltse le az Arduino Toolbox alkalmazást
- Sparkfun RedBoard
- 1 Tápkábel
- Breadbord
- 14 vezeték
- 1 Piezo csengő
- 1 Nyomógomb
- 2 db 10k ohmos ellenállás
- 1 TMP36 érzékelő
- Piros LED fény
- 3D nyomtatott jel (opcionális)
2. lépés: A tábla beállítása
Kövesse a fenti beállítást
3. lépés: A kód írása
Míg Loop: Annak érdekében, hogy a kód továbbra is tesztelje a hőmérsékletet, és érzékelje a gomb állapotát (lenyomva vagy nem nyomva), a kódot a while ciklusba helyezzük egy meghatározott időtartamra.
A TMP36 használata: A hőmérsékletet úgy határozzuk meg, hogy leolvassuk a feszültséget, és átszámítjuk Fahrenheit -fokra, konverziós tényezők segítségével. Ezután az if utasítással hangot és hangjelzést adunk/riasztásokat küldünk, ha a hőmérséklet magasabb vagy egyenlő a beállított maximális hőmérséklettel
A gomb használata: Az if utasítással a readDigitalPin segítségével tesztelhetjük, hogy megnyomták -e a gombot. Ez a parancs egy logikai értéket ad vissza (1 vagy 0). Ha a válasz 0, akkor megnyomta a gombot, és az utasok számlálója növekszik, és üdvözlő üzenetet jelenít meg. Ezután, amikor eléri a maximális kapacitást, figyelmeztető üzenet hallható.
Lépés: Másolja ki a kódot
%Bemenetek: A gomb megnyomása, hőmérséklet -érzékelő
%Kimenetek: fények, hangjelzők, hangjelzés, e -mailek, grafikonok
%Cél: Ezt a terméket úgy tervezték, hogy segítse a sivatagon keresztül vonattal utazó %utas biztonságát és kényelmét.
%Használat: Az utasok számának felismerése egy nyomógombbal, és %a hő észlelése egy hőmérséklet -érzékelő segítségével, és grafikonon, és elküldi mind a %utasszámot, mind a hőmérsékleti grafikont a vasútállomásra
configurePin (a, 'D2', 'pullup'); %a jövőbeli kiadásokban a configurePin programot használja
idő = 200;
e = 0;
x = 0
míg az idő> 0
button_status = readDigitalPin (a, 'D2'); % nulla, ha megnyomja a gombot, ellenkező esetben 1
feszültség = readVoltage (a, 'A0');%pin attól függ, hogy hol helyezzük el
tempCelcius = (feszültség*100) -50; %megadva az érzékelő kézikönyvében
tempF (idő) = (tempCelcius*1,8) +32 %ismert konverziós képlet
max = 120; %F fok
writeDigitalPin (a, 'D11', 1);
rem = mod (e, 2);
ha tempF (idő)> = max
writeDigitalPin (a, 'D11', 0);
writeDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
szünet (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5)
szünet (.5)
writeDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
szünet (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5) %"sziréna"
z = 'Túlmelegedés.m4a'; %Ez a hangfájlt egy változóba helyezi
[adatok, gyakoriság] = audioread (z); %Adatokat tölt be hangfájlból
o = audioplayer (adatok, gyakoriság); %Létrehoz egy objektumot az audio fájl lejátszásának vezérlésére
o.play () %Hangfájl lejátszása
o.playblocking () %Lejátssza a fájlt, és várja, hogy befejeződjön
vége
ha gomb_állapot == 0 && rem == 0
e = e+1
msgbox ('Üdvözöljük a fedélzeten!');
elseif gomb_állapot == 0 && rem == 1
e = e+1
msgbox ('Bienvenido a bordo!');
vége
ha e == 5
writeDigitalPin (a, 'D11', 0);
ha x == 0
playTone (a, 'D6', 600, 1);
s = 'Figyelmeztetés_EF.m4a'; %Ez a hangfájlt egy változóba helyezi
[adatok, gyakoriság] = hangolvasás (ok); %Adatokat tölt be hangfájlból
o = audioplayer (adatok, gyakoriság); %Létrehoz egy objektumot az audio fájl lejátszásának vezérlésére
% o.play () % Hangfájlt játszik le
o.playblocking () %Lejátssza a fájlt, és várja, hogy befejeződjön
msgbox ("Max. kapacitás")
x = x+1
vége
elseif e> = 6
playTone (a, 'D6', 2400, 0);
vége
idő = idő - 1;
% szünet (0,1);
%, ha e == 5 && max (tempF)> = 120
% time = 0
% vége
vége
ee = szám2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
grafikon (t, tempF2);
cím ("Idő vs. hőmérséklet")
ylabel ('Hőmérséklet (F)')
xlabel ('Idő (k)')
saveas (gcf, 'tempplot.jpg')
mail = '[email protected]'
password = 'Srsora123#'
host = 'smtp.gmail.com'
setpref ('Internet', 'SMTP_Server', gazdagép);
setpref ('Internet', 'E_mail', mail);
setpref ('Internet', 'SMTP_felhasználónév', mail);
setpref ('Internet', 'SMTP_Password', jelszó);
kellékek = 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, 'Hello Train Station! Ennyi utas van a vonaton', ee, 'tempplot.jpg')
5. lépés: Eredmények
Ajánlott:
Két vonatot futtató automatizált vasúti modell (V2.0) - Arduino alapú: 15 lépés (képekkel)
Két vonatot futtató automatizált vasúti modell (V2.0) | Arduino alapú: A modellvasút -elrendezések automatizálása az Arduino mikrokontrollerek használatával nagyszerű módja annak, hogy a mikrovezérlőket, a programozást és a modellvasutat egyetlen hobbivá egyesítse. Egy csomó projekt áll rendelkezésre a vonat önálló vezetésére egy vasúti modellben
Billentyűzettel vezérelt vasúti modell elrendezés V2.5 - PS/2 interfész: 12 lépés
Billentyűzettel vezérelt vasúti modell elrendezés V2.5 | PS/2 interfész: Az Arduino mikrokontrollerek használatával sokféle módon lehet szabályozni a vasúti modell elrendezését. A billentyűzetnek nagy előnye, hogy sok billentyűvel rendelkezik, és sok funkciót ad hozzá. Lássuk, hogyan kezdhetünk egy egyszerű elrendezéssel a mozdonnyal
Laptop érintőpad által vezérelt vasúti modell - PS/2 Arduino interfész: 14 lépés
Laptop érintőpad által vezérelt vasúti modell | PS/2 Arduino interfész: A laptop érintőpadja az egyik nagyszerű eszköz, amelyet bemenetként lehet használni mikrokontroller projektekhez. Tehát ma valósítsuk meg ezt az eszközt egy Arduino mikrokontrollerrel egy vasúti modell vezérlésére. A PS/2 érintőpad segítségével 3 t
ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben: 5 lépés
ESP8266 NodeMCU hozzáférési pont (AP) webszerverhez DT11 hőmérséklet -érzékelővel és nyomtatási hőmérséklet és páratartalom a böngészőben: Sziasztok srácok, a legtöbb projektben ESP8266 -ot használunk, és a legtöbb projektben ESP8266 -ot használunk webszerverként, így az adatok hozzáférhetők bármilyen eszköz wifi -n keresztül az ESP8266 által üzemeltetett webszerver elérésével, de az egyetlen probléma az, hogy működő útválasztóra van szükségünk
ESP32 NTP hőmérséklet szonda főzési hőmérő Steinhart-Hart korrekcióval és hőmérséklet riasztással: 7 lépés (képekkel)
ESP32 NTP hőmérséklet szonda főzési hőmérő Steinhart-Hart korrekcióval és hőmérséklet riasztással: Még mindig úton van egy "közelgő projekt" befejezéséhez, "ESP32 NTP hőmérséklet szonda főzési hőmérő Steinhart-Hart korrekcióval és hőmérséklet riasztással" egy utasítás, amely bemutatja, hogyan adhatok hozzá NTP hőmérséklet -szondát, piezo b