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

BLE Bot 9000

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

Arduino 101
× 1
Adafruit Motor / Stepper / Servo Shield для Arduino v2 Kit - v2 .3
× 1
Мульти-шасси SparkFun - комплект 4WD (базовый)
[Послы:Разновидность Tank Kit от Sparkfun была предоставлена ​​в качестве альтернативы этому модулю. Было установлено, что в них есть проблемы с питанием, связанные с включенным в них 5x AA. См. «Известные проблемы» для получения дополнительной информации. ]
× 1
Батарейный отсек Adafruit 6 x AA с вилкой 5,5 мм / 2,1 мм
[Послы:ИЗВЕСТНО, ЭТОГО ОТСУТСТВУЕТ в наборах. Блок батарей Intel USB может быть заменен на его место для питания Arduino 101.]
× 1
5 батарейных держателей AA
Входит в комплект робота.
× 1
Пакет компонентов
Содержит 4 стояка-стойки, пластиковые / черные винты, ~ 20 проводов, 3-дюймовую полосу на липучке, возможно несколько батареек AA.
× 1
Батарейки AA
× 11

Необходимые инструменты и машины

Паяльник (универсальный)
Припой (общий)
Отвертка Philips
Входит в комплекты Sparkfun Bot Kits

Приложения и онлайн-сервисы

IDE Arduino
Johnny-Five
Arduino Firmata

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

Уведомления:

Обновить 05.12.16, Дрю:нажмите Известные проблемы вправо и просмотрите их перед завершением сборки. Некоторые разновидности набора имеют известные проблемы и недостающие части. Мы постарались обозначить общие проблемы. Некоторые все еще решаются. Исправления будут добавлены в инструкции по мере их подтверждения. Сообщайте мне о любых дополнительных (@ReanimationXP) в #intel канал slack.hacksterlive.com . Спасибо!

Не взрывайте Arduino

У нас были сообщения о том, что некоторые собирали своего бота и оставляли перемычку VIN на месте на Motor Shield. Пожалуйста, найдите время, чтобы удалить его перед началом. Почему? См. Раздел Питание Arduino и Shield . ниже.

Введение

Этот проект демонстрирует, как использовать встроенный чип BLE на Arduino 101 для управления маленьким роботом 4x4 с вашего ноутбука. Когда ваш компьютер берет на себя управление от самой Arduino 101, вы открываете возможность использовать методы управления, интенсивно использующие процессор, такие как компьютерное зрение, автономное вождение и расширенные контуры обратной связи (PID).

Аппаратное обеспечение

Давайте начнем! С чем этот щенок? В качестве платформы для роботов использовалось многошасси 4x4 от Sparkfun. Он довольно прочный, с алюминиевым каркасом и имеет множество точек крепления дополнительных датчиков.

Шаги:

1) Комплект требует несложной сборки, но на это уходит время. Следуйте инструкциям по сборке, прилагаемым к вашему комплекту, со следующими отклонениями:

- Установите Arduino 101 на стойки (часть отдельного комплекта компонентов) на верхнюю пластину (крышку) перед тем, как прикрепить крышку к шасси робота. Если у вас нет стоек, просто изолируйте дно 101 как-нибудь и прикрепите его к крышке.

2) Adafruit Motor Shield v2.3 также потребует некоторой сборки, и под этим мы подразумеваем пайку. Штыри разъема необходимо припаять. Если вы получили женские разъемы со своим комплектом компонентов (например, на A101), используйте их и выбросьте обычные мужские. В противном случае используйте мужской вариант, входящий в комплект моторного щита. Вы можете найти подробные инструкции по пайке обоих типов здесь (прокрутите вниз до соответствующего раздела для типа штыря / штыря):https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

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

Шестиконтактный гнездовой заголовок рядом с логотипом Bluetooth должен быть последним. Это выглядит так: [:::] Вставьте пластиковую сторону в Arduino 101 так, чтобы она была полностью заподлицо, закрепите свой теперь полностью припаянный моторный щит сверху и позвольте вилке 6-контактной сетки проткнуть его. Нажмите на моторный щит, чтобы он полностью вошел в 101, затем припаяйте вилку 6-контактного разъема сетки.

3) Присоедините собранный моторный щит к верхней части Arduino 101, используя разъемы, которые вы припаяли.

4) Используйте перемычки (вилка-вилка) для подключения двигателей к выходным клеммным колодкам двигателя на щите двигателя, как показано ниже. Убедитесь, что вы подобрали правильные пары отрицательного и положительного проводов, и следуйте схеме подключения ниже. Примечание. желтые провода на схеме положительные . и красный на реальных моторах. Зеленые провода на схеме отрицательны , черный на реальных моторах.

5) Перед продолжением убедитесь, что перемычка VIN НЕ установлена. Используйте пару перемычек для подключения к 5-разрядному АА . батарейный блок, входящий в комплект робота, к клеммной колодке входа напряжения на моторном щите, соблюдая положительную (красный) и заземленную (черный) ориентацию, как показано на схеме ниже.

Примечание. Изображенный ниже держатель 2x AA является НЕ ТОЧНЫМ . в реальной жизни, и в вашем комплекте его не будет - используйте держатель 5x AA входит в комплект вашего робота. Некоторые комплекты также не содержат 4 мотора. В этом случае просто подключите соответствующие двигатели к M1 и M2, как показано на правой стороне платы и двух верхних двигателях.

6) Припаяйте цилиндрический домкрат к выводам, отходящим от второй аккумуляторной батареи. Убедитесь, что вы припаяли красный положительный провод к центральному (более короткому) разъему на цилиндрическом разъеме.

Примечание :Держатель для батареек 6x AA и его цилиндрическая заглушка ниже не были включены в первую поставку комплектов Ambassador. Вскоре мы добавим в эту поставку дополнительный держатель AA и, возможно, дополнительные компоненты. Завершите создание бота и перейдите к Обзор программного обеспечения . пока.

7) Прикрепите батарейный блок 6x AA к задней части робота с помощью ленты на липучке:

Присоедините заглушку ствола к Arduino 101, чтобы включить его. Еще раз убедитесь, что перемычка VIN не прикреплена.

Теперь робот должен быть полностью собран! Убедитесь, что оба блока батарей отключены, чтобы они не разряжали электроэнергию.

Обзор программного обеспечения

Система управления роботом состоит из двух основных частей программного обеспечения. Первый - это скетч сервера Firmata, который загружается в Arduino 101. Firmata позволяет вашему компьютеру получать доступ к контактам на Arduino - и, соответственно, связываться с моторным щитом, который управляет самими моторами. Firmata также обеспечивает двунаправленную связь, поэтому, если в будущем вы подключите датчик к своему роботу, вы сможете отправить данные датчика обратно на свой компьютер.

Вторая часть программного обеспечения - это клиент Firmata, который работает на вашем компьютере. Существует множество различных клиентов Firmata для разных языков, но в этом проекте мы будем использовать клиент Firmata, встроенный в Johnny-Five. Johnny-Five - это платформа робототехники и Интернета вещей для Arduino, построенная на Node.js. Более подробную информацию можно найти здесь:http://johnny-five.io/. Johnny-Five имеет множество полезных библиотек, включая Firmata и конфигурации для Adafruit Motorshield, которые мы используем.

Чтобы клиент и сервер Firmata могли подключиться, мы используем ble-serial и библиотеку node.js, написанную для открытия последовательного соединения через BLE с Arduino 101. https://github.com/monteslu/ble-serial

Наконец, чтобы читать команды с клавиатуры, мы будем использовать keypess, библиотеку node.js для чтения нажатий клавиш. https://github.com/TooTallNate/keypress

Загрузить эскиз Arduino

1) Чтобы загрузить скетч сервера Firmata на Arduino 101, вам сначала необходимо загрузить и установить Arduino IDE:https://www.arduino.cc/en/Main/Software

2) После того, как вы установили базовую IDE, вам нужно будет установить плату Arduino 101. В следующем руководстве рассматривается установка платы, а также базовое программирование, если вы не знакомы с Arduino, это хорошее место для начала:https://www.arduino.cc/en/Guide/Arduino101. Вкратце, вам необходимо установить пакет Intel Curie Boards через Boards Manager в среде IDE. Как только вы это сделаете, Arduino / Genuino 101 появится в подменю Board.

3) Подключите Arduino 101 к компьютеру через USB-кабель.

4) В среде Arduino IDE перейдите в Инструменты -> Плата и выберите Arduino / Genuino 101. Не видите? Вернитесь к шагу 2.

5) Перейдите в Инструменты -> порт и убедитесь, что вы выбрали правильный порт для вашей платы. Если вы не уверены, какой порт использовать, отключите Arduino и посмотрите, какой порт исчезнет из списка.

6) Установите пакет AdaFruit Motor Shield v2. Перейдите в «Скетч» -> «Включить библиотеку» -> «Управление библиотеками» и найдите «AdaFruit Motor Shield v2». Выберите его и нажмите кнопку «Установить».

6a) Если вы хотите протестировать своего бота, прошейте следующий файл .ino, чтобы проверить свои моторы. По умолчанию этот файл заставит вашего бота пойти вперед, назад, повернуть налево, затем повернуть направо . неоднократно. https://github.com/ReanimationXP/a101_motortest.

ПРИМЕЧАНИЕ! Будьте готовы к тому, что ваши колеса двинутся!

Если вы запустите программу a101_motortest для бота, колеса начнут двигаться, как только начнется выполнение скетча. Если вы хотите остановить колеса, вы можете либо вытащить USB-кабель (отключение питания Arduino), либо вытащить одну из батарей.

7) В среде Arduino IDE перейдите в Файл -> Примеры -> Firmata -> StandardFirmataBLE, чтобы загрузить скетч сервера Firmata BLE. Загрузите эскиз в Arduino 101, щелкнув стрелку загрузки в верхнем левом углу редактора.

Если скетч загружен успешно, последним сообщением в выходных данных должно быть «Скетч запускается через 5 секунд».

Установить Python 2.7.13

1) Вам понадобится Python 2.7.13, чтобы установить и скомпилировать пакет bluetooth-hci-socket Node.js.

2) Перейдите на https://www.python.org/downloads/. Загрузите Python 2.7.13 и установите его.

Загрузить клиент фирменных данных

1) Клиент Firmata будет работать на Node.js. Если он у вас не установлен, перейдите по следующей ссылке и следуйте инструкциям по установке:https://nodejs.org/en/

2) После установки Node.js создайте новую папку, в которой будет храниться ваш управляющий код.

3) Откройте командную строку Node.js и перейдите в папку своего проекта. Если вы собираетесь установить инструменты Windows на следующем шаге, запустите командную строку в режиме администратора.

4) Если вы используете Windows 10, вам необходимо установить инструменты Windows. Сделайте это с помощью следующей команды:

  npm install --global --production windows-build-tools  

5) Установите следующие модули NPM:

  npm install johnny-fivenpm install keypressnpm install ble-serial npm install bluetooth-hci-socket  

6) Загрузите управляющий код в github (https://github.com/martinkronberg/Firmata-BLE-Bot) и убедитесь, что control.js находится в папке вашего проекта. Вы можете клонировать репо, если хотите, но шансы на обновление довольно малы ...

Запустить код

Теперь мы готовы начать управлять роботом! Убедитесь, что оба батарейных блока подключены и из папки вашего проекта запущены:

  узел control.js  

Если все работает, вы получите сообщение, подобное следующему:

  1476382259569 Подключено [объект Object]  

Теперь, когда вы нажимаете «w», робот будет двигаться вперед, «s» - задним ходом, «a» и «d» будут поворачивать робота влево и вправо.

Вы можете получить сообщение типа «Не найдено совместимое устройство USB Bluetooth 4.0». Убедитесь, что ваш компьютер поддерживает Bluetooth и что Bluetooth включен.

Обратите внимание, что вы можете проверить диспетчер устройств в Windows, чтобы узнать, поддерживает ли ваш компьютер Bluetooth. Найдите поддерево под названием «Радиомодули Bluetooth».

Версия Blynk

Если Node и Firmata у вас не работают, вы можете вместо этого использовать библиотеку Blynk.cc. Он прост в использовании, кроссплатформенен, имеет интерфейсы для мобильных устройств.

1. Загрузите библиотеку Blynk.cc и установите ее на Arduino. Это можно сделать через диспетчер библиотек Arduino. Версия 0.4.7 на момент написания.

2. Загрузите и запрограммируйте следующий скетч на свой Arduino 101:

https://github.com/ReanimationXP/a101_blynk_base

3. Загрузите приложение Blynk. Создайте в приложении следующий интерфейс:

Известные проблемы

Отсутствующие детали: Держатель для 6 батареек AA и его 'Barrel Jack, Tank kit имеет только 2 мотора, а не 4.

Проблемы с питанием от комплекта бака: Похоже, что у комплекта бака Sparkfun есть недостаток - прилагаемый к нему держатель батареи недостаточно мощный, чтобы приводить в движение ленты бака. Решения состоят в том, чтобы либо удалить браслеты, либо заменить держатель батарей 5x AA на липо-батарею 2S (7,4 В) со значительным мАч (например, 750 мАч), и / или запитать 101 от одного из батарейных блоков Intel USB.

Кроме того, если кажется, что держатель батареи, поставляемый с корпусом Sparkfun, не работает, возможно, батареи установлены неправильно. Потяните их назад, надавливая вниз, и вы почувствуете, как они встали на место.

Проблемы с Bluetooth / BLE: У поддержки BLE минимальные требования. Компьютер должен поддерживать Bluetooth 4.0 или выше, с Windows 8.1 или выше, чтобы гарантировать поддержку BLE, разновидности Bluetooth с низким энергопотреблением. На некоторых компьютерах по-прежнему могут возникать проблемы в зависимости от стека драйверов и различий в оборудовании. Большинство смартфонов более совместимы с BLE. Мы планируем использовать платформу Blynk для управления 101, которая теперь включает поддержку BLE. Подробности будут опубликованы здесь, когда они станут доступны.

Нам также сказали, что часть BLE Arduino 101 очень нестабильна, если не работает должным образом. Убедитесь, что вы подключили достаточное питание к Arduino 101. Я бы посоветовал использовать мощный USB-источник питания 5 В, 2 А или около того, чтобы исключить проблемы с отключением питания.

Совместимость винтов с Arduino 101: Головки винтов из набора компонентов слишком велики для установки на 101. Исправление заключается в замене некоторых серебряных винтов из набора для роботов на их место, и, если возможно, наоборот. Вы также можете использовать квадраты на липучке, чтобы доска была надежно закреплена и изолирована, но легко снималась.

Библиотеки: Вам необходимо обновить библиотеку Firmata как минимум до 2.5.3 (версии ниже 2.5.3 не включают эскиз Firmate BLE)

Вот несколько ресурсов, которые сделают вашу жизнь проще во время встречи. Последние две ссылки требуют установки библиотеки Adafruit Motor Shield v2.

  • Это руководство по BLE Bot 9000:http://bit.ly/blebot1
  • Скрипт испытания двигателя постоянного тока Пита Хоффсвелла:http://bit.ly/blebot2
  • Управляемая телефоном робототехника BLE с Blynk:http://bit.ly/blebot3

Код

Элементы управления на сенсорном экране
Управляйте своим ботом с сенсорного экрана, используя экспресс-сервер! (Для более продвинутых хакеров.) Https://github.com/monofuel/blebot9000
Код управления роботом
Github с кодом для запуска робота https://github.com/martinkronberg/Firmata-BLE-Bot

Схема

PDF для сборки шасси

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

  1. Набор для тестирования глюкометра
  2. Набор игрушечной модели
  3. Комплект с открытым исходным кодом поддерживает профилактическое обслуживание
  4. Kit предоставляет платформу разработки mmWave
  5. Комплект разработчика упрощает сетевое взаимодействие BLE
  6. Руководство по подключению к стартовому набору Raspberry Pi 3
  7. Стартовый набор голограммы Nova
  8. Сборка робота MonkMakes Raspberry Pi
  9. Intellisaurus - робот-динозавр
  10. 8 вещей, которые нужно знать об ISO 9000