Turinys:

Tomo traukiniui suteikiama galimybė vairuoti naktį: 5 žingsniai
Tomo traukiniui suteikiama galimybė vairuoti naktį: 5 žingsniai

Video: Tomo traukiniui suteikiama galimybė vairuoti naktį: 5 žingsniai

Video: Tomo traukiniui suteikiama galimybė vairuoti naktį: 5 žingsniai
Video: Высокая плотность 2022 2024, Liepa
Anonim
Suteikia Tomasui traukinį galimybę vairuoti naktį
Suteikia Tomasui traukinį galimybę vairuoti naktį

Ši pamoka išmokys jus, kaip sukurti žibintų sistemą, įspėjančią laukiančius keleivius, kai artėja traukinys, taip pat kaip gauti pranešimą, kad jis būtų rodomas nešiojamajame kompiuteryje, kai traukinys yra stotyje. Traukiniui pravažiavus stotį, pasigirs garsas ir mirksės šviesos diodų lemputės. Visa tai galima padaryti naudojant „Raspberry Pi“.

1 žingsnis: reikmenys

Prekės
Prekės

Vienas kompiuteris

„MatLab 2016“ar naujesnė versija

Atsisiųskite „Raspberry Pi“paketą

3D spausdintuvas

3D atspausdinta geležinkelio stotis, kurioje rasite aviečių pi

Raspberry Pi su šiais komponentais:

2 infraraudonųjų spindulių jutikliai

5 jūsų pasirinktos spalvos šviesos diodai

11 laidų

2 rezistoriai

200-300 omų rezistoriai

USB akordas, skirtas prijungti kompiuterį prie aviečių pi

2 žingsnis: suprojektuokite norimų išėjimų ir įėjimų grandinę

Suprojektuokite norimų išėjimų ir įėjimų grandinę
Suprojektuokite norimų išėjimų ir įėjimų grandinę

Naudojant pagrindines grandines, žibintai, infraraudonųjų spindulių skleidėjas ir imtuvas turi būti prijungti prie „Raspberry Pi“. Raudonos šviesos diodų lemputės yra prijungtos prie žemės ir prijungiamos prie GPIO kaiščių 4, 5, 6 ir 7. Infraraudonųjų spindulių imtuvas prijungtas prie GPIO kaiščio 21, o infraraudonųjų spindulių skleidėjas - prie 5 V kaiščio.

3 žingsnis: sukurkite kodavimą, kad patenkintumėte pageidaujamus rezultatus

Sukurkite kodavimą norimiems rezultatams patenkinti
Sukurkite kodavimą norimiems rezultatams patenkinti

Svarbiausios kodo eilutės yra 12 ir 16 eilutės, kuriose atidaromi dialogo langai. 18 eilutė, jei teiginys, skaito, ar tarp infraraudonųjų spindulių jutiklių yra kliūčių, ir jei jie yra trukdomi, tai reiškia, kad traukinys pravažiuoja, skambės signalas ir įsijungs šviesos. Jei teiginys klaidingas, nieko neatsitiks, nes traukinys nesiartina.

Kodas: %% antraštė

%Mikrovaldiklio projektas-naktinis traukinys

%John Brown, Trent Payne, Karsten Parker; 9 skyrius

%2017 m. Spalio 3 d

%Projekto aprašymas: Sukurkite mikrovaldiklį, kuris turi du įėjimus ir

%gamina du išėjimus, kad padėtų patobulinti traukinio modelio sąrankos aspektus

%Sprendimo metodas: naudokite įvairius išteklius ir „Matlab“, kad pagerintumėte

%modelio traukinio sąranka.

%% Sąranka-pirmoji įvestis/išvestis

kol tiesa

a = 0;%inicijuoja a

o skaitytiDigitalPin (rpi, 21) == 1

a = 1;%sustabdo šviesos kodo vykdymą prieš klausimo dialogo kodą

question = ('Traukinys sustoja stotyje. Ar norite skambėti ragu?');

question_title = ('Traukinio signalas');

resp = questdlg (klausimas, klausimo_pavadinimas, „taip“, „ne“, „ne“);%pasirodo klausimo dialogo langas su dviem variantais ir numatytuoju atsakymu

tf = strcmp (resp, 'taip');%lygina simbolių masyvo atsako ilgį su simbolių masyvu taip.

jei tf == 1%, jei atitinkamai = "taip"

[Y, FS] = audioread ('train_horn.m4a');%paima garso failą ir paverčia jį mėginio duomenimis, y ir atrankos dažniu, FS.

garsas (Y, FS)%garso komanda ima atrinktus duomenis ir atrankos dažnį bei sukuria garsą

msgbox („Traukinio ragas skamba!“)

pauzė (2)

pertrauka

else%if resp = 'no', tf bus loginis 0, nes ne ir taip char masyvai yra skirtingo ilgio

„msgbox“(„Traukinio signalas neskambėjo!“)

pauzė (2)

pertrauka

galas

galas

o readDigitalPin (rpi, 21) == 1 && a == 1 %prasideda ciklo metu, kai jungiklis yra apverstas ir veikia dialogo langas

%Šis pirmasis kodo segmentas įjungia lemputes.

writeDigitalPin (rpi, 4, 0)

pauzė (0,25)

writeDigitalPin (rpi, 5, 0)

pauzė (0,25)

writeDigitalPin (rpi, 6, 0)

pauzė (0,25)

writeDigitalPin (rpi, 7, 0)

pauzė (0,25)

%Šis antrasis kodo segmentas išjungia šviesas.

writeDigitalPin (rpi, 4, 1)

pauzė (0,25)

writeDigitalPin (rpi, 5, 1)

pauzė (0,25)

writeDigitalPin (rpi, 6, 1)

pauzė (0,25)

writeDigitalPin (rpi, 7, 1)

pauzė (0,25)

end%end while loop

galas

4 žingsnis: klausykitės, kol traukinys atvažiuos aplink kampą, ir žiūrėkite, kaip žibintai įspėja jus atsitraukti

Klausykitės, kaip traukinys atvažiuos aplink kampą, ir žiūrėkite, kaip šviesos įspėja jus atsitraukti
Klausykitės, kaip traukinys atvažiuos aplink kampą, ir žiūrėkite, kaip šviesos įspėja jus atsitraukti

Traukiniui artėjant ir kertant infraraudonųjų spindulių jutiklius, šviesos užges, o traukinio ragas nusileis, kad keleiviai atvyktų atsitraukti nuo krašto; tačiau taip pat atsiras dialogo langas, kuriame bus klausiama traukinio konduktoriaus: „Traukinys artėja prie stoties, ar traukinys sustoja?“, tada antra užrašo „Traukinio signalas skamba“, o jei ragas ne ištrauktas, trečiasis dialogo langas pasakys: „ragas neskambėjo“.

5 veiksmas: galutinė sąranka

Galutinė sąranka
Galutinė sąranka

Norint užbaigti projektą, visa sistema turėtų būti sujungta į mėlyną traukinių stotį, kuri estetiškai buvo atspausdinta 3D. Traukinių stotis simbolizuoja, kur bus keleiviai, kai traukinys atvyks. Dabar jie bus saugūs dėl naktinio traukinio įspėjimo sistemos.

Rekomenduojamas: