Arduino лазертаг

Пістолет для лазертагу

Лазертаг — це бойова гра на зразок пейнтболу чи страйкболу, але без болю, оскільки для стрільби використовуються не кульки з фарбою, а ІК-промінь.
Я працював над цим проєктом протягом досить тривалого часу, оскільки були деякі складнощі з додаванням більшої кількості гравців.

Ця стаття розповідає про те, як зробити свою зброю для лазертагу на основі стандартного світлового пістолета. Від них використовується тільки оптика та корпус. Якщо його у вас немає, ви можете створити його з нуля. В цій статті код описаний не дуже детально, але він повністю робочий (вихідні файли прикріплені). Є багато варіантів покращення цієї конструкції.

ІК-передавач

ІК-передавач складається з транзисторного підсилювача, потужного ІК-світлодіода та лінзи, яка слугує для створення направленого ІК-променя. Використовується для надсилання сигналу про влучення на датчики інших гравців. Передавач підсилює сигнал з Arduino і передає його за допомогою ІК-світлодіода через лінзу.

Блоки пістолета

Звук
Для відтворення звуку з міні-диктофона використовується п'єзо-елемент. Різноманітні звукові ефекти повідомляють про поразку супротивника, закінчення патронів, смерть.

Приймач
Для прийому ІК сигналу використовується стандартний ІК-приймач.
Один датчик кріпиться на пістолет і два на голову.

Візуальні ефекти
Для індикації ігрової інформації використовується лінійка світлодіодів.

Вам знадобиться:
Arduino
Світловий пістолет
Кольорові світлодіоди
ІК-датчики
ІК-світлодіоди, що відповідають ІК-датчикам.
Звичайні або MOSFET транзистори
Міні диктофон для запису звуків
Інші дрібні деталі

Модифікація світлового пістолета

Модифікація світлового пістолета

Деякі моменти можуть відрізнятися в залежності від моделі пістолета.

Модифікація світлового пістолета

В пістолеті необхідно залишити кнопки, світлодіоди та лінзу. Я намагався встановити Arduino всередині пістолета так, щоб його було легко витягти для інших проєктів. Arduino встановлений всередині додаткового відсіку, зробленого з пластику у вигляді магазину.

ІК-передавач

Схема ІК-передавача

Вам знадобляться потужні ІК-світлодіоди з діапазоном, відповідним вашому датчику.
Ви можете просто підключити ІК-світлодіод до Arduino, але при цьому дальність роботи буде дуже низькою. Щоб її збільшити, використовуйте підсилювач. Я зробив його на звичайному транзисторі, але ви можете використовувати MOSFET.
Ток через світлодіод: я подавав на ІК-світлодіод 300мА. Це більше, ніж його номінальний ток, але він це витримує, оскільки горить не постійно.
Необхідно використовувати лінзи для фокусування ІК-променя. Ви можете використовувати лінзи від світлового пістолета.

Приймач

Схема приймача

Приймачі використовуються для визначення влучення в персонажа. Використовуйте приймач, відповідний вашим ІК діодам. Більшість ІК-приймачів працюють подібним чином, і ви зможете підключити їх так, як я. Коли сигнал приймається, напруга знижується.
Приймачі можуть бути підключені безпосередньо до Arduino, але вони набагато більш надійні при використанні конденсаторів для гасіння перешкод і підтягувачів.

Звукові ефекти

Для простоти і економії я вирішив просто використовувати п'єзо-елемент, він хороший для більшості однотонних звуків, але на ньому складно зробити хороший звук пострілу.
Також для цих цілей можна використовувати музичну листівку.
Ви можете додати УМЗЧ для більш гучних ефектів.

Візуальні ефекти

Схема приймача

Для індикації життів і патронів можна використовувати світлодіоди або ЖК дисплей.
Я використовую світлодіоди, підключені до ШІМ виходів Arduino. Також для цих цілей можуть бути використані спеціалізовані мікросхеми.

Програма

Я не збираюся вдаватися в подробиці про роботу коду, оскільки він детально прокоментований.
Код працює таким чином, що коли людина веде вогонь, влучення в неї не будуть зараховані. В реальності це трапляється дуже рідко, оскільки ймовірність такого збігу дуже низька. З цим кодом було зіграно кілька ігор, і все було в порядку.

Завантажити скетч PDE

Оригінал статті англійською мовою (переклад Андрій Шпакунов для сайту cxem.net)

Оригінал статті

Прикріплені файли:
Top