Оглавление:
- Запасы
- Шаг 1: Соберите припасы
- Шаг 2: Подключение модуля NRF к Arduino
- Шаг 3. Приступим к кодированию
- Шаг 4: Примечание автора
Видео: Сделайте свой дрон управляемым за 10 долларов: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Это руководство представляет собой руководство по превращению вашего радиоуправляемого дрона в управляемый жестами дрон менее чем за 10 долларов!
Я человек, которого очень вдохновляют научно-фантастические фильмы, и я пытаюсь воплотить технологии, показанные в фильме, в реальной жизни. Этот проект вдохновлен двумя такими фильмами: «ЗВЕЗДНЫЕ ВОЙНЫ: Империя наносит ответный удар» и «Проектный альманах». В обоих фильмах вы видите летающий объект (X-wing Starship и R / C Drone), которым управляли просто движениями рук. Это вдохновило меня на создание чего-то похожего…
Очевидно, у меня нет X-wing, поэтому, к сожалению, мне приходится работать со своим Mini R / C Quadcopter.
Итак, план таков - на моем ноутбуке будет запущен скрипт обработки изображений, который будет постоянно искать мою руку и отслеживать ее положение в кадре видео. Как только он получит координаты руки, он отправит соответствующий сигнал на дрон, и это будет сделано с помощью Arduino, подключенного к ноутбуку, вместе с модулем приемопередатчика NRF24L01 2,4 ГГц, который может напрямую связываться с платой приемника любого Дрон с дистанционным управлением..
Запасы
- Ноутбук / настольный компьютер с веб-камерой и установленным Python. (Я использую свой ноутбук W indows со встроенной веб-камерой и использую Python 2.7.14)
- Любой дрон с дистанционным управлением, работающий на частоте 2,4 ГГц. (JJRC H36 в моем случае)
- Arduino UNO вместе с кабелем для программирования. (Я использую его клон, так как он дешевле)
- NRF24L01 2,4 ГГц антенный модуль беспроводного приемопередатчика. (Я купил это здесь всего за 99 рупий (1,38 доллара))
- Плата адаптера 3,3 В для беспроводного модуля 24L01. (Я купил это здесь всего за 49 (0,68 доллара))
- Провода перемычки между мужчинами и женщинами x7
Шаг 1: Соберите припасы
Шаг 2: Подключение модуля NRF к Arduino
Теперь, когда у вас есть все части, давайте приступим к подключению модуля NRF к Arduino.
- Сначала вставьте модуль NRF в слот адаптера. Вы можете обратиться к изображению выше.
-
После этого возьмите провода Male-Female и подключите адаптер NRF к Arduino следующим образом: (См. Схему выше)
- Вывод адаптера NRF - вывод Arduino
- VCC - 5 В
- GND - GND
- CE - цифровой контакт 5
- CSN - аналоговый контакт 1
- SCK - цифровой контакт 4
- MO - цифровой контакт 3
- MI - Аналоговый вывод 0
- IRQ - не используется
- После завершения подключения подключите Arduino к компьютеру с помощью USB-кабеля для программирования Arduino, и все почти готово.
Шаг 3. Приступим к кодированию
А теперь начинается самое сложное… !!!
Я не написал весь код сам. Вместо этого я взял части и фрагменты кода от разных разработчиков и объединил их все в один с небольшой настройкой. Следовательно, впереди даны должные кредиты всем оригинальным создателям.
Вы можете скачать все коды, прикрепленные здесь, и заставить их работать. Или вы можете перейти в мой репозиторий Github, где я буду постоянно обновлять последний код для лучшего отслеживания.
Отслеживание рук:
В этом проекте для отслеживания рук используется классификатор Haar Cascade. Каскад Хаара обучается путем наложения положительного изображения на набор отрицательных изображений. И эти обученные данные обычно хранятся в файлах «.xml». Вы можете получить файлы классификатора практически чего угодно в Интернете или даже создать свой собственный, подобный этому. В этом проекте, поскольку нам нужно было сделать его управляемым жестами рук, я использовал классификатор кулака с именем «closed_frontal_palm.xml», созданный Аравиндом Намбиссаном для обнаружения моей руки. Вы можете протестировать этот код, запустив код hand_live.py в моем репозитории.
Выбор кода NRF24 для соответствия вашему дрону:
Таким образом, в зависимости от производителя и модели вашего дрона, вы можете обратиться к репозиторию Github - «nrf24_cx10_pc», созданному Перри Цао, чтобы выбрать правильный код Arduino для запуска, который будет соответствовать его частоте. Он сделал хороший учебник по управлению своим CX10 Drone через ПК.
Поскольку я использовал дрон JJRC H36, я сослался на другой репозиторий Github - "nrf24_JJRC_H36_pc", который был форком репо Перри Цао, созданного Льюисом Корником для управления его JJRC H36 через ПК.
Подготовка Arduino:
Я раздвоил репозиторий Льюиса на свой Github, который вы можете клонировать, если работаете с одним и тем же дроном. Вам необходимо один раз загрузить код nRF24_multipro.ino на ваш Arduino Uno, чтобы он соединялся с вашим Drone каждый раз, когда мы запускаем наш скрипт Python.
Тестирование последовательной связи:
В том же репозитории вы также можете найти код «serial_test.py», который можно использовать для проверки последовательной связи скрипта Python с Arduino, и если ваш дрон будет сопряжен или нет. Не забудьте изменить COM-порт в коде в соответствии с COM-портом вашей платы Arduino.
Интеграция всего в один код:
Поэтому я интегрировал все эти коды разных разработчиков и создал свой собственный код handserial.py. Если вы делаете то же самое, что и я с тем же дроном, вы можете напрямую запустить этот код, а затем вы можете управлять своим дроном, просто двигая кулаком в воздухе. Код сначала отслеживает кулак в видеокадре. В зависимости от координаты Y кулака, код отправляет значение газа дрону, заставляя его двигаться вверх или вниз, и аналогично, в зависимости от координаты X кулака, код отправляет значение элерона дрону, заставляя его двигаться влево или вправо..
Шаг 4: Примечание автора
В связи с этим проектом я хотел бы особо отметить 4 момента:
- Как указывалось ранее, этот код не полностью создан мной, но я работаю над ним постоянно и буду обновлять код для лучшего отслеживания в моем репозитории Github. Поэтому для любых запросов или обновлений вы можете посетить репозиторий или написать мне в Instagram.
- В настоящее время мы используем веб-камеру ноутбука, которая не позволяет получить перспективу обзора дрона, но при необходимости камеры, установленные на дроне, также можно использовать для отслеживания. Это поможет лучше видеть и, в конечном итоге, лучше контролировать.
- Для этого проекта я использую дрон JJRC H36, который является одним из самых дешевых дронов, доступных на рынке, поэтому ему не хватает гироскопической устойчивости. По этой причине вы можете почувствовать, что движение на видео шаткое, но если вы используете дрон достойного качества с хорошей стабильностью, вы не столкнетесь с этой проблемой.
- Я хотел повозиться с компьютерным зрением и управлением дронами, поэтому начал с этого проекта. Но после работы над компьютерным зрением я чувствую, что это не оптимальное решение для управления дроном. Таким образом, я планирую сделать какое-то устройство перчаточного типа с гироскопическим датчиком для управления дроном в будущем. Так что следите за обновлениями…
Если вам понравился этот урок, поставьте лайк и поделитесь им, а также проголосуйте за него.
На этом пока все.. До скорой встречи в следующий раз …
Рекомендуемые:
Сделайте веб-радио менее чем за 15 долларов: 4 шага (с картинками)
Сделать веб-радио менее чем за 15 долларов: Итак, я решил сделать проект, который некоторое время откладывал: самодельное, полностью функциональное веб-радио, в комплекте с усилителем и динамиком, менее чем за 15 евро!. Вы можете поменять между предустановленными потоковыми радиостанциями одним нажатием кнопки и вы можете
Сделайте свой собственный куштоп (2 доллара вместо 40 долларов): 4 шага
Сделайте свою собственную кушетку (2 доллара вместо 40 долларов): легко сделать еще одну кушетку без каких-либо настоящих материалов
Сделайте свою собственную профессиональную машину для чистки пластинок менее чем за 80 долларов и сэкономьте до 3000 долларов и более .: 6 шагов (с изображениями)
Сделайте свою собственную профессиональную машину для чистки пластинок менее чем за 80 долларов и сэкономьте до 3000 долларов и больше. Простите за мой английский. После того, как я вернулся к звуку старого доброго винила, у меня возникла проблема, с которой сталкивается каждый поклонник пластинок. Как правильно почистить записи!? В Интернете есть много способов. Более дешевые способы, такие как Knosti или Discofilm, но также
Сделайте простой USB-микроскоп без линзы менее чем за 15 долларов: 3 шага
Сделайте простой USB-микроскоп без линз менее чем за 15 долларов: примечание: это мой первый инструктаж, так что извините, если что-то пошло не так. Здесь я научу вас, как сделать простой USB-микроскоп менее чем за 15 долларов
Сделайте свой собственный симпатичный фетровый чехол для EeePC / нетбука примерно за 8 долларов (и сэкономьте 91 доллар вместо покупки в Redmaloo): 5 шагов (с изображениями)
Сделайте свой собственный красивый фетровый чехол для EeePC / нетбука примерно за 8 долларов (и сэкономьте 91 доллар вместо покупки в Redmaloo): это руководство покажет вам, как сделать свой собственный, очень красивый и хорошо выглядящий ноутбук или даже лучший чехол для нетбука. Он сохранит ваш нетбук, подарит вам коврик для мыши, ощущение использования чего-то уникального, красивого и сделанного вручную, а также приятное ощущение