Turinys:
- 1 žingsnis: reikmenys
- 2 žingsnis: suprojektuokite norimų išėjimų ir įėjimų grandinę
- 3 žingsnis: sukurkite kodavimą, kad patenkintumėte pageidaujamus rezultatus
- 4 žingsnis: klausykitės, kol traukinys atvažiuos aplink kampą, ir žiūrėkite, kaip žibintai įspėja jus atsitraukti
- 5 veiksmas: galutinė sąranka
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Š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
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ę
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
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
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
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.