Arduino. Лазерный лабиринт.

Закралась ко мне идея по созданию умного дома. Закралась и стала житья мне не давать. Руки так и чесались что-то делать.
Но, в радиоэлектронике на тот момент, я мог только отличить конденсатор от резистора ))).
Понимая что без базовых знаний у меня ничего не получиться — засел за теорию.
Позже, все таки, купил минимум из набора ардуинщика и начал тупо повторять готовые примеры. Конечно, восторг от работающих схем не передать словами, но с каждым разом этот восторг начинал остывать.
Хотелось что-то делать толковое, но что? С чего начать? По себе знаю, что изучение чего-то, лучше дается в реальной работе, с конкретным конечным результатом.
Однажды, меня спросили: можно ли реализовать на ардуино аналог аттракциона «Лазерный лабиринт»? Подумав, я не увидел ничего сложного в плане электроники (как совсем начинающий электронщик ) и сказал, что можно.
После чего, я согласился его сделать… заодно и теорию с практикой буду изучать для себя.

Достаточно много времени ушло на изучения аналогичных проектов, их алгоритмов, нюансов… конечно никто не выкладывал деталей в существующих проектов, потому весь алгоритм строился по увиденным рекламным видеороликам.

В итоге был сформирован следующий алгоритм:
1. При входе кнопкой выбирается уровень сложности.
2. Заход в комнату и нажатием кнопки старт включаются лазеры и начинается отсчет таймера.
3. Необходимо пройти до конца комнаты не задев лучей и нажать кнопку «полуфиниш». Если задевается луч — включается сирена, задетый лазер выключается и на табло фиксируется количество задетых лазеров.
4. После нажатия кнопки «полуфиниш» задетые выключенные лазеры снова включаются. Необходимо вернуться и нажать кнопку старт для фиксации конца игры и остановки таймера.
5. На табло должно отображаться уровень игры, время в секундах и количество задетых лазеров.
6. При старте игры на каждый уровень автоматически должна включаться своя музыка, а на финише выключаться.
Вот такой стандартный алгоритм.

Ну, что ж, всех спать, а сам за паяльник… так и потянулись вечера да ночи.

На первом этапе отрабатывалась работа кнопок, запуск лазеров и контроль приемников лазеров.

Вторым этапом было изучение сдвиговых регистров для работы 7-ми сигментных индикаторов.

В результате изучил программу SPrintLayout и методом ЛУТа изготовил свои первые в жизни платы для работы 7-ми сегментных индикаторов.

Третий этап — озвучка всего этого хозяйства. Реализовывалось на шилде wtv020-sd-16p, который с трудом удалось запустить по причинам, с которыми сталкиваются в первый раз все начинающие ардуинщики.

Четвертый этап — сборка всего этого добра в корпус и поиском решения разъемов коммутации всех устройств.

Что же в результате всего получилось и как это выглядит в финале.

Реализовано:
— система построена на Arduino MEGA;
— 10 лазеров и приемников — с зеркалами 20 лучей;
— 3 уровня сложности;
— подсветка активных клавиш;
— отдельный плей лист на каждый уровень;
— режим настройки лазеров ;
— вывод на 2 табло счетчик касаний, номер уровня и секундомер;
— восстановление выключенных лазеров при проходе половины дистанции;
— при задевании лазера проигрывание короткого тревожного сигнала;
— реализована статистика количества стартов, финиша, ресетов, и призовых финиширований (проход атракциона без касания лазеров).

Также сформирован новый список доделок, переделок и реализации новых функций. Таких, как:
— увеличение количества лазеров до 30 шт;
— подключение табло по RS-485:
— подключение модулей GSM и WIFI для ведении статистики на отдельный сервер;
— реализация режима динамической презентации;
— подключение ТВ и запуска рекламных роликов в период простоя, а в режиме игры — ее трансляция;
— автоматический режим работы дым-машины
и много другого…

Вот, таким получился мой первый проект на Arduino.

 

 

 


Уникальных посетителей темы: 140

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *