Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Это руководство научит вас, как создать систему огней, чтобы предупреждать ожидающих пассажиров о приближении поезда, а также как получить сообщение на ноутбуке, когда поезд находится на станции. Звук, когда поезд проезжает мимо станции, будет воспроизводиться вместе с серией мигающих светодиодных огней. Все это можно сделать с помощью 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-принтере для эстетики. Вокзал символизирует, где будут пассажиры, когда прибудет поезд. Теперь они будут в безопасности благодаря системе предупреждения «Ночной поезд».