Orodha ya maudhui:

Kigunduzi cha Joto la Reli ya Jangwani & Kaunta ya Abiria: Hatua 5
Kigunduzi cha Joto la Reli ya Jangwani & Kaunta ya Abiria: Hatua 5

Video: Kigunduzi cha Joto la Reli ya Jangwani & Kaunta ya Abiria: Hatua 5

Video: Kigunduzi cha Joto la Reli ya Jangwani & Kaunta ya Abiria: Hatua 5
Video: Uzbekistan Girls Love Indians Boys 2024, Julai
Anonim
Kigunduzi cha Joto la Reli ya Jangwani & Kaunta ya Abiria
Kigunduzi cha Joto la Reli ya Jangwani & Kaunta ya Abiria

Kusudi:

Joto: Mafundisho haya yatakufundisha jinsi ya kuanzisha na kupanga Arduino RedBoard (kwa kutumia MATLAB) kugundua joto la reli. Wakati joto lisilo salama kwa abiria linafikiwa, ujumbe wa onyo unasikika, vifijo vinazima, na ishara ya onyo inawaka.

Kaunta ya Abiria: Sehemu hii itakufundisha jinsi ya kutumia kitufe ili kuhesabu abiria na kutoa sauti ya onyo wakati uwezo wa juu umefikiwa.

vipengele:

  • Inatumia Kitufe kuhesabu abiria wanaoingia kwenye treni
  • Inatumia TMP36 (sensorer ya joto) kugundua joto la reli
  • Inatumia taa nyekundu ya LED kuonya kituo cha gari moshi
  • Inatumia buzzers kupiga kengele
  • Inatuma barua pepe ya tahadhari na njama ya joto dhidi ya wakati
  • Ujumbe wa onyo la ibukizi kwenye MATLAB

Hatua ya 1: Vifaa na Ugavi

Vifaa na Ugavi
Vifaa na Ugavi
  • 1 Laptop
  • MATLAB 2017
  • Pakua Sanduku la Zana la Arduino
  • Sparkfun RedBoard
  • Cable ya Nguvu
  • Mkate wa mkate
  • Waya 14
  • 1 Piezo Buzzer
  • 1 Kitufe cha Bonyeza
  • Vipinga 2 ohk 10m
  • 1 sensorer TMP36
  • Taa nyekundu ya LED
  • Ishara iliyochapishwa ya 3D (hiari)

Hatua ya 2: Usanidi wa Bodi

Usanidi wa Bodi
Usanidi wa Bodi

Fuata usanidi hapo juu

Hatua ya 3: Kuandika Nambari

Wakati Kitanzi: Ili kuhakikisha nambari inaendelea kupima hali ya joto na kuhisi hali ya kitufe (iliyobanwa au isiyofunguliwa), tunaweka nambari hiyo kwa kitanzi cha muda kwa muda maalum.

Kutumia TMP36: Tunaamua hali ya joto kwa kusoma voltage na kuibadilisha kuwa digrii Fahrenheit, kwa kutumia mambo ya uongofu. Halafu, tunatumia taarifa kama kucheza sauti na sauti / tuma arifu ikiwa temp ni kubwa kuliko au sawa na joto la juu lililowekwa

Kutumia Kitufe: Kwa taarifa ikiwa, tunaweza kujaribu ikiwa kitufe kilibanwa kwa kutumia readDigitalPin. Amri hii itarudisha Boolean (1 au 0). Ikiwa jibu ni 0, basi kitufe kilibanwa na kaunta ya abiria huongezeka na kuonyesha ujumbe wa kukaribisha. Halafu, wakati uwezo wa juu unafikiwa, ujumbe wa onyo hupigwa.

Hatua ya 4: Nakili Nambari

Pembejeo: Kusukuma kitufe, sensa ya joto

Matokeo: taa, buzzers, tahadhari ya sauti, barua pepe, grafu

Kusudi: Bidhaa hii imeundwa kusaidia kuhakikisha usalama na faraja ya abiria% wanaosafiri kwa gari moshi kupitia jangwa.

Matumizi: Kugundua idadi ya abiria wanaotumia kitufe cha kushinikiza, na% kugundua joto kwa kutumia sensa ya joto na kuipiga na kuipeleka nambari zote za abiria% na grafu ya joto kwenye kituo cha gari moshi.

sanidiPin (a, 'D2', 'pullup'); % katika matoleo ya baadaye tumia configurePin

wakati = 200;

e = 0;

x = 0

wakati> 0

kifungo_status = somaDigitalPin (a, 'D2'); % sawa na sifuri wakati kifungo kinasukumwa, vinginevyo ni sawa na 1

voltage = somaVoltage (a, 'A0'); pini% inategemea mahali tunapoiweka

tempCelcius = (voltage * 100) -50; % imetolewa kwa mwongozo wa sensa

tempF (wakati) = (tempCelcius * 1.8) + 32% fomula inayojulikana ya ubadilishaji

upeo = 120; digrii% F

andikaDigitalPin (a, 'D11', 1);

rem = mod (e, 2);

ikiwa tempF (muda)> = max

andikaDigitalPin (a, 'D11', 0);

andikaDigitalPin (a, 'D9', 1);

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

pumzika (.5)

andikaDigitalPin (a, 'D6', 1)

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

pumzika (.5)

andikaDigitalPin (a, 'D9', 1);

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

pumzika (.5)

andikaDigitalPin (a, 'D6', 1)

playTone (a, 'D6', 1000,.5)% hucheza "siren"

z = 'Joto kupita juu.m4a'; % Hii inaweka faili ya sauti kuwa tofauti

[data, freq] = audioread (z); Inapakia data kutoka faili ya sauti

o = mchezaji wa sauti (data, freq); Inaunda kitu kudhibiti uchezaji wa faili ya sauti

o.play ()% Inacheza faili ya sauti

o.playblocking ()% Inacheza faili na inasubiri ikamilike

mwisho

ikiwa button_status == 0 && rem == 0

e = e + 1

msgbox ('Karibu Karibu!');

kingineif button_status == 0 && rem == 1

e = e + 1

msgbox ('Bienvenido a bordo!');

mwisho

ikiwa e == 5

andikaDigitalPin (a, 'D11', 0);

ikiwa x == 0

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

s = 'Onyo_EF.m4a'; % Hii inaweka faili ya sauti kuwa tofauti

[data, freq] = audiosad (s); Inapakia data kutoka faili ya sauti

o = mchezaji wa sauti (data, freq); Inaunda kitu kudhibiti uchezaji wa faili ya sauti

% o.play ()% Inacheza faili ya sauti

o.playblocking ()% Inacheza faili na inasubiri ikamilike

msgbox ('Uwezo wa Max')

x = x + 1

mwisho

mwingineif e> = 6

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

mwisho

wakati = wakati - 1;

pause (0.1);

% ikiwa e == 5 && max (tempF)> = 120

% wakati = 0

% mwisho

mwisho

ee = namba2 (e)

t = [1: 200];

tempF2 = fliplr (tempF);

njama (t, tempF2);

kichwa ('Wakati dhidi ya Joto')

ylabel ('Joto (F)')

xlabel ('Saa (saa)')

kuokoa (gcf, 'tempplot.jpg')

barua = '[email protected]'

nywila = 'Srsora123 #'

mwenyeji = 'smtp.gmail.com'

setpref ('Mtandao', 'SMTP_Server', mwenyeji);

setpref ('Mtandao', 'E_mail', barua);

setpref ('Mtandao', 'SMTP_Username', barua);

setpref ('Mtandao', 'SMTP_Password', nywila);

props = java.lang. System.getProperties;

props.setProperty ('mail.smtp.auth', 'kweli');

props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');

prop.setProperty ('mail.smtp.socketFactory.port', '465');

sendmail (barua, 'Halo Kituo cha Treni! Kuna abiria wengi kwenye treni', ee, 'tempplot.jpg')

Hatua ya 5: Matokeo

Ilipendekeza: