Устройство представляет собой площадку-лабиринт, балансирующую на сервоприводах. Цель игры: закатить шарик в центр диска. Когда-то разработал его для факультатива по электронике. Схема сделана из того, что в буквальном смысле было под рукой. А что еще нужно для детей? Немного поработать, а потом поиграть.
Схема не содержит микроконтроллеров, а схемотехника рассчитана на то, чтобы поломать над ней голову. Немного микросхем 74 серии, сдобренных диодно-резисторной логикой, пару операционников, и получился вполне завершенный и функциональный игровой автомат.
Преимущество схемы в том, что она полностью моделируется в ISIS Proteus. Это удобно для анализа принципа ее работы.
❯ Описание устройства
Принцип работы устройства можно посмотреть в ролике. Для начала игры необходимо установить металлический шарик в стартовую позицию на внешнем радиусе лабиринта, это активирует сервоприводы и позволит управлять ими с помощью двухосевого аналогового джойстика. Отклонение рукоятки джойстика пропорционально наклоняет площадку лабиринта, что позволяет перемещать по нему шарик.
При смещении шарика со стартовой позиции запускается обратный отсчет игрового времени. Индикация времени осуществляется шкалой из десяти светодиодов, которые последовательно гаснут по мере уменьшения времени игры.
Время игры задается перемещением перемычки на штыревом разъеме с интервалом десять секунд. Интервал установки от 10 до 90 секунд.
Если шарик попадет в финальную позицию до окончания игрового времени, то шкала обратного отсчета времени останавливается и раздается прерывистый звуковой сигнал, оповещающий игрока о победе в игре.
Если игровое время заканчивается до того, как шарик попал в финишную позицию, то издается короткий звуковой сигнал, светодиодная шкала восстанавливается и сервоприводы отключаются.
Для повторного запуска игры необходимо снова переместить шарик в стартовую позицию, при этом схема управления перезапустится и позволит вновь управлять лабиринтом.
По задумке, на месте старта и финиша должны быть размещены проволочные контакты, которые будет замыкать шарик. Эти контакты дублируются кнопками на плате управления. На финише в поле лабиринта установлен небольшой магнит, чтобы надежно фиксировать шарик и замыкать контакты, это оповещает схему об окончании игры.
Механическая часть изготовлена на 3D принтере. Предполагается, что игровое поле может быть сменным. Устройство механической части вы можете посмотреть в ролике.
❯ Электрическая схема
Электрическая схема игрового автомата выполнена по структурной схеме, представленной на рисунке.
Когда металлический шарик покидает стартовую позицию, блок запуска игры формирует сигнал «startGame», который разрешает работу делителя тактовой частоты. Вместе с этим сигналом формируется сигнал разрешения работы сервоприводов «servoEnable», который также перезапускает работу шкалы обратного отсчета времени игры.
Если металлический шарик попадает в финишную позицию, формируются инверсные друг к другу сигналы «soundOFF» и «soundEnable». «soundOFF» запрещает работу делителя тактовой частоты и отсчет игрового времени останавливается. «soundEnable» запускает формирование звукового сигнала. Звуковые импульсы прекращаются, когда металлический шарик покидает финишную позицию.
Схема управления звуковым сигналом производит запуск генератора звуковой частоты в зависимости от комбинации сигналов на ее входе. Звуковые импульсы усиливаются транзисторным каскадом и поступают на пьезоизлучатель.
Сигнал «timeCLK» на выходе делителя частоты имеет частоту 1Гц и используется для подсчета игрового времени.
Отсчет игрового времени производит блок шкалы обратного отсчета времени, выполненный на основе сдвигового регистра. Когда последний из десяти светодиодов гаснет, формируется сигнал «gameOver», который перезапускает блок запуска игры и формирует короткий звуковой импульс.
Регулировать продолжительность игры позволяет настраиваемый делитель частоты. В зависимости от положения джампера, схема делит тактовый сигнал с коэффициентами от одного до девяти. В результате игровое время может составлять от 10 до 90 секунд.
В основе устройства использован аналоговый джойстик и два сервопривода. Для реализации управления сервоприводами на основе сигналов джойстика электрическая схема должна производить преобразования, как показано на графике. Графики на рисунке демонстрируют управление наклоном лабиринта по оси Х. Для оси Y управление осуществляется аналогично. Управление сервоприводом осуществляется ШИМ сигналом.
Пилообразный сигнал «sawtooth pulse» для формирование импульсов управления сервоприводами генерирует ГЛИН на основе таймера NE555.
Джойстик представляет собой делители напряжения для каждой оси. Напряжение джойстика сравнивается с пилообразным сигналом «sawtooth pulse», формируя ШИМ сигнал, который определяет положение сервоприводов. Сигнал «servoEnable» отключает подачу управляющих импульсов, когда игра окончена.
Регулируемый стабилизатор напряжения на LM317 позволяет ограничить угол поворота сервоприводов так, чтобы добиться плавного движения площадки лабиринта. А П-образный фильтр необходим для того, чтобы помехи от сервоприводов не мешали работать схеме управления.
В результате получилась забавная игрушка, которая вполне может стать для вас проектом «выходного дня». Файлы проекта вы можете скачать по этой ссылке. Там вы найдете: проект печатной платы в Игл, герберы для заказа печатных плат, полную модель для протеуса.
Если вам понравился этот проект, загляните в мой предыдущий пост, там представлен подстаканник со светодиодной индикацией температуры. Также предлагаю посмотреть статью о том, с чего началось мое увлечение схемами на жесткой логике.
Комментарии (20)
Akon32
03.11.2022 13:03активирует сервоприводы и позволит управлять ими с помощью двухосевого аналогового джойстика. Отклонение рукоятки джойстика пропорционально наклоняет площадку лабиринта
Подобное управление и особенно внешний вид конструкции очень сильно напоминают механизм поворота автомобильных зеркал, но автомобильная версия чуть более компактна и, кажется, более технологична - зеркало можно принудительно поворачивать руками, и сервоприводы (вроде бы) от этого не ломаются. Насколько я могу судить, там червячные механизмы без жёсткого зацепления.
OldFashionedEngineer Автор
03.11.2022 13:13На самом деле ни чего общего. В автомобиле зеркало отклоняется с фиксированной скоростью, пока кнопка нажата, или джойстик отклонен. Причем джойстики, обычно, тоже дискретные. А в случае лабиринта, плоскость игрового поля наклоняется аналогично наклону джойстика. И если джойстик вернулся в вертикальное положение, то и поле тоже принимает горизонтальное положение.
slog2
03.11.2022 13:58Бывает механическое, без моторчиков управление автомобильными зеркалами от джойстика. Там 3 тросика передающих положение джойстика на зеркало. Это будет более похоже.
OldFashionedEngineer Автор
03.11.2022 14:01+1На старом ВАГе такое любили. В жигулях напрямую в зеркала палки-мешалки встраивали. Но забава этого устройства в другом.
Forvad
03.11.2022 14:22Осталось сделать изменяемый лабиринт ;0)
OldFashionedEngineer Автор
03.11.2022 14:23Можно распечатать несколько разных лабиринтов, и менять их
DvoiNic
03.11.2022 14:33+1не. чтоб прямо во время игры…
кстати, тоже интересная идея — автоматическая генерация лабиринтов, динамическое их «физическое» построение…
зы. я ж говорю — многоплановая штука.OldFashionedEngineer Автор
03.11.2022 14:42+1Ой, если так, то с механикой много возни будет. А я не любитель этого дела. По мне, чем меньше механики, тем лучше.
DvoiNic
03.11.2022 14:29+1офигенное учебное задание! Многоплановое. Многоуровневое.
OldFashionedEngineer Автор
03.11.2022 14:41Сложно было это все с протеусом совместить. Эта зараза не все хочет моделировать разом.
DvoiNic
03.11.2022 14:50Эта зараза не все хочет моделировать разом
странно. На первый взгляд ничего такого, что представляло бы ему сложность…
Но я про другое — тут и изучения принципа работы сервы, и изучения способов генерации сигналов для управления ей, и постепенное добавление, хм, «сервисов» — индикации выйгрыша, счета времени и т.д., затем реализация того же на МК, тоже последовательно. Ну и далее — затем «автоматическая игра по программе», вплоть до «камер и нейронки» и т.п.
Т.е. это в общем достаточно серьезный полугодовой (или даже больше) последовательный учебный проект, который «шевелится» (т.е. сразу видно, работает или нет. «быстрый результат»). Что немаловажно — модульный (ага, вы не любите модули, но тут они как раз будут «в тему»).OldFashionedEngineer Автор
03.11.2022 15:13Уровни технической абстракции мне хорошо знакомы. Расслоение задач для меня трудностей не вызывает. И схема действительно может быть реализована поэтапно. Сперва делается управление приводами, затем независимо индикация обратного отсчета. Потом обеспечивается связка этих двух процессов: индикация разрешает работу приводов. И так далее. Еще в процессе можно переводить логику в базисл 2И-НЕ, тоже занятная работа.
DvoiNic
03.11.2022 15:44Да, кстати, параллельное (или предварительное) моделирование (эмуляция) — тоже неплохой такой полновесный учебный курс.
OldFashionedEngineer Автор
03.11.2022 15:53Как практика показывает, сразу лезть в железо - сложно. Если сперва промоделировать схему, то потом собираешь железку с пониманием, что и где надо ожидать в схеме.
sunsexsurf
Кайф. Сразу же захотелось поусложнять: сверху ставим камеру, которая детектит шарик и простой алгоритм, который должен его загнать по лабиринту в центр.
OldFashionedEngineer Автор
Нейросеть обучить!
sunsexsurf
Это понятно. «Нейросеть обучить» - как-то очень обобщенно )) Она должна уметь управлять платформой в двух плоскостях, очевидно. То есть на выходе должно быть два нейрона. Ну или хз - пусть меня нейросетевики поправят. Короче, отличный проект на январские праздники.
OldFashionedEngineer Автор
Без нейросети можно обойтись. В машинном зрении часто используют светофильтры. Причем даже не стесняясь делают снимки под освещением разных цветов. Цветные лампы могут располагаться под разным углом. Это упрощает обработку и даже позволяет оценить рельеф. А дальше двигать шарик по правилу правой или левой руки.
sunsexsurf
Вообще, надо, похоже, попробовать ) как раз к январским праздникам можно собрать все компоненты и засесть )
OldFashionedEngineer Автор
Механика у лабиринта несложная. Нужно всего две сервы, ардуина и веб камера. И можно развлекаться сколько угодно.