Лазертаг это боевая игра вроде пейнтбола или страйкбола, но без боли, т.к. для стрельбы используются не шарики с краской, а ИК луч.
Я работал над этим проектом в течение довольно долгого времени, т.к. были некоторые сложности с добавлением большего числа игроков.
Эта статья рассказывает о том, как сделать своё оружие для лазертага на основе стандартного светового пистолета. От них используется лишь оптика и корпус. Если его у вас нет, вы можете создать его с нуля. В этой статье код описан не очень подробно, но он полностью рабочий (исходники прилагаются). Есть много вариантов улучшения этой конструкции.
ИК-передатчик
ИК-передатчик состоит из транзисторного усилителя, мощного ИК-светодиода и линзы, которая служит для создания направленного ИК-луча. Используется для посылания сигнала попадании на датчики других игроков. Передатчик усиливает сигнал с Arduino и передает его с помощью ИК-светодиода через линзу.
Звук
Для воспроизведения звука с мини-диктофона используется пьеза излучатель. Разнообразные звуковые эффекты сообщают о поражении противника, окончании патронов, смерти.
Приемник
Для приёма ИК сигнала используется стандартный ИК-приемник.
Один датчик крепится на пистолет и два на голову.
Визуальные эффекты
Для индикации игровой информации используется линейка светодиодов.
Вам понадобится:
Arduino
Световой пистолет
Цветные светодиоды
ИК-датчики
ИК-светодиоды соответствующие ИК-датчикам.
Обычные или MOSFET транзисторы
Мини диктофон для записи звуков
Другие мелкие детали
Модификация светового пистолета
Некоторые моменты могут отличатся в зависимости от модели пистолета.
В пистоле необходимо оставить кнопки, светодиоды и линзу. Я постарался установить Arduino внутри пистолета так, чтобы его было легко извлечь для других проектов. Arduino установлен внутри дополнительного отделения, сделанного из пластика в виде магазина.
ИК-передатчик
Вам понадобятся мощные ИК-светодиоды с диапазоном соответствующим вашему датчику.
Вы можете просто подключить ИК светодиод к Arduino, но при этом дальность работы будет очень низкой. Для того чтобы её увеличить, используйте усилитель. Я сделал его на обычном транзисторе, но вы можете использовать MOSFET.
Ток через светодиод: я подавал на ИК светодиод 300мА. Это больше, чем его номинальный ток, но он это выдерживает, т.к. горит не постоянно.
Необходимо использовать линзы для фокусировки ИК-луча. Вы можете использовать линзы от светового пистолета.
Приемник
Приемники используются для определения попадания в персонажа. Используйте приёмник соответствующий вашим ИК диодам. Большинство ИК-приемников работают похожим образом, и вы сможете подключить их как и я. Когда сигнал принимается, напряжение понижается.
Приемники могут быть подключен непосредственно к Arduino, но они гораздо более надежны при использовании конденсаторов для гашения помех и подтягивающих резисторов.
Звуковые эффекты
Для простоты и экономии я решил просто использовать пьеза излучатель, он хорош для большинства однотонных звуков, но на нем сложно сделать хороший звук выстрела.
Также для этих целее можно использовать музыкальную открытку
Вы можете добавить УМЗЧ для более громких эффектов.
Визуальные эффекты
Для индикации жизней и патронов можно использовать светодиоды или ЖК дисплей.
Я использую светодиоды подключенные к ШИМ выводам Arduino. Также для этих целей могут быть использованы специализированные микросхемы.
Программа
Я не собираюсь вдаваться в подробности о работе кода, т.к. он подробно прокомментирован.
Код работает таким образом, что когда человек ведёт огонь, попадания в него не будут засчитаны. В реальности это мешает очень редко, т.к. вероятность такого совпадения очень низка. С этим кодом было сыграно несколько игр и всё было в порядке.
Скачать скетч PDE
Оригинал статьи на английском языке (перевод Андрей Шпакунов )
Прикрепленные файлы:
- lasertag.rar (6 Кб)