Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
See juhend õpetab teile, kuidas luua tulede süsteem, mis hoiatab ootavaid reisijaid rongi lähenedes, ja kuidas saada teade sülearvutisse, kui rong on jaamas. Kui rong jaamast möödub, kostab heli koos vilkuvate LED -tuledega. Kõike seda saab teha Raspberry Pi abil.
Samm: tarvikud
Üks arvuti
MatLab 2016 või uuem
Laadige alla Raspberry Pi pakett
3D printer
3D -trükitud raudteejaam vaarika pi jaoks
Vaarika Pi koos järgmiste komponentidega:
2 infrapuna andurit
5 LED -valgustit teie valitud värviga
11 juhet
2 Takistid
200-300 oomi takistid
USB -akord arvuti ühendamiseks vaarika pi -ga
Samm: kujundage soovitud väljundite ja sisendite vooluring
Põhiskeemi kasutades tuleks tuled ja infrapunakiirgur ning vastuvõtja Raspberry Pi külge ühendada. Punased LED -tuled ühendatakse maapinnaga ja seejärel ühendatakse GPIO -pistikutega 4, 5, 6 ja 7. Infrapuna -vastuvõtja on ühendatud GPIO -pistikuga 21 ja infrapunakiirgur on ühendatud 5 -voldise kontaktiga.
Samm: arendage soovitud tulemuse rahuldamiseks kodeerimine
Koodi kõige olulisemad read on read 12 ja 16, mis käivitavad dialoogiboksid. Rida 18, if -lause, loeb, kas infrapunaandurite vahel on takistus ja kui need on takistatud, tähendab see, et rong möödub, helisignaal kõlab ja tuled süttivad. Kui väide on vale, ei juhtu midagi, sest rong ei lähene.
Kood: %% Päis
%Mikrokontrolleri projekt-öörong
%John Brown, Trent Payne, Karsten Parker; 9. jagu
%3. oktoober 2017
Projekti kirjeldus: kujundage mikrokontroller, mis võtab kaks sisendit ja
%toodab kahte väljundit, mis aitavad parandada mudeli rongi seadistamise aspekte
%Lahendusmeetod: kasutage erinevaid ressursse ja Matlabi, et parandada selle aspekte
%mudeli rongi seadistus.
%% Seadistus-esimene sisend/väljund
kuigi tõsi
a = 0;%initsialiseerib a
samas readDigitalPin (rpi, 21) == 1
a = 1;%peatab valguskoodi töötamise enne küsimuste dialoogi koodi
question = ('Rong peatub jaamas. Kas soovite helisignaali anda?');
question_title = ('Rongisarv');
resp = questdlg (küsimus, küsimuse_pealkiri, 'jah', 'ei', 'ei');%avab küsimuste dialoogiboksi kahe valiku ja vaikevastusega
tf = strcmp (resp, 'jah');%võrdleb märgimassiivi vastuse pikkust märgimassiiviga jah.
kui tf == 1%, kui resp = "jah"
[Y, FS] = audioread ('train_horn.m4a');%võtab helifaili ja teisendab selle prooviandmeteks, y ja diskreetimissageduseks, FS.
heli (Y, FS)%heli käsk võtab proovitud andmed ja diskreetimissageduse ning genereerib heli
msgbox ("Rongisarv kõlab!")
paus (2)
murda
else%kui resp = 'ei', on tf loogiline 0, kuna ei ja jah märgimassiivid on erineva pikkusega
msgbox ("Rongisarve ei kõlanud!")
paus (2)
murda
lõpp
lõpp
samas readDigitalPin (rpi, 21) == 1 && a == 1 %käivitub, kui lüliti on sisse lülitatud ja küsimuste dialoogiboks on käivitatud
%See esimene koodiseade lülitab tuled järjekorras sisse.
writeDigitalPin (rpi, 4, 0)
paus (0,25)
writeDigitalPin (rpi, 5, 0)
paus (0,25)
writeDigitalPin (rpi, 6, 0)
paus (0,25)
writeDigitalPin (rpi, 7, 0)
paus (0,25)
%See teine koodiseade lülitab tuled järjekorras välja.
writeDigitalPin (rpi, 4, 1)
paus (0,25)
writeDigitalPin (rpi, 5, 1)
paus (0,25)
writeDigitalPin (rpi, 6, 1)
paus (0,25)
writeDigitalPin (rpi, 7, 1)
paus (0,25)
lõpp%lõpp silmuse ajal
lõpp
4. samm: kuulake, kuidas rong nurga taha tuleb, ja vaadake, kuidas tuled hoiatavad teid tagasi astumast
Kui rong läheneb ja ületab infrapunaandureid, kustuvad tuled, lülitades rongisignaali, et reisijad jõuaksid servast eemale; ilmub aga ka dialoogiboks, kus küsitakse rongijuhilt: "Rong läheneb jaamale, kas rong peatub?" tõmmatakse, kolmas dialoogiboks ütleb: "sarve ei kõlanud".
Samm: lõplik seadistamine
Projekti lõpuleviimiseks tuleks kogu süsteem ühendada siniseks rongijaamaks, mis esteetika eesmärgil trükiti 3D -trükisega. Rongijaam sümboliseerib seda, kus reisijad rongi saabudes viibivad. Nüüd on nad tänu Öise rongi hoiatussüsteemile ohutud.