blebot-photo3

BLE Bot 9000

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

* Arduino 101 & Genuino 101

* Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit – v2.3

* SparkFun Multi-Chassis – 4WD Kit (Basic)

* Jumper wires (basic)

* Adafruit 6 x AA battery holder with 5.5 mm/2.1 mm plug

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

* Arduino IDE

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

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

Аппаратные средства

Используемой роботизированной платформой была платформа 4×4 от Sparkfun. Она довольно прочная (алюминиевой рамой) и имеет множество точек крепления для дополнительных датчиков.

Шаги:

1) Комплект требует простой сборки, следуйте прилагаемой инструкции по сборке со следующими изменениями:

— Установите Arduino 101 на стойках (не входят в комплект) в верхнюю пластину, прежде чем прикрепить верхнюю пластину к нижнему шасси (шаг 3).

2) Щит Adafruit Motor v2.3 также требует сборки. Подробные инструкции можно найти здесь: https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers.

Если вы никогда ничего не спаивали, прежде чем вы будете продолжать работу, лучше потренируйтесь на чём-то. Это будет только на пользу, поскольку с паянием головок нужно будет повозиться.

3) Прикрепите собранный моторный щиток к верхней части Arduino 101.

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

5) Используйте пару проводов-перемычек для подключения к аккумуляторной батарее, входящей в комплект робота, к клеммной колодке входного напряжения на щитке двигателя:

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

7) Подключите второй батарейный блок к задней части робота с полосой на липучке:

Робот должен теперь быть полностью построен! Убедитесь, что обе банки батареи отключены, чтобы они не истощили силы.

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

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

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

Johnny-five имеет много полезных библиотек, включая Firmata, и конфигурации для Adafruit Motorshield, которые мы используем.

Для подключения клиента и сервера Firmata мы используем bl-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, вам сначала нужно скачать и установить IDE Arduino: https://www.arduino.cc/en/Main/Software

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

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

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

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

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

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

Загрузка клиента Firmata

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

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

3) Откройте терминал, перейдите в папку проекта и установите следующие модули NPM:

npm install johnny-five

npm install keypress

npm install ble-serial

4) Загрузите управляющий код в github и убедитесь, что control.js находится в папке вашего проекта. Вы можете клонировать репо, если хотите, но шансы обновлений достаточно малы …

Запуск кода

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

node control.js

Если все работает, вы получите сообщение, похожее на:

1476382259569 Connected [object Object]

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

Схема

  

 

 

(Пока оценок нет)
Загрузка...