Satura rādītājs:
- 1. darbība: materiāli un izejmateriāli
- 2. darbība. Plāksnes iestatīšana
- 3. darbība: koda rakstīšana
- 4. darbība: kopējiet kodu
- 5. darbība. Rezultāti
Video: Tuksneša dzelzceļa temperatūras detektors un pasažieru skaitītājs: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Mērķis:
Temperatūra: Šī pamācība iemācīs jums izveidot un programmēt Arduino RedBoard (izmantojot MATLAB), lai noteiktu dzelzceļa temperatūru. Kad tiek sasniegta pasažieriem nedroša temperatūra, atskan brīdinājuma ziņojums, atskan skaņas signāli un iedegas brīdinājuma zīme.
Pasažieru skaitītājs: šī daļa iemācīs jums izmantot pogu, lai saskaitītu pasažierus, un brīdina, kad ir sasniegta maksimālā ietilpība.
Iespējas:
- Izmanto pogu, lai saskaitītu vilcienā ienākošos pasažierus
- Izmanto TMP36 (temperatūras sensoru), lai noteiktu dzelzceļa temperatūru
- Izmanto sarkanu LED gaismu, lai brīdinātu dzelzceļa staciju
- Trauksmes signālu atskaņošanai izmanto skaņas signālus
- Nosūta brīdinājuma e -pastu ar temperatūras un laika grafiku
- Uznirstošie brīdinājuma ziņojumi vietnē MATLAB
1. darbība: materiāli un izejmateriāli
- 1 klēpjdators
- MATLAB 2017
- Lejupielādējiet Arduino rīklodziņu
- Sparkfun RedBoard
- 1 barošanas kabelis
- Breadbord
- 14 vadi
- 1 Piezo skaņas signāls
- 1 Nospiediet pogu
- 2 10k omu rezistori
- 1 TMP36 sensors
- Sarkana LED gaisma
- 3D drukāta zīme (pēc izvēles)
2. darbība. Plāksnes iestatīšana
Izpildiet iepriekš norādīto iestatīšanu
3. darbība: koda rakstīšana
Kamēr cilpa: lai nodrošinātu, ka kods turpina pārbaudīt temperatūru un uztver pogas statusu (nospiests vai nenospiests), mēs ievietojam kodu kamēr cilpā uz noteiktu laiku.
Izmantojot TMP36: mēs nosakām temperatūru, nolasot spriegumu un pārvēršot to pēc Fārenheita grādiem, izmantojot konversijas koeficientus. Pēc tam mēs izmantojam paziņojumu if, lai atskaņotu signālu un skaņu/nosūtītu brīdinājumus, ja temperatūra ir lielāka vai vienāda ar iestatīto maksimālo temperatūru.
Izmantojot pogu: Izmantojot paziņojumu if, mēs varam pārbaudīt, vai poga tika nospiesta, izmantojot readDigitalPin. Šī komanda atgriezīs Būla vērtību (1 vai 0). Ja atbilde ir 0, tad tika nospiesta poga, un pasažieru skaitītājs palielinās un tiek parādīts sveiciena ziņojums. Pēc tam, kad ir sasniegta maksimālā ietilpība, atskan brīdinājuma ziņojums.
4. darbība: kopējiet kodu
%Ievadi: Nospiežot pogu, temperatūras sensors
%Rezultāti: gaismas, skaņas signāli, audio brīdinājumi, e -pasti, grafiki
Mērķis: Šis produkts ir izstrādāts, lai palīdzētu nodrošināt drošību un komfortu %pasažieru, kuri ceļo ar vilcienu pa tuksnesi.
%Lietošana: Pasažieru skaita noteikšana, izmantojot spiedpogu, un %siltuma noteikšana, izmantojot temperatūras sensoru un tā grafiku, un nosūta dzelzceļa stacijai gan %pasažieru skaitu, gan temperatūras grafiku
configurePin (a, 'D2', 'pullup'); %turpmākajos laidienos izmanto configurePin
laiks = 200;
e = 0;
x = 0
kamēr laiks> 0
button_status = readDigitalPin (a, 'D2'); % ir vienāds ar nulli, nospiežot pogu, pretējā gadījumā vienāds ar 1
spriegums = lasītspriegums (a, 'A0');%tapa ir atkarīga no tā, kur mēs to ievietojam
tempCelcius = (spriegums*100) -50; %norādīts sensoru rokasgrāmatā
tempF (laiks) = (tempCelcius*1.8) +32 %zināma konversijas formula
maks. = 120; %grādi F.
writeDigitalPin (a, 'D11', 1);
rem = mod (e, 2);
ja tempF (laiks)> = maks
writeDigitalPin (a, 'D11', 0);
writeDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
pauze (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5)
pauze (.5)
writeDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
pauze (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5) %atskaņo sirēnu
z = 'Pārkarst.m4a'; %Tas skaņas failu ievieto mainīgā
[dati, biežums] = audiolasījums (z); %Ielādē datus no skaņas faila
o = audio atskaņotājs (dati, biežums); %Izveido objektu, lai kontrolētu audio faila atskaņošanu
o.play () %Atskaņo audio failu
o.playblocking () %Atskaņo failu un gaida tā pabeigšanu
beigas
ja pogas_statuss == 0 && rem == 0
e = e+1
msgbox ('Laipni lūdzam!');
elseif button_status == 0 && rem == 1
e = e+1
msgbox ('Bienvenido a bordo!');
beigas
ja e == 5
writeDigitalPin (a, 'D11', 0);
ja x == 0
playTone (a, 'D6', 600, 1);
s = 'Brīdinājums_EF.m4a'; %Tas skaņas failu ievieto mainīgā
[dati, biežums] = audiolasījums (-i); %Ielādē datus no skaņas faila
o = audio atskaņotājs (dati, biežums); %Izveido objektu, lai kontrolētu audio faila atskaņošanu
% o.play () % Atskaņo audio failu
o.playblocking () %Atskaņo failu un gaida tā pabeigšanu
msgbox ('Maksimālā ietilpība')
x = x+1
beigas
citādi e> = 6
playTone (a, 'D6', 2400, 0);
beigas
laiks = laiks - 1;
% pauze (0,1);
%, ja e == 5 && max (tempF)> = 120
% laiks = 0
% beigas
beigas
ee = num2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
diagramma (t, tempF2);
nosaukums ("Laiks pret temperatūru")
ylabel ('Temperatūra (F)')
xlabel ('Laiks (-i)')
saveas (gcf, 'tempplot.jpg')
pasts = '[email protected]'
parole = 'Srsora123#'
saimnieks = 'smtp.gmail.com'
setpref ('Internets', 'SMTP_Server', resursdators);
setpref ('Internets', 'E -pasts', pasts);
setpref ('Internets', 'SMTP_Lietotājvārds', pasts);
setpref ('Internets', 'SMTP_Password', parole);
rekvizīti = 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 (pasts, 'Sveiki, dzelzceļa stacija! Vilcienā ir tik daudz pasažieru', ee, 'tempplot.jpg')
5. darbība. Rezultāti
Ieteicams:
WiFi DCC vadības stacija dzelzceļa modelim: 5 soļi
WiFi DCC komandu stacija dzelzceļa modelim: atjaunināta 2021. gada 5. aprīlī: jauna skice un modifikācija ķēdes komponentiem. Jauna skice: command_station_wifi_dcc3_LMD18200_v4.ino Jauna DCC sistēma, kas izmanto WiFi, lai sazinātos ar instrukcijām 3 izkārtojuma mobilo tālruņu/planšetdatoru lietotāji priekš
Temperatūras nolasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: 4 soļi
Temperatūras lasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: Sveiki, puiši, šajā pamācībā mēs iemācīsimies izmantot LM35 kopā ar Arduino. Lm35 ir temperatūras sensors, kas var nolasīt temperatūras vērtības no -55 ° C līdz 150 ° C. Tā ir 3 termināļu ierīce, kas nodrošina analogo spriegumu, kas ir proporcionāls temperatūrai. Augstākā
Kā lietot DHT11 temperatūras sensoru ar Arduino un drukas temperatūras siltumu un mitrumu: 5 soļi
Kā lietot DHT11 temperatūras sensoru ar Arduino un drukas temperatūras karstumu un mitrumu: DHT11 sensoru izmanto temperatūras un mitruma mērīšanai. Viņi ir ļoti populāri elektronikas hobiji. DHT11 mitruma un temperatūras sensors ļauj patiešām viegli pievienot mitruma un temperatūras datus saviem DIY elektronikas projektiem. Tas ir par
ESP32 NTP temperatūras zondes gatavošanas termometrs ar Steinhart-Hart korekciju un temperatūras trauksmi: 7 soļi (ar attēliem)
ESP32 NTP temperatūras zondes vārīšanas termometrs ar Šteinharta-Harta korekciju un temperatūras trauksmi: Joprojām ir ceļā, lai pabeigtu "gaidāmo projektu", "ESP32 NTP temperatūras zondes vārīšanas termometrs ar Šteinharta-Harta korekciju un temperatūras trauksmi" ir pamācība, kas parāda, kā es varu pievienot NTP temperatūras zondi, pjezo b
Zibens detektors un skaitītājs: 8 soļi (ar attēliem)
Zibens detektors un skaitītājs: Es vienmēr esmu vēlējies izveidot zibens detektoru, bet atklāju, ka shēmas shēmas nedaudz pārsniedz manas iespējas. Nesen, sērfojot tīklā, es saskāros ar ļoti foršu ķēdi, kurā tiek uzskaitīti zibens spērieni! Pēc skatīšanās