Мазмұны:

Пойызға Томасқа түнде жүру мүмкіндігін беру: 5 қадам
Пойызға Томасқа түнде жүру мүмкіндігін беру: 5 қадам

Бейне: Пойызға Томасқа түнде жүру мүмкіндігін беру: 5 қадам

Бейне: Пойызға Томасқа түнде жүру мүмкіндігін беру: 5 қадам
Бейне: СІЗДІ ТҮНДЕ ҰЙҚАУ ҮШІН 9 ШЫНАЙЫ ҚОРҚЫНЫШТЫ ОҚИҒА: ҚОРҚЫ... 2024, Қараша
Anonim
Пойызға Томасқа түнде көлік жүргізу мүмкіндігін беру
Пойызға Томасқа түнде көлік жүргізу мүмкіндігін беру

Бұл нұсқаулық сізге пойыз жақындаған кезде күтіп тұрған жолаушыларды ескерту үшін шамдар жүйесін құруды, сондай -ақ пойыз вокзалда болған кезде ноутбукте хабарлама алуды үйретеді. Пойыз станциядан өткен кезде дыбыс шығаратын жарықдиодты шамдармен бірге шығады. Мұның бәрін Raspberry Pi көмегімен жасауға болады.

1 -қадам: Жабдықтар

Жабдықтар
Жабдықтар

Бір компьютер

MatLab 2016 немесе одан жаңа

Raspberry Pi пакетін жүктеңіз

3D принтері

Таңқурай пиін орналастыратын 3D басып шығарылған теміржол вокзалы

Raspberry Pi келесі компоненттерден тұрады:

2 инфрақызыл сенсорлар

Сіз таңдаған түсті 5 жарықдиодты шамдар

11 сымдар

2 резистор

200-300 Ом резисторлары

USB Chord компьютерді таңқурайға қосуға арналған

2 -қадам: Қажетті шығыстар мен кірістерге арналған схеманы жобалау

Қажетті шығыс пен кірістерге арналған схеманы жобалау
Қажетті шығыс пен кірістерге арналған схеманы жобалау

Негізгі схеманы қолданып, шамдар мен инфрақызыл эмитент пен қабылдағышты Raspberry Pi -ге қосу керек. Қызыл жарық диодты шамдар жерге қосылады, содан кейін 4, 5, 6 және 7 -ші GPIO түйреуіштеріне қосылады. Инфрақызыл қабылдағыш GPIO PIN 21 -ге, ал инфрақызыл сәуле шығарғыш 5В -ге қосылады.

3 -қадам: Қажетті нәтижені қанағаттандыру үшін кодтауды жасаңыз

Қажетті нәтижені қанағаттандыру үшін кодтауды жасаңыз
Қажетті нәтижені қанағаттандыру үшін кодтауды жасаңыз

Кодтың ең маңызды жолдары - диалогтық терезелерді іске қосатын 12 және 16 -жолдар. 18 -ші жол, if операторы, егер инфрақызыл сенсорлардың арасында кедергі болса және олар кедергі болса, бұл поезд өтіп бара жатқанын білдіреді, мүйіз естіледі және шамдар қосылады. Егер бұл жалған болса, ештеңе болмайды, себебі пойыз жақындамайды.

Код: %% тақырып

%Микроконтроллер жобасы-түнгі пойыз

%Джон Браун, Трент Пейн, Карстен Паркер; 9 -бөлім

%3 қазан 2017 ж

%Жобаның сипаттамасы: Екі кірісті алатын микроконтроллерді жасаңыз

%модельдік пойызды баптау аспектілерін жақсартуға көмектесетін екі нәтиже шығарады

%Шешім әдісі: аспектілерін жақсарту үшін әр түрлі ресурстар мен Matlab пайдаланыңыз

пойызды баптаудың %үлгісі.

%% Орнату-Бірінші енгізу/шығару

рас болса

a = 0;%инициализациялайды a

readDigitalPin кезінде (rpi, 21) == 1

a = 1;%сұрақ диалогтық код алдында жарық кодының жұмысын тоқтатады

question = ('Пойыз вокзалға тоқтады. Сіз дыбысты естігіңіз келе ме?');

question_title = ('Поезд мүйізі');

resp = questdlg (сұрақ, сұрақ_ атауы, «иә», «жоқ», «жоқ»);%екі нұсқа мен әдепкі жауап бар сұрақ диалогтық терезесін ашады

tf = strcmp (респ, «иә»);%символдар жиымының ұзындығын иә таңбалар массивіне салыстырады.

егер tf == 1%егер resp = 'иә'

[Y, FS] = audioread ('train_horn.m4a');%аудиофайлды қабылдайды және оны үлгі деректеріне, y және іріктеу жылдамдығына, FS түрлендіреді.

дыбыс (Y, FS)%дыбыстық командасы алынған деректерді және іріктеу жылдамдығын қабылдайды және дыбыс шығарады

msgbox ('Пойыздың дыбысы естіледі!')

кідірту (2)

үзіліс

else%егер resp = 'no' болса, tf логикалық 0 болады, себебі жоқ және иә char массивтері әр түрлі ұзындықта

msgbox ('Пойыздың дыбысы естілмеді!')

кідірту (2)

үзіліс

Соңы

Соңы

readDigitalPin (rpi, 21) == 1 && a == 1 %қосқыш қосылып, сұрақ диалогтық терезесі іске қосылған кезде цикл кезінде басталады

%Бұл бірінші код сегменті шамдарды ретімен қосады.

writeDigitalPin (rpi, 4, 0)

үзіліс (0,25)

writeDigitalPin (rpi, 5, 0)

үзіліс (0,25)

writeDigitalPin (rpi, 6, 0)

үзіліс (0,25)

writeDigitalPin (rpi, 7, 0)

үзіліс (0,25)

%Бұл екінші код сегменті шамдарды ретімен өшіреді.

writeDigitalPin (rpi, 4, 1)

үзіліс (0,25)

writeDigitalPin (rpi, 5, 1)

үзіліс (0,25)

writeDigitalPin (rpi, 6, 1)

үзіліс (0,25)

writeDigitalPin (rpi, 7, 1)

үзіліс (0,25)

end%end while цикл

Соңы

4 -қадам: Бұрыштың айналасында келе жатқан пойызды тыңдаңыз және жарық сізді артқа шегіну туралы ескертеді

Бұрыштың айналасында келе жатқан пойызды тыңдаңыз және жарық сізді артқа шегінуді ескертеді
Бұрыштың айналасында келе жатқан пойызды тыңдаңыз және жарық сізді артқа шегінуді ескертеді

Пойыз инфрақызыл датчиктерге жақындағанда және қиылысқанда, шамдар сөнеді, жолаушыларды шеттен алыстау үшін пойыздың мүйізін қояды; сонымен бірге диалогтық терезе пайда болады, ол поезд кондукторынан: «Пойыз станцияға жақындап қалды, пойыз тоқтап тұр ма?» - деп сұрайды, содан кейін секунд «Пойыздың мүйізі естіледі» деп жазылады, ал егер мүйіз болмаса үшінші диалогтық терезеде «мүйіз естілмеді» деп жазылған.

5 -қадам: соңғы орнату

Соңғы орнату
Соңғы орнату

Жобаны аяқтау үшін бүкіл жүйені эстетика үшін 3D басып шығарылған көк вокзалға біріктіру керек. Вокзал пойыз келгенде жолаушылардың қайда болатынын білдіреді. Енді олар түнгі пойыздың ескерту жүйесінің арқасында қауіпсіз болады.

Ұсынылған: