Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Лазерные танки Leap Motion!

Компоненты и расходные материалы

Инфракрасный светодиод
× 1
Инфракрасный приемник
× 1
Arduino UNO
× 1
Raspberry Pi 2, модель B
× 1
Модуль RF24
× 1
LED-RGB-Common Cathode
× 1
Драйвер двигателя на интегральной схеме L293D
× 1
Макет (общий)
× 1
Перемычки (общие)
× 1
Держатель батареи
× 1
Батарейки AA
Никель-металл-гидридные аккумуляторные батареи
× 1
Кубики Lego
× 1
Металл для шарнирного литья - 3/8 "
× 1
Контроллер движения Leap
× 1

Об этом проекте

Целью этого проекта было создание набора роботизированных танков для ведения боя, где операторы получили более реалистичное ощущение управления транспортными средствами с помощью контроллера Leap Motion. Я хотел создать танки-роботы недорого, чтобы люди могли максимально легко воспроизвести проект.

Корпус резервуара сделан из обычных кирпичей и пластин Lego. Источником питания является простой блок из 4-х аккумуляторных батареек АА. Контроллер для бака - Arduino Uno R3. «Пропульсивная установка» - это два простых двигателя постоянного тока с колесами сзади и одним колесиком спереди с использованием одной интегральной схемы L293D. «Вооружение» - это одиночный инфракрасный светодиод, а «броня» - это набор инфракрасных датчиков, которые обнаруживают попадания из противостоящих танков. «Индикация на лобовом стекле» представляет собой разноцветный светодиод, сообщающий вам обо всех действиях, происходящих на танке, включая состояние вашей брони. Наконец, «управление» резервуаром осуществляется по беспроводной сети через Raspberry Pi 2, на котором работает NodeJS, подключенный через беспроводной модуль RF24, которым также оснащен каждый резервуар.

Используя руки оператора, Leap Motion управляет танком с помощью Javascript SDK Leap Motion. Используя SDK для обнаружения движения руки, javascript взаимодействует с сервером NodeJS на Raspberry PI 2, который, в свою очередь, связывается с резервуаром через модуль RF24. Обе руки вперед, танк движется вперед. Обе руки назад, танк движется назад. Левая рука вперед, правая назад, танк поворачивается вправо. Правая рука вперед, левая рука назад, танк поворачивается влево. Обе руки в нейтральном положении остановят танк. Одна рука вперед (влево или вправо) при опускании другой руки «стреляет» из орудия танка.

Вот быстрая демонстрация оружия, брони и хедз-ап дисплея танков.



Лазерные танки, использующие всенаправленную продвинутую броню и картонные коробки в качестве укрытия, превращаются в игру, в которой нужно искать и уклоняться.



Этапы настройки проекта:

1) Соберите резервуары и подключите их, используя схему ниже. Загрузите необходимые библиотеки Arduin (см. README в репозитории github), скомпилируйте и загрузите эскиз Arduino для tank1 в один резервуар и tank2 в другой резервуар.

2) Подключите трансивер RF24 к Raspberry Pi. Установите Raspbian OS и узел JS на Pi.

3) Загрузите, настройте и соберите (см. README в репозитории github) библиотеку RF24 на Pi.

4) Загрузите программное обеспечение сервера NodeJS с сайта github, настройте и запустите сервер приложений / веб-сервер (см. README в githubrepository).

5) Установите Leap Motion и драйверы на свой компьютер. Откройте браузер и загрузите URL-адрес на Raspberry Pi Rest / Web-сервер, чтобы загрузить веб-страницу (см. README в репозитории github) для управления tank one или tanktwo.

6) Нажмите кнопку калибровки и удерживайте руки над движением прыжка, чтобы он обнаружил две руки и узнал ваше нейтральное положение. После завершения калибровки вы можете управлять резервуаром руками.

Краткое примечание о шасси танка:

Корпус танка собран из простых лего, которые были «гориллами приклеены» к частям (двигателям, макетам и т. Д.) Танка, чтобы удерживать их вместе. Вот слайд-шоу, чтобы показать, как это было сделано.

Краткое примечание об инфракрасных светодиодах:

Инфракрасные пульты дистанционного управления очень функциональны, когда вы хотите сидеть на диване, на полу или на стуле и иметь возможность переключать канал на телевизоре из любого места. Инфракрасные светодиоды созданы для того, чтобы луч света проходил во многих направлениях, чтобы улучшить покрытие. Но если вы хотите, чтобы луч светодиода был меньше, чтобы затруднить попадание в удаленный датчик (как в игре о танковом сражении), это немного сложнее. Читая, я обнаружил, что, используя очень простую линзу с увеличительным стеклом на конце трубки, вы можете сфокусировать инфракрасный луч. Вот диаграмма, показывающая, о чем я говорю:

В итоге я купил в аптеке очень недорогое карманное увеличительное стекло, вынул из него линзу и соорудил вокруг нее трубку, а на другом конце трубки поставил инфракрасный светодиод, и это отлично сработало для сужения луча луча. ИК-светодиод, если быть точнее.


Краткое примечание об инфракрасных датчиках на 360 градусов

Инфракрасный датчик может обнаруживать сигналы от инфракрасного светодиода, когда этот светодиод находится прямо перед ним или находится в фокусе около 90 градусов. Если за датчиком находится инфракрасный светодиод, он не сможет обнаружить отправленный сигнал.

Чтобы достичь полного угла обнаружения в 360 градусов, вам нужно было либо модифицировать инфракрасную библиотеку для обнаружения сигналов на 4 разных выводах от 4 разных датчиков, либо создать аппаратное решение, которое позволяло соединять 4 датчика в гирляндную цепочку для отчета по одному штырь. Я нашел несколько онлайн-статей, в которых показано, как этого можно достичь с помощью простой И интегральной схемы для подключения 4 датчиков к одному входному контакту. Когда какой-либо из инфракрасных датчиков обнаруживал инфракрасный сигнал, он сообщал об этом на этом штыре. Это позволило получить 360-градусное обнаружение без необходимости изменять инфракрасную библиотеку или использовать 4 входных контакта.


Код

Лазерные танки на Github
Все файлы пользовательского кода для проекта Leap Motion Laser Tanks https://github.com/corky/LaserTanks

Схема

Используя инфракрасный светодиод, танк стреляет «кодами», которые другие танки идентифицируют как попадания. Используя один инфракрасный датчик, танк может обнаруживать инфракрасные сигналы, исходящие от противостоящих танков, и регистрировать их как хиты Используя 4 инфракрасных датчика, соединенных гирляндой вместе с простой интегральной схемой логического элемента И (74HCT21), резервуар может для определения инфракрасных сигналов от светодиода противостоящего танка как попаданий с 360 градусов вокруг него. Используя светодиодный индикатор RGB, Танк определяет свой текущий статус (сколько ударов он получил), изменяя цвет светодиода. Также танк меняет цвет светодиода на зеленый при каждом выстреле. Используя интегральную схему L293D и несколько простых двигателей постоянного тока, резервуар может двигаться вперед, назад и поворачиваться. влево или вправо. Используя простой и недорогой приемопередатчик RF24, танк может связываться и получать команды от оператора. Используя Raspberry Pi2, простой и недорогой приемопередатчик RF24, и Node JS, Оператор может связываться с каждый танк через вызовы REST API.

Производственный процесс

  1. Руководство по лазерной маркировке алюминия
  2. Руководство по лазерной маркировке
  3. Что такое маркировка волоконным лазером?
  4. Лазерная указка
  5. Полупроводниковый лазер
  6. Твердотельный лазер
  7. Самодельная инфракрасная система датчиков движения для Raspberry Pi
  8. Датчик движения с использованием Raspberry Pi
  9. MOSMusic
  10. Три основных компонента машины для лазерной маркировки