Оглавление:

Игрушка-охотник за собаками, управляемая Arduino: 6 шагов
Игрушка-охотник за собаками, управляемая Arduino: 6 шагов

Видео: Игрушка-охотник за собаками, управляемая Arduino: 6 шагов

Видео: Игрушка-охотник за собаками, управляемая Arduino: 6 шагов
Видео: Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO 2024, Ноябрь
Anonim
Image
Image
Лазерная игрушка-охотник за собаками, управляемая Arduino
Лазерная игрушка-охотник за собаками, управляемая Arduino

Около двух лет назад я построил эту игрушку для своей собаки, в которой лазер управляется двумя сервоприводами, чтобы дать ему случайное движение, при котором лазерная точка ускользает, и он может преследовать ее. Лазер работал отлично, но во время моего недавнего переезда он был поврежден, поэтому в этой инструкции мы исправим его, и я объясню принципы работы.

Шаг 1: материалы

Материалы
Материалы
Материалы
Материалы
Материалы
Материалы

Проект состоит из 4 частей: платы Arduino, 2 микросервоприводов и лазерного модуля. Все они размещены в пластиковом контейнере от сметаны, где плата Arduino приклеена ко дну, а сервоприводы и лазер - вверху.

Ниже приведен список ссылок для покупки, по которым вы можете получить то, что вам нужно:

  • Плата Arduino:

    www.banggood.com/custlink/vKGvhaBTl3

  • Мини-сервоприводы 9 г:

    www.banggood.com/custlink/v33GdlgfaE

  • Модуль лазерного диода:

    s.click.aliexpress.com/e/crrJMQgs

Шаг 2: Строительство

Строительство
Строительство
Строительство
Строительство
Строительство
Строительство

Раньше я приклеивал сервоприводы к крышке горячим клеем, но он не выдержал. Чтобы исправить это, я воспользуюсь двусторонним скотчем из вспененного материала, так как он оказался очень прочным в том месте, где я его использовал. Выравнивание крышки не так критично, ее всегда можно отрегулировать вращением.

Другой сервопривод прикреплен непосредственно к первому, поэтому они могут вместе перемещать лазер в двух направлениях. Первый перемещает его влево и вправо, а второй - вверх и вниз. Лазерный модуль прикреплен к рычагу второго сервопривода горячим клеем, который, кажется, все еще держится.

Шаг 3: Подключение

Проводка
Проводка
Проводка
Проводка
Проводка
Проводка
Проводка
Проводка

Электропроводка в проекте относительно проста. Серводвигатели имеют три провода: питание, заземление и сигнал. Провод питания обычно красного цвета и должен быть подключен к выводу 5V на плате Arduino. Заземляющий провод обычно бывает черного или коричневого цвета и должен быть подключен к контакту заземления на плате Arduino. Сигнальный контакт обычно желтого, оранжевого или белого цвета и должен быть подключен к цифровому контакту на плате Arduino. В нашем случае мы используем цифровые контакты 9 и 11. Обратите внимание, что сервоприводы потребляют значительную мощность, поэтому, если вам нужно управлять более чем одним или двумя, вам, вероятно, потребуется запитать их от отдельного источника, а не от контакта + 5V на вашем Ардуино.

Лазерный модуль имеет три контакта, но используются только два из них. То, что слева - это положительное соединение, обычно обозначается буквой S в верхнем регистре, а отрицательное соединение находится справа и отмечено минусом. Ссылку на полную схему вы можете получить в описании видео.

Полная схема доступна на EasyEda:

easyeda.com/bkolicoski/Arduino-Laser-Toy

Шаг 4: Принципы работы

Принцип работы
Принцип работы
Принцип работы
Принцип работы

Теперь, когда ремонт закончен, давайте посмотрим на код и на то, как работает это устройство. Типичный микросерво 9g имеет поворот на 180 градусов и управляется ШИМ-сигналом. Этот сигнал генерируется Arduino с помощью библиотеки Servo. Библиотека предоставляет удобный метод, называемый «записью», который записывает значение в сервопривод, соответственно управляя валом. На стандартном сервоприводе это задает угол вала (в градусах), перемещая вал в эту ориентацию.

В нашем случае мы хотим ограничить это движение максимумом от 50 до 70 градусов в каждом направлении, чтобы область, по которой бежит собака, была не слишком большой, чтобы она не устала слишком быстро. Кроме того, я использовал эти ограничения, чтобы установить периметр лазера, чтобы он не выходил за пределы области, в которой моя собака должна двигаться. Они устанавливаются в начале скетча вместе с определениями для двух сервоприводов и переменных, которые мы будем использовать для их положения.

Шаг 5: Код Arduino

Код Arduino
Код Arduino
Код Arduino
Код Arduino

В функции настройки мы сначала инициализируем сервоприводы и подключаем их к правильным контактам на Arduino. Это скажет библиотеке вывести сигнал ШИМ на этот вывод. Затем мы записываем начальную позицию для обоих сервоприводов, и чтобы мы могли правильно разместить игрушку, я добавил код, который будет перемещать сервоприводы по круговой схеме 3 раза по краям установленного предела. Таким образом вы сможете увидеть, куда движется точка, и соответствующим образом отрегулировать размещение игрушки.

В функции цикла мы сначала генерируем два числа, представляющих следующие углы двух сервоприводов, и предоставляем пределы, которые мы ранее установили. Случайная функция в Arduino может принимать минимальное и максимальное значение, которое ей необходимо сгенерировать. Эти значения затем отправляются на сервоприводы по одному с задержкой в полсекунды.

Полный код можно найти на моей странице GitHub:

github.com/bkolicoski/LaserToy

Шаг 6: Наслаждайтесь

Наслаждаться!
Наслаждаться!
Наслаждаться!
Наслаждаться!

Я надеюсь, что это руководство было познавательным и интересным, поэтому предлагаю подписаться на меня и не забывать подписываться на мой канал на YouTube.

Рекомендуемые: