Компьютерное зрение и Arduino

В этом видео мы объединим Arduino с компьютерным зрением. За буквально 15 минут мы получим управление светодиодной лентой при помощи жестов вашей руки. Сделаем так чтобы один палец управлял яркостью ленты, два – цветом, ну а другие жесты – всем, что вам придет в голову. 

В работе будем использовать библиотеки OpenCV и Mediapipe.

Схема и использованные компоненты в видео

Минимальный вариант

  • Arduino Uno 1 шт.

    Вы можете взять любой другой микроконтроллер или платформу - например, Arduino (UNO, Nano, Micro и т.д.)

  • Адресная лента WS2812B 1 шт.
  • Веб-камера 1 шт.

    Можно взять любую, даже использовать камеру телефона

Если используете длинную ленту, не забудьте о дополнительном питании 5В

Исходники программ для Arduino и PyCharm

Программа управления яркостью и цветом адресной ленты жестами руки

Код виртуальной клавиатуры из видео

Для этой программы потребуются доп. библиотеки: cvzone (!! обязательно версия 1.4.1), time, numpy, pynput – устанавливаются так же, как opencv и другие (см. ниже)

Установка необходимых программ

PyCharm

Перейдя на сайт разработчика, выберите версию Community

Внешний вид среды разработки

Arduino IDE

При создании этого видео использовалась Arduino IDE версии 1.8.13

Внешний вид среды разработки

Python 3.9

При создании этого видео использовался Python версии 3.9

Пример программы на Python 3

Библиотека FastLED для Arduino

После установки библиотеки, в меню Arduino IDE Файл -> Примеры -> Название библиотеки вы можете найти примеры использования этой библиотеки. Также эти примеры хранятся в архиве библиотеки: папка libraries -> Имя библиотеки -> Example

Для скачивания нажмите Code -> Download ZIP

установка в Arduino IDE

В меню Arduino IDE выберите Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку… и выберите скачанный вами архив с библиотекой.

установка вручную

Распакуйте скачанный вами архив с библиотекой. Найдите папку libreries в архиве и в ней папку с названием библиотеки. Перенесите эту папку по следующему пути: Мои документы -> Arduino -> libreries

Библиотеки mediapipe, opencv и serial в PyCharm

Шаг 1

В верхнем меню выберите: File -> Settings -> Project -> Python Interpreter и нажмите значок “+”

Шаг 2

Вводите поочередно три библиотеки и нажимайте Install Package:
  • opencv-python
  • mediapipe
  • pyserial

Для тех, кто впервые будет работать с Arduino

ШАГ 0: Изучите азы электроники

ШАГ 1: Познакомьтесь с Arduino и выберите плату

Ок, я купил плату Arduino, что дальше?

ШАГ 2: Установите среду разработки и драйвера

ШАГ 3: Потренируйтесь на первой программе

Теперь вы готовы создавать свои проекты!

Нашлись ошибки? Пишите!