Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Ta navodila vas bodo naučila, kako ustvariti sistem luči za opozarjanje čakajočih potnikov, ko se približuje vlak, in tudi, kako naj se sporočilo prikaže na prenosnem računalniku, ko je vlak na postaji. Zvok, ko vlak prečka postajo, se bo ustvaril skupaj z vrsto utripajočih LED luči. Vse to lahko storite z uporabo Raspberry Pi.
1. korak: Zaloge
En računalnik
MatLab 2016 ali novejši
Prenesite paket Raspberry Pi
3D tiskalnik
3D natisnjena železniška postaja za namestitev maline pi
Raspberry Pi z naslednjimi sestavinami:
2 infrardeča senzorja
5 LED luči po vaši izbiri
11 žic
2 upora
200-300 ohmski upori
USB Chord za povezavo računalnika z malinovim pi
2. korak: Oblikujte vezje za želene izhode in vhode
Z osnovnim vezjem je treba luči in infrardeči oddajnik in sprejemnik priključiti na Raspberry Pi. Rdeče LED lučke so priklopljene na tla in nato priključene na GPIO pin 4, 5, 6 in 7. Infrardeči sprejemnik je priključen na GPIO Pin 21, infrardeči oddajnik pa na 5V pin.
3. korak: Razvijte kodiranje, ki bo zadovoljilo želeni rezultat
Najpomembnejši vrstici kode sta vrstici 12 in 16, ki odpreta pogovorna okna. Vrstica 18, stavek if, se bere, če imajo infrardeči senzorji oviro med njimi in če so ovirani, to pomeni, da vlak vozi, se oglasi hupa in luči se prižgejo. Če je trditev napačna, se ne bo nič zgodilo, ker se vlak ne približuje.
Koda: %% Glava
%Mikrokontroler Project-Night Train
%John Brown, Trent Payne, Karsten Parker; oddelek 9
%3. oktober 2017
%Opis projekta: Oblikujte mikrokrmilnik, ki ima dva vhoda in
%proizvaja dva izhoda, ki pomagata izboljšati vidike postavitve vzorčnega vlaka
%Metoda rešitve: Uporabite različne vire in Matlab za izboljšanje vidikov
%nastavitev modela vlaka.
%% Nastavitev-prvi vhod/izhod
medtem ko je res
a = 0;%inicializira a
medtem ko je readDigitalPin (rpi, 21) == 1
a = 1;%ustavi izvajanje svetlobne kode pred kodo pogovornega okna vprašanja
question = ('Vlak se ustavi na postaji. Ali želite zazvoniti?');
question_title = ('Vlakovni rog');
resp = questdlg (vprašanje, naslov_prašanja, 'da', 'ne', 'ne');%prikaže pogovorno okno z dvema možnostma in privzetim odgovorom
tf = strcmp (resp, 'yes');%primerja dolžino odziva nizov znakov z nizom znakov yes.
če je tf == 1%, če je resp = 'da'
[Y, FS] = zvočno branje ('train_horn.m4a');%vzame zvočno datoteko in jo pretvori v vzorčne podatke, y in frekvenco vzorčenja, FS.
zvok (Y, FS)%zvočni ukaz sprejme vzorčene podatke in hitrost vzorčenja ter ustvari zvok
msgbox ('Vlak se oglasi!')
premor (2)
prekiniti
else%, če je resp = 'ne', bo tf logično 0, saj sta matriki ne in da različni dolžini
msgbox ('Vlakna hupa ni bila oglašena!')
premor (2)
prekiniti
konec
konec
medtem ko se readDigitalPin (rpi, 21) == 1 && a == 1 %zažene, medtem ko je zanka, medtem ko je stikalo obrnjeno in pogovorno okno z vprašanjem zagnano
%Ta prvi kodni segment prižge luči po vrstnem redu.
writeDigitalPin (rpi, 4, 0)
premor (0,25)
writeDigitalPin (rpi, 5, 0)
premor (0,25)
writeDigitalPin (rpi, 6, 0)
premor (0,25)
writeDigitalPin (rpi, 7, 0)
premor (0,25)
%Ta drugi kodni segment po vrstnem redu ugasne luči.
writeDigitalPin (rpi, 4, 1)
premor (0,25)
writeDigitalPin (rpi, 5, 1)
premor (0,25)
writeDigitalPin (rpi, 6, 1)
premor (0,25)
writeDigitalPin (rpi, 7, 1)
premor (0,25)
end%end while zanka
konec
4. korak: Prisluhnite vlaku, ki bo prišel za vogalom, in opazujte, kako vas luči opozarjajo, naj stopite nazaj
Ko se vlak približa in prečka infrardeče senzorje, se bodo luči ugasnile in sprožile trubo vlaka, da bodo potniki prispeli, da se odmaknejo od roba; pojavilo pa se bo tudi pogovorno okno, ki vpraša kondukterja vlaka: "Vlak se približuje postaji, ali se vlak ustavi?", nato pa se na drugi glasi "Vlak se oglaša", če pa rog ni potegnil, bo tretje pogovorno okno reklo: "rog ni bil oglašen."
5. korak: Končna nastavitev
Za dokončanje projekta je treba celoten sistem združiti v modro železniško postajo, ki je bila zaradi estetike 3D natisnjena. Železniška postaja simbolizira, kje bodo potniki ob prihodu vlaka. Zdaj bodo varni zahvaljujoč opozorilnemu sistemu Night Train.