Мазмұны:

Неғұрлым қауіпсіз: пойыз станцияларын қауіпсіз ету: 7 қадам
Неғұрлым қауіпсіз: пойыз станцияларын қауіпсіз ету: 7 қадам

Бейне: Неғұрлым қауіпсіз: пойыз станцияларын қауіпсіз ету: 7 қадам

Бейне: Неғұрлым қауіпсіз: пойыз станцияларын қауіпсіз ету: 7 қадам
Бейне: Савватеев Тесладағы сұхбатында | Гномдар, брайнерлер, жұмбақтар | Математика оңай 2024, Шілде
Anonim
Неғұрлым қауіпсіз: теміржол вокзалдарын қауіпсіз ету
Неғұрлым қауіпсіз: теміржол вокзалдарын қауіпсіз ету

Бүгінде көптеген теміржол вокзалдары қауіпсіздіктің жоқтығынан, кедергілер мен пойыздың кіріп келе жатқанын ескертуіне байланысты қауіпті. Біз мұны түзету қажет екенін көрдік. Бұл мәселені шешу үшін біз Safer Better құрдық. Біз теміржол вокзалына қауіпсіздікті қосу үшін діріл сенсорларын, қозғалыс сенсорларын және Arduino Uno апаттық сигнализациясын қолдандық.

Қажетті жабдықтар:

  • Ардуино Уно
  • Jumper Wires
  • PIR қозғалыс сенсоры
  • Пьезо діріл сенсоры
  • СКД экран
  • Пьезо спикері
  • Физикалық ауысу
  • Жұмсақ потенциометр
  • 330 Ом резистор

Авторы: Джейкоб Виммер, Оливия Кроули, Джин Ким

1 -қадам: тақтаны сыммен байланыстырыңыз

Басқарманы сыммен қосыңыз
Басқарманы сыммен қосыңыз

Біз жоғарыда көрсетілген диаграммаға сәйкес Arduino -ны қосқан болатынбыз.

2 -қадам: 3D басып шығаратын СКД тірегі

3D басып шығаратын СКД тірегі
3D басып шығаратын СКД тірегі

Біз 3D көрінісін жақсарту үшін СКД экранына арналған стендті басып шығардық.

3 -қадам: Matlab -те Arduino -ға қосылыңыз

Біздің кодты жазудың алғашқы қадамы Arduino тақтасын Matlab -ке қосу болды. Бұл Arduino объектісін құру арқылы жүзеге асады. Біз келесі кодты қолдандық:

a = arduino ('/dev/tty.usbmodem14201', 'Uno', 'кітапханалар', 'ExampleLCD/LCDAddon');

4 -қадам: Matlab -те кодты жазыңыз

Біз Matlab -те Arduino -ны іске қосу үшін бағдарлама құрдық. СКД экранды инициализациялағаннан кейін біз теміржол вокзалының жұмысын бақылау үшін код жаздық. Біз әр түрлі шығыс шығару үшін діріл сенсоры, қозғалыс сенсоры және физикалық қосқыш сияқты кірістерді қолдандық. Бұл кіріс, шығыс және сәйкес код төмендегі қадамдарда түсіндіріледі.

5 -қадам: діріл сенсоры

Діріл сенсоры
Діріл сенсоры

Діріл сенсоры аналогты сенсор болып табылады, сондықтан Matlab readVoltage функциясын қолданады.

val_vibro = readVoltage (a, 'A0'); Т.

ол readVoltage функциясы бірқатар мәндерді қайтарады, бірақ біз 0,5 -тен жоғары мән лайықты діріл екенін анықтадық, сондықтан біз оны негізгі мән ретінде қолдандық. Егер кернеу 0,5 -тен жоғары болса, бұл пойыздың станцияға келе жатқанын білдіреді. Бұл мән анықталған кезде СКД экранына хабарлама жіберіледі. СКД экранындағы хабарлама - бұл станциядағы адамдарға пойыз келе жатқанын хабарлау әдісі.

Біз СКД экранына келесі кодты пайдаланып жаздық:

егер val_vibro <= 0,5;

elseif val_vibro> 0,5;

printLCD (lcd, '3 мин ішінде пойыз');

Соңы

6 -қадам: PIR қозғалыс сенсоры

PIR қозғалыс сенсоры
PIR қозғалыс сенсоры
PIR қозғалыс сенсоры
PIR қозғалыс сенсоры
PIR қозғалыс сенсоры
PIR қозғалыс сенсоры

PIR қозғалыс сенсоры оператордың пойыз жолдарындағы кедергілер туралы білуін қамтамасыз ету үшін қолданылады. Сенсор суретке түсіреді және ең жаңа суретті соңғы түсірілгенмен салыстырады, егер бірдеңе қозғалса, Matlab 1 мәнін қайтарады. Жолда бірдеңе анықталған кезде пойыз операторына бірдеңе туралы хабарлау үшін графикалық интерфейс (GUI) шығады. рельсте жатыр. Оператор пойызды тоқтатуға немесе жалғастыруға құқылы. Қажетті опцияны таңдағаннан кейін растау хабары көрсетіледі.

Қозғалыс сенсоры үшін келесі код қолданылды:

егер val_opt == 1;

d1 = 'Станциядағы жолдарда объект анықталды';

op_input = questdlg (d1, 'Оператор хабары', 'Пойызды тоқтату', 'Жылжуды жалғастыр', 'Жылжуды жалғастыр');

b1 = strcmp (op_input, 'Stop Train');

b2 = strcmp (op_input, 'Move to Move');

егер b1 == 1

msgbox ('Пойыздың тоқтауы')

кідірту (3)

elseif b2 == 1

msgbox («пойыз жалғасуда»)

кідірту (3)

Соңы

elseif val_opt == 0;

Соңы

7 -қадам: Физикалық ауысу

Біз сондай -ақ теміржол вокзалдарында қосымша қауіпсіздік функциялары болуы керек деп ойлаймыз. Біз станцияда дабыл қағатын қосқыш орнатуды шештік. Біз мұны физикалық қосқыш арқылы жасадық. Бұл қосқыш қосылған кезде динамик арқылы дабыл шығады.

Біз мұны келесі кодпен жасадық:

i = 1:10 үшін s_val == 1 болса

playTone (a, 'D10', 1800, 1)

кідірту (.1)

playTone (a, 'D10', 2000, 1)

кідірту (.1)

Соңы

Соңы

Ұсынылған: