Përmbajtje:

T'i Jepni Trajnimit Thomasit Aftësinë për të Drejtuar Natën: 5 Hapa
T'i Jepni Trajnimit Thomasit Aftësinë për të Drejtuar Natën: 5 Hapa

Video: T'i Jepni Trajnimit Thomasit Aftësinë për të Drejtuar Natën: 5 Hapa

Video: T'i Jepni Trajnimit Thomasit Aftësinë për të Drejtuar Natën: 5 Hapa
Video: CS50 2014 – первая неделя 2024, Nëntor
Anonim
T'i Jepni Trajnimit Thomasit Aftësinë për të Drejtuar Natën
T'i Jepni Trajnimit Thomasit Aftësinë për të Drejtuar Natën

Ky udhëzues do t'ju mësojë se si të krijoni një sistem dritash për të paralajmëruar pasagjerët që presin kur po afrohet një tren dhe gjithashtu si të merrni një mesazh që të shfaqet në një laptop kur treni është në stacion. Një tingull kur treni kalon stacionin do të gjenerohet së bashku me një seri dritash LED që vezullojnë. E gjithë kjo mund të bëhet duke përdorur një Raspberry Pi.

Hapi 1: Furnizimet

Furnizimet
Furnizimet

Një kompjuter

MatLab 2016 ose më i ri

Shkarkoni paketën Raspberry Pi

Printer 3D

Stacioni i Trenit i printuar 3D për të vendosur mjedrën pi

Raspberry Pi me përbërësit e mëposhtëm:

2 Sensorë me rreze infra të kuqe

5 drita LED sipas ngjyrës tuaj

11 Tela

2 Rezistenca

Rezistenca 200-300 Ohm

USB Akord për të lidhur kompjuterin me mjedrën pi

Hapi 2: Hartoni qarkun për daljet dhe hyrjet e dëshiruara

Hartoni qarkun për daljet dhe hyrjet e dëshiruara
Hartoni qarkun për daljet dhe hyrjet e dëshiruara

Duke përdorur qarkun bazë, dritat dhe emetuesi dhe marrësi infra të kuqe duhet të lidhen me Raspberry Pi. Dritat LED të Kuqe lidhen me tokën dhe më pas lidhen me kunjat GPIO 4, 5, 6 dhe 7. Marrësi me rreze infra të kuqe është i lidhur me GPIO Pin 21 dhe emetuesi me rreze infra të kuqe është i lidhur me kunjin 5V.

Hapi 3: Zhvilloni kodim për të kënaqur rezultatin e dëshiruar

Zhvilloni kodim për të kënaqur rezultatin e dëshiruar
Zhvilloni kodim për të kënaqur rezultatin e dëshiruar

Linjat më të rëndësishme të kodit janë rreshtat 12 dhe 16 të cilët lëshojnë kutitë e dialogut. Rreshti 18, deklarata if, po lexon nëse sensorët infra të kuq kanë një pengesë mes tyre dhe nëse ato pengohen atëherë kjo do të thotë që treni po kalon, bri do të bjerë dhe dritat do të ndizen. Nëse deklarata është e rreme asgjë nuk do të ndodhë sepse treni nuk po afrohet.

Kodi: %% Koka

%Projekti i Mikrokontrolluesit-Treni i Natës

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

%3 tetor 2017

%Përshkrimi i Projektit: Hartoni një mikrokontrollues që merr dy hyrje dhe

%prodhon dy rezultate për të ndihmuar në përmirësimin e aspekteve të modelit të modelit të trenit

%Metoda e Zgjidhjes: Përdorni burime të ndryshme dhe Matlab për të përmirësuar aspektet e

%konfigurimi i modelit të trenit.

%% Konfigurimi-Hyrja/dalja e parë

ndërsa e vërtetë

a = 0;%inicializon a

ndërsa lexoDigitalPin (rpi, 21) == 1

a = 1;%ndalon funksionimin e kodit të dritës para kodit të dialogut të pyetjes

pyetje = ('Treni po ndalet në stacion. Dëshironi të bini në bri?');

question_title = ('Briri i Trenit');

resp = questdlg (pyetje, titull_pyetje, 'po', 'jo', 'jo');%shfaq kutinë e dialogut të pyetjeve me dy opsione dhe një përgjigje të paracaktuar

tf = strcmp (resp, 'po');%krahason gjatësinë e përgjigjes së grupit të karakterit me grupin e karaktereve po.

nëse tf == 1%nëse resp = 'po'

[Y, FS] = audioread ('train_horn.m4a');%merr skedarin audio dhe e konverton atë në të dhëna mostre, y, dhe shkalla e marrjes së mostrave, FS.

tingulli (Y, FS)%komanda e zërit merr të dhënat e marra dhe shkallën e marrjes së mostrës dhe gjeneron zë

msgbox ('Bri i trenit po bie!')

pauzë (2)

pushim

tjetër%nëse resp = 'jo', tf do të jetë logjike 0 meqenëse jo dhe po vargjet char janë gjatësi të ndryshme

msgbox ('Bri i trenit nuk u dëgjua!')

pauzë (2)

pushim

fund

fund

ndërsa readDigitalPin (rpi, 21) == 1 && a == 1 %fillon ndërsa lak ndërsa kaloni është i ndezur dhe kutia e dialogut të pyetjeve është ekzekutuar

%Ky segment i kodit të parë ndez dritat në rregull.

shkruajDigitalPin (rpi, 4, 0)

pauzë (0.25)

shkruajDigitalPin (rpi, 5, 0)

pauzë (0.25)

shkruajDigitalPin (rpi, 6, 0)

pauzë (0.25)

writeDigitalPin (rpi, 7, 0)

pauzë (0.25)

%Ky segment i kodit të dytë fik dritat në rregull.

shkruajDigitalPin (rpi, 4, 1)

pauzë (0.25)

shkruajDigitalPin (rpi, 5, 1)

pauzë (0.25)

shkruajDigitalPin (rpi, 6, 1)

pauzë (0.25)

shkruajDigitalPin (rpi, 7, 1)

pauzë (0.25)

fund%fund ndërsa lak

fund

Hapi 4: Dëgjoni që treni të vijë rreth këndit dhe shikoni se si dritat ju paralajmërojnë të tërhiqeni

Dëgjoni për trenin që do të vijë rreth këndit dhe shikoni se si dritat ju paralajmërojnë të ktheheni prapa
Dëgjoni për trenin që do të vijë rreth këndit dhe shikoni se si dritat ju paralajmërojnë të ktheheni prapa

Ndërsa treni afrohet dhe kalon sensorët me rreze infra të kuqe, dritat do të fiken, duke vendosur bririn e trenit për të mbërritur udhëtarët që të largohen nga buza; megjithatë, do të ketë gjithashtu një kuti dialogu që shfaqet duke pyetur drejtuesin e trenit, "Treni po i afrohet stacionit, a ndalon treni?", Pastaj një i dytë lexon "Bri i trenit po bie", dhe nëse bri nuk është tërhequr, një kuti e tretë e dialogut do të thotë, "bri nuk u dëgjua".

Hapi 5: Konfigurimi përfundimtar

Konfigurimi përfundimtar
Konfigurimi përfundimtar

Për të përfunduar projektin, i gjithë sistemi duhet të kombinohet në stacionin blu të trenit i cili u printua 3D për estetikë. Stacioni i trenit simbolizon se ku do të jenë pasagjerët kur të arrijë treni. Tani ata do të jenë të sigurt falë sistemit të paralajmërimit të Trenit të Natës.

Recommended: