Оглавление:

Как дать Томасу возможность водить машину ночью: 5 шагов
Как дать Томасу возможность водить машину ночью: 5 шагов

Видео: Как дать Томасу возможность водить машину ночью: 5 шагов

Видео: Как дать Томасу возможность водить машину ночью: 5 шагов
Видео: А если в разные стороны повернуть? 🤫 #юмор #авто #shorts 2024, Ноябрь
Anonim
Дать Томасу возможность ездить на поезде ночью
Дать Томасу возможность ездить на поезде ночью

Это руководство научит вас, как создать систему огней, чтобы предупреждать ожидающих пассажиров о приближении поезда, а также как получить сообщение на ноутбуке, когда поезд находится на станции. Звук, когда поезд проезжает мимо станции, будет воспроизводиться вместе с серией мигающих светодиодных огней. Все это можно сделать с помощью Raspberry Pi.

Шаг 1. Расходные материалы

Запасы
Запасы

Один компьютер

MatLab 2016 или новее

Загрузите пакет Raspberry Pi

3д принтер

Напечатанный на 3D-принтере вокзал для Raspberry Pi

Raspberry Pi со следующими компонентами:

2 инфракрасных датчика

5 светодиодных фонарей на ваш выбор цвета

11 Провода

2 резистора

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

USB Chord для подключения компьютера к Raspberry Pi

Шаг 2: Разработайте схему для желаемых выходов и входов

Разработайте схему для желаемых выходов и входов
Разработайте схему для желаемых выходов и входов

Используя базовую схему, к Raspberry Pi должны быть подключены источники света, инфракрасный излучатель и приемник. Красные светодиоды подключаются к земле, а затем подключаются к контактам 4, 5, 6 и 7 GPIO. Инфракрасный приемник подключен к контакту 21 GPIO, а инфракрасный излучатель подключен к контакту 5V.

Шаг 3. Разработайте код для достижения желаемого результата

Разработка кода для достижения желаемого результата
Разработка кода для достижения желаемого результата

Наиболее важные строки кода - это строки 12 и 16, которые запускают диалоговые окна. Строка 18, оператор if, читает, если между инфракрасными датчиками есть препятствие, и если они заблокированы, это означает, что поезд проезжает, прозвучит звуковой сигнал и включится свет. Если утверждение ложное, ничего не произойдет, потому что поезд не приближается.

Код: %% Заголовок

% Проект микроконтроллера - ночной поезд

% Джон Браун, Трент Пейн, Карстен Паркер; Раздел 9

% 3 октября 2017 г.

% Описание проекта: разработка микроконтроллера, который принимает два входа и

% дает два результата, чтобы помочь улучшить аспекты настройки модельного поезда.

% Метод решения: используйте различные ресурсы и Matlab для улучшения аспектов

% установка модели поезда.

%% Setup-Первый ввод / вывод

пока правда

a = 0;% инициализирует

в то время как readDigitalPin (rpi, 21) == 1

a = 1;% останавливает запуск светового кода перед кодом диалогового окна вопроса

question = ('Поезд останавливается на станции. Вы хотите подать звуковой сигнал?');

question_title = ('Гудок поезда');

resp = questdlg (question, question_title, 'yes', 'no', 'no');% открывает диалоговое окно вопроса с двумя вариантами и ответом по умолчанию

tf = strcmp (соответственно, 'yes');% сравнивает длину символьного массива ответа с символьным массивом yes.

если tf == 1% if resp = 'yes'

[Y, FS] = audioread ('train_horn.m4a');% берет аудиофайл и преобразует его в данные выборки y и частоту дискретизации FS.

sound (Y, FS) Команда звука% берет дискретизированные данные и частоту дискретизации и генерирует звук

msgbox ('Звучит гудок поезда!')

пауза (2)

перерыв

else% if resp = 'no', tf будет логическим 0, поскольку массивы no и yes 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)

конец% конец цикла while

конец

Шаг 4. Слушайте, как поезд заходит за угол, и смотрите, как огни предупреждают вас отступить

Слушайте, как поезд заходит за угол, и смотрите, как огни предупреждают вас отступить
Слушайте, как поезд заходит за угол, и смотрите, как огни предупреждают вас отступить

Когда поезд приближается и пересекает инфракрасные датчики, свет гаснет, заставляя поезд гудеть, чтобы прибывшие пассажиры отошли от края; Тем не менее, также будет диалоговое окно, в котором у кондуктора появится вопрос: «Поезд приближается к станции, поезд останавливается?», затем будет написано «Гудок поезда», а если гудок нет вытащил, третье диалоговое окно скажет: «рог не прозвучал».

Шаг 5: Окончательная настройка

Окончательная настройка
Окончательная настройка

Чтобы завершить проект, вся система должна быть объединена в синий вокзал, который был напечатан на 3D-принтере для эстетики. Вокзал символизирует, где будут пассажиры, когда прибудет поезд. Теперь они будут в безопасности благодаря системе предупреждения «Ночной поезд».

Рекомендуемые: