Оглавление:

Инспектор Roomba: 6 шагов (с изображениями)
Инспектор Roomba: 6 шагов (с изображениями)

Видео: Инспектор Roomba: 6 шагов (с изображениями)

Видео: Инспектор Roomba: 6 шагов (с изображениями)
Видео: Кто-то: Зачем тебе автокликер? Я: #мем #brawlstars #пабло 2024, Ноябрь
Anonim
Image
Image
Подключение электронных компонентов
Подключение электронных компонентов

Большинство из нас используют роботов iRobot Roomba только для уборки пылесосом, но немногие знают, что это отличная база для новых робототехнических проектов. Всем производителям следует попробовать открытый интерфейс Roomba (OI), чтобы узнать, насколько легко управлять этим роботом. Из этой инструкции вы узнаете, как добавить некоторые полезные функции к вашему Roomba. Вначале я опишу, как удаленно управлять Roomba через Bluetooth и приложение для Android. Позже я покажу вам, как запускать потоковое видео на основе RPi, и, наконец, обрисую план дальнейшего развития этого проекта.

Детали, необходимые для этого проекта:

  1. Модуль Bluetooth BTM-222 или другой, работающий на скорости 115200 бод x1
  2. Понижающий регулятор напряжения 5В D24V6F5 x1
  3. мини-макет x1
  4. Несколько проводов

версия с кожухом:

  1. 8-контактный разъем mini DIN x1
  2. выключатель питания x1
  3. светодиод 3 мм x1
  4. резистор 10к х1
  5. малый корпус 50x40x20 мм x1

Расширенная версия:

  1. Raspberry Pi 3 x1
  2. Медный радиатор RPi x1
  3. USB-адаптер WiFi x1
  4. карта micro SD 8 ГБ или больше x1
  5. Камера RPi - линза «рыбий глаз» x1
  6. Чехол для RPi x1
  7. Аккумулятор большой емкости 5 В (минимум 10 Ач) x1
  8. Кусок пластикового кронштейна x1
  9. Гайки и болты M2 x4

Шаг 1: Подключение электронных компонентов

Подключение электронных компонентов
Подключение электронных компонентов
Подключение электронных компонентов
Подключение электронных компонентов
Подключение электронных компонентов
Подключение электронных компонентов

На этот раз этот шаг очень прост, потому что нам нужно подключить только два модуля, чтобы иметь возможность управлять нашим Roomba. Первый - это модуль Bluetooth, который может работать на скорости 115200 бит / с. Второй - понижающий стабилизатор напряжения 5В D24V6F5. Заряженный аккумулятор Roomba имеет напряжение около 14,4 В, а нашему модулю Bluetooth требуется 5 В, поэтому нам нужно снизить напряжение аккумулятора до уровня 5 В с помощью регулятора напряжения. Регулятор D24V6F5 имеет КПД от 80 до 90%, что является очень хорошим значением по сравнению с классическими линейными регуляторами, которые обычно имеют КПД ниже 40%. Самый простой способ соединить эти два модуля - поместить их в миниатюрную макетную плату и выполнить разводку в соответствии со схемой подключения, указанной выше. Кроме того, все подключения показаны на пронумерованных фотографиях. Будьте осторожны при подключении к клеммам аккумулятора. Случайное короткое замыкание может повредить аккумулятор!

Шаг 2. Использование приложения Android Control

Image
Image
Использование приложения Android Control
Использование приложения Android Control
Использование приложения Android Control
Использование приложения Android Control
Использование приложения Android Control
Использование приложения Android Control

Я разработал приложение для Android, которое позволяет вам управлять роботом-пылесосом Roomba серии 500 через Bluetooth. Вы можете бесплатно скачать мое приложение в Google Play - Roomb Control. Работает как со смартфонами, так и с планшетами.

Как использовать приложение Roomb Control:

  • коснитесь правого верхнего угла экрана (3 точки по вертикали)
  • выберите вкладку «Подключить»
  • нажмите на вкладку «BTM222», и через некоторое время вы должны увидеть сообщение «Connected to BTM222»
  • после подключения вы можете управлять роботом Roomba
  • если вы не видите свое устройство Bluetooth, нажмите кнопку «Поиск устройств»
  • при первом использовании модуля Bluetooth не забудьте подключить его к смартфону, введя код по умолчанию, указанный в спецификации модуля Bluetooth.

Шаг 3. Открытый интерфейс Roomba в примерах

На этом этапе вы найдете примеры общих команд, используемых для управления Roomba серии 500. Вы можете найти дополнительную информацию об открытом интерфейсе Roomba в этом документе.

Roomba 500+ может работать в одном из четырех режимов:

  • Полный режим дает вам полный контроль над Roomba (без ограничений безопасности, как в безопасном и пассивном режимах).
  • В безопасном режиме вводятся некоторые связанные с безопасностью исключения, когда вы не можете управлять всеми приводами:

    • обнаружение падения колеса
    • обнаружение обрыва при движении вперед или назад
    • зарядное устройство подключено и запитано
  • Пассивный режим позволяет запрашивать и получать данные датчиков, но в этом режиме вы не можете управлять исполнительными механизмами Roomba (двигателями, освещением, динамиком).
  • Режим выключения при первом включении питания или после замены батареи (ожидание команды пуска)

Безопасный и полнофункциональный режим работы - это безопасный режим, который является предпочтительным для удаленного управления. Чтобы запустить безопасный режим, сначала нужно отправить команду 128, которая запускает открытый интерфейс, а затем команду 130 (или 131), чтобы перевести Roomba в безопасный режим. Если мы хотим запустить один из встроенных режимов очистки (clean, spot, dock и т. Д.), Мы должны отправить третью команду с соответствующим кодом (Clean-135, Spot-134, Dock-143). Полная последовательная последовательность для этих режимов следующая:

  • Установить безопасный режим - (128, 130)
  • Место - (128, 130, 134)
  • Чистый - (128, 130, 135)
  • Док - (128, 130, 143)

Если Roomba находится в безопасном режиме, мы можем управлять ведущими колесами Roomba с помощью команды 137. Полная последовательность из 5 байтов выглядит следующим образом: (137, старший байт скорости, младший байт скорости, старший байт радиуса, младший байт радиуса). Примеры последовательной последовательности для управления движением Roomba:

  • Вперед - (137, 100, 0, 128, 0)
  • Вернуться - (137, 254, 12, 128, 0)
  • Поверните направо - (137, 100, 0, 255, 255)
  • Поверните налево - (137, 100, 0, 0, 1)

В качестве альтернативы для управления движением робота мы можем использовать команду 146. Эта команда позволяет нам управлять ШИМ (широтно-импульсной модуляцией) для правого и левого колеса: (146, старший байт правого ШИМ, младший байт правого ШИМ, старший байт левого ШИМ, левый ШИМ младший байт). Пример управления ШИМ:

  • Перемещение вверх вправо - (146, 0, 130, 0, 255)
  • Перемещение вверху влево - (146, 0, 255, 0, 130)

Команда 139 управляет цветами светодиодов. Мы можем изменить цвет светодиода очистки / питания, установив значение байта цвета в последовательной последовательности: (139, светодиодные биты, цвет, интенсивность). Если байт цвета установлен в 0, мы получаем зеленый цвет. Увеличивая это значение, мы получаем промежуточные цвета (оранжевый, желтый и т.д.) и красный цвет для максимального значения 255. Примеры управления светодиодами:

  • зеленый - (139, 0, 0, 128)
  • оранжевый - (139, 0, 128, 128)
  • красный - (139, 0, 255, 128)

Последняя команда, которую я хотел бы упомянуть, - это команда 140, которая позволяет вам проигрывать простые песни. Примеры серийных последовательностей для воспроизведения песен:

  • песня 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
  • песня 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)

Шаг 4. Удаленная веб-камера RPi

Удаленная веб-камера RPi
Удаленная веб-камера RPi

Чтобы иметь возможность просматривать потоковое видео с камеры на любых устройствах, подключенных к моей локальной сети (ПК, смартфон, планшет и т. Д.), Я установил сервер веб-камеры Motion. Вы можете найти подробную информацию о том, как это сделать, в этой инструкции. Основные шаги следующие:

  1. Изменить: sudo nano / etc / modules - добавить в конец файла: bcm2835-v4l2
  2. Установить движение: sudo apt-get install motion
  3. Откройте файл motion.conf, набрав: sudo nano /etc/motion/motion.conf и установите параметры видео (например: демон включен, ширина 640, высота 480, частота кадров 30, webcam_localhost выключен)
  4. Включите демон (службу): sudo nano / etc / default / motion и найдите и измените start_motion_daemon = yes.
  5. Запустить службу: sudo service motion start или sudo motion -n -c /etc/motion/motion.conf
  6. Теперь откройте веб-браузер на своем компьютере или смартфоне и введите: RPi IP: 8081 (где «RPi IP» - это IP-адрес вашего Raspberry Pi, а 8081 - порт по умолчанию). Пример: 192.168.1.14:8081. Если через некоторое время все работает нормально, вы должны увидеть изображение с камеры в своем веб-браузере.

Шаг 5: планы дальнейшего развития

Планы дальнейшего развития
Планы дальнейшего развития
Планы дальнейшего развития
Планы дальнейшего развития
Планы дальнейшего развития
Планы дальнейшего развития
Планы дальнейшего развития
Планы дальнейшего развития

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

Если вы хотите увидеть другие мои проекты, связанные с робототехникой, посетите:

  • мой сайт: www.mobilerobots.pl
  • facebook: мобильные роботы

Шаг 6: Подключение электронных частей - Версия 2 с корпусом

Подключение электронных частей - Версия 2 с корпусом
Подключение электронных частей - Версия 2 с корпусом
Подключение электронных частей - Версия 2 с корпусом
Подключение электронных частей - Версия 2 с корпусом
Подключение электронных частей - Версия 2 с корпусом
Подключение электронных частей - Версия 2 с корпусом

Если вы хотите создать собственный съемный приемник для управления Roomba, этот дополнительный шаг для вас. Добавим еще несколько элементов и закроем их все тонким корпусом. Основным компонентом, который нам понадобится на этом этапе, является 8-контактный разъем mini DIN. Вдобавок нам потребуются выключатель питания и индикатор на основе светодиода и резистора 10k.

Теперь вам не нужно беспокоиться о торчащих проводах. Приемник bluetooth заключен в небольшой корпус размером 50x40x20 мм. Если вы не хотите его использовать, вы можете легко снять его с Roomba, потянув за штекер mini DIN.

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