Теперь в нашем онлайн-магазине доступна уникальная книга «BEAM-робототехника. От азов до создания практических устройств», идеально подходящая как для кружков робототехники, так и для самообучения дома. Вы можете приобрести её по привлекательной цене в 699 рублей. Дополнительная информация о книге доступна на нашем сайте. Также в ассортименте нашего онлайн-магазина представлены готовые наборы для сборки роботов, с помощью которых ваш ребенок сможет легко собрать своего первого робота, следуя нашим подробным инструкциям. Перейти в магазин


Главная » 2013 » Декабрь » 9 » BTCA2A - управление Arduino по Bluetooth при помощи Android
23:01
BTCA2A - управление Arduino по Bluetooth при помощи Android

Хочешь собрать робота но не знаешь где достать все необходимые детали?

Закажи набор для сборки робота у нас! Мы подготовим для тебя специальный комплект, который будет включать в себя все необходимые радио-детали, датчики, моторчики, и печатные платы.

Чтобы заказать набор перейди в наш магазин и выбери наборы, которые тебе интересны


Перейти в магазин


ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ

BTCA2A - это библиотека для Arduino. Данная библиотека написана под приложение BT Controller для Android.
Применяя библиотеку BTCA2A совместно с приложением BT Controller, можно управлять Arduino, используя смартфон или планшет в качестве Bluetooth контроллера. Библиотека BTCA2A поддерживает более двухсот команд. Что даёт вам возможность управлять Ардуино, используя свои контроллеры созданные в приложении BT Controller.



В статье рассматривается: создание приложения в Android; написание программы взаимодействия Android - Arduino. Если вы не желаете использовать платное приложение или хотите опробовать работу библиотеки. Специально для Вас существует библиотека BTCA2ALite, написанная под бесплатное приложение BT Controller Lite. Подробное описание и инструкция тут http://robocontroller.ru/news/2013-11-05-35

$CUT$
 

***

 


 1.ВИДЕОТЕСТЫ.

На видео.1-2 показано показано управление роботом через Bluetooth с помощью планшета.

 

 

 


Видеофрагмент 1

 

 




Видеофрагмент 2

 

 

 


Работа с библиотекой BTCA2A:

2. Подготовка Bluetooth модуля для работы с библиотекой BTCA2A:

Для нормальной работы библиотеки BTCA2A, скорость последовательной передачи данных установлена на 115200bps. По этому, вам нужно изменить скорость вашего блютуз модуля. Сделать это не сложно. Просто следуйте инструкции и у вас всё получится. Далее в тексте Bluetooth модуль будет указываться как БТ.

2.1. Скачайте скетч для изменения скорости Bluetooth модуля. BT_AT_Setup_SoftwareSerial
Если у вас Arduino Mega то скачайте вот этот скетч BT_AT_Setup_Mega

2.2. В скетче укажите пины, к которым будет подключен БТ. Если у вас Arduino Mega подключите БТ к пинам Serial1.

2.3. Загрузите скетч на ардуино. Откройте монитор портов в Arduino IDE.

2.4. Проверьте, отвечает ли ваш БТ, отправьте команду AT (латинскими буквами). Вы должны получить ответ OK. Если ответ не пришел, убедитесь в следующем: ваш БТ подключен к нужным пинам, его скорость совпадает со скоростью указанной в инициализации портов в скетче. В некоторых случаях нужно отключить провод массы от БТ, затем подключить его снова и нажать кнопку перезагрузки платы ардуино.

2.5. Если вы получили ответ OK, отправьте команду AT+BAUD8. Вы должны получить ответ OK115200. Скорость вашего БТ изменена.

3. Пример работы библиотеки BTCA2A:

В библиотеку BTCA2A добавлен пример BTCA2A_Example. Для использования этого примера вам понадобиться три светодиода. На основе данного примера разберем работу основных функций библиотеки.

3.1. Скачайте библиотеку BTCA2A (ссылка BTCA2A v1.0). Распакуйте библиотеку в папку libraries в установленной программе Arduino IDE.

3.2. Подключите светодиоды по следующей схеме.



3.3. Откройте пример BTCA2A_Example из библиотеки. Укажите пины к которым подключены светодиоды.

3.4. В библиотеке реализован выбор последовательных портов для подключения Bluetooth к Arduino Mega. Если вы используете другую плату ардуино тогда первое число в btca2a.SetupHardwareSerial(0, 115200) должен быть 0.
Если вы используете Arduino Mega или её аналоги, тогда вы можете выбрать номер нужного порта. 1 - Serial1, 2 - Serial2, 3 - Serial3, 0 - основной Serial. Например, Bluetooth модуль будет использовать Serial2, результат btca2a.SetupHardwareSerial(2, 115200). Это обязательная часть кода, располагается до setup.

ВАЖНО! Для нормальной работы библиотеки, скорость последовательной передачи данных должна быть 115200.

3.5.btca2a.ReadCommand() – Считывает принятые команды и изменяет статус кнопок. Это обязательная часть кода, располагается в начала loop.

3.6.btca2a.Button(НАЗВАНИЕ_КНОПКИ) – считывает статуса кнопок в момент нажатия. Действие в условии будет выполняться только в момент нажатия выбранной кнопки.

В момент нажатия на джойстике кнопки X (KEYCODE_BUTTON_X), светодиод LED1 загорится.

if (btca2a.Button(KEYCODE_BUTTON_X)){
digitalWrite(LED1, HIGH);
}


В момент нажатия на джойстике кнопки Y (KEYCODE_BUTTON_Y), светодиод LED1 погаснет.

if (btca2a.Button(KEYCODE_BUTTON_Y)){
digitalWrite(LED1, LOW);
}


3.7.btca2a.ButtonPressed(НАЗВАНИЕ_КНОПКИ) – считывает статус зажатой кнопки. Действие в условии будет выполняться пока указанная кнопка зажата. Как только вы отпустите кнопку, действие в условии выполняться не будет.

Светодиод LED2 будет гореть пока вы удерживаете кнопку A (KEYCODE_BUTTON_A). Как только вы отпустите кнопку, светодиод LED2 погаснет.

if (btca2a.ButtonPressed(KEYCODE_BUTTON_A)){
digitalWrite(LED2, HIGH);
}
else{
digitalWrite(LED2, LOW);
}


3.8.btca2a.ButtonReleased(НАЗВАНИЕ_КНОПКИ) – считывает статус не нажатых кнопки. Действие в условии будет выполняться если указанная кнопка не нажата.

Светодиод LED3 будет гореть пока удерживаете кнопку L1 (KEYCODE_BUTTON_L1) и при этом не нажата кнопка L2 (KEYCODE_BUTTON_L2). Если нажать и удерживать сразу две кнопки L1 и L2, светодиод LED3 не загорится.

 

 

 

 

 

if (btca2a.ButtonPressed(KEYCODE_BUTTON_L1) && btca2a.ButtonReleased(KEYCODE_BUTTON_L2)){
digitalWrite(LED3, HIGH);
}
else{
digitalWrite(LED3, LOW);
}


Используя данные методы, вы сможете запрограммировать нужное действие для каждой кнопки на джойстике.

3.9. Загрузите пример на плату Ардуино и переходите к инструкции по использованию приложения BT Controller.

ВНИМАНИЕ! Все названия кнопок в библиотеке BTCA2A соответствуют названиям кнопок в приложении BT Controller.

 

 

 

 


Видео с демонстрацией работы примера:

 

 

 

 

 

 

 

 

4. Инструкция по использованию приложения BT Controller:


4.1. Скачайте и установите приложение BT Controller на Android смартфон или планшет (ссылка).

4.2. Включите Bluetooth на вашем андроид устройстве. Запустите приложение и выберите способ соединения.



4.3. Выберите Controller.



4.4. Выберите любой контроллер из списка. Для работы с примером из библиотеки, выберите snes контроллер.



4.5. Из списка выберите блютуз модуль подключенный к Ардуино. Если вашего модуля нет в списке, нажмите на кнопку поиска блютуз устройств «Scan for bluetooth devices».



4.6. Через несколько секунд после выбора блютуз модуля из списка, должен включиться контроллер. Если этого не произошло, проверьте правильность подключения БТ.



Если изображение контроллера появилось, значит всё готово к работе. Управляйте своими проектами, нажимая соответствующие кнопки на контроллере.

5. Создание нового контроллера:

В приложении BT Controller можно создавать свои уникальные контроллеры. Для этого вы сможете использовать фоновое изображение вашего контроллера, на которое будете накладывать нужное количество кнопок. В готовом виде, наложенных кнопок не будет видно, так что картинка служит ориентиром для размещения кнопок. Приложение BT Controller поддерживает разные размеры экранов, если вы создали джойстик на планшете с большим экраном. На телефоне с маленьким экраном картинка будет адаптирована, кнопки не сместятся.

5.1. Создайте картинку своего контроллера. Желательно знать разрешение экрана вашего устройства и создавать картинку соответствующую размерам вашего экрана. Пример картинки:



5.2. В меню приложения BT Controller, зайдите в пункт «CONTROLLERS». Затем выберите пункт «Create».



5.3. [1] Напишите имя вашего контроллера. [2] Выберите тип контроллера. Разница между Аналоговым (левый пункт) и Цифровым (правый пункт), в наличии стикера. Но стикеры вы сможете добавлять на любой тип контроллера. [3] Выберите картинку вашего контроллера. После чего нажмите на кнопку «Next».

 

 

 

 

 

 

5.4. На экране появиться изображение вашего контроллера. В середине вы увидите заготовку кнопки. Нажав на середину, передвигайте кнопку в нужное место. Для изменения размера кнопки нажмите в правом нижнем углу и двигайте палец до достижения нужного размера. Чтобы добавить дополнительную кнопку, нажмите на + в левом нижнем углу. Кнопки можно накладывать друг на друга.


 

 

 

 

5.5. Двумя кратковременными нажатиями на кнопку, назначьте её новое название. Перед вами появиться меню. Для изменения названия нажмите «Change» (рис. 1). Выберите раздел из списка (рис. 2). Выберите нужное название кнопку из списка (рис. 3). Нажмите кнопку «Save Key» (рис. 1). Данные действия применяются для назначения новой кнопки и изменения названия готовой.


ВАЖНО – название кнопок будут использоваться в скетче на Arduino.

 

 

 

 


(рис. 1)

(рис. 2)

(рис. 3)

 

 

 
 
5.6. В своих контроллерах вы можете использовать два стикера. Для добавления стикера, нажмите на кружок в левом нижнем углу (рис. 4). Измените размер стикера и расположите его в нужном месте. Двойным кратковременным нажатием можно изменить кнопки используемые стикером, в появившемся меню нажмите «Edit Keycodes» (рис. 5). Задайте нужные кнопки и сохраните изменения нажав «Save» (рис. 6).

 


(рис. 4)

 


(рис. 5)

(рис. 6)
 

 

5.7. Для удаления ненужной кнопки, сделайте двойное кратковременное нажатие на нужную кнопку. В появившемся меню нажмите на «Delete Tile».

 

 

5.8. После того как вы укажете все необходимые кнопки, нажмите на «гаечный ключ» в правом нижнем углу (рис. 7). В появившемся меню нажмите Save Controller (рис. 8). Затем, выберите свой контроллер из списка, нажмите на него (он выделится), нажмите кнопку «назад» на вашем устройстве (рис. 9). Если вы были подключены, то ваш новенький контроллер сразу начнет действовать.

 

 


(рис. 7)

 


(рис. 8)

(рис. 9)
 


6.Изменение готового контроллера:

В меню приложения BT Controller, зайдите в пункт «CONTROLLERS». Затем из списка выберите нужный контроллер, нажмите на пункт «Edit» (рис. 10). Используйте инструкцию по созданию нового контроллера, начиная с пункта номер 4.

 

 


(рис. 10)

 

 

 


Если у вас есть вопросы по работе с библиотекой BTCA2A или приложением BT Controller, пишите в комментариях.

 

 


Если у ВАС возникли вопросы пишите на ФОРУМЕ или в Online чат по робототехнике мы их обсудим!

 

 

 
Зайцев Сергей (ZSeregaA) – Вконтакте http://vk.com/robocontroller
Дмитрий Шумельчук – Вконтакте http://vk.com/id61438007
 

© Внимание! Полное либо частичное копирование материала без разрешения администрации запрещено! www.servodroid.ru



Привет! Желаешь собрать не сложного в сборке робота? Ты пришел по адресу! =) Именно у нас на сайте ты сможешь найти подробные статьи по сборке шаг-за-шагом своего первого робота, а так же многих других роботов, и даже для соревнований.

Мы очень рады, что наши статьи помогут тебе - начинающему робототехнику, освоить эту интереснейшую сферу и прокачать свой скилл в этом направлении. Также хотим отметить, что по данным статьям мы - разработчики сайта SERVODROID проводим занятия в бесплатных кружках робототехники, и нам очень нравится учить и рассказывать что такое BEAM-робототехника всем желающих.

Помоги нашему проекту! Зарегистрируйся на нашем сайте и приходи в наш Online-чат или форум и делись своими поделками и своим прогрессом - ведь именно твоя активность привлекает к робототехнике все больше и больше внимания начинающих - они смотрят на твой успех и хотят стать такими же крутыми, а нам очень приятно видеть что у вас все получается. А если что-то не получается - мы поможем ;)

Начни общаться на нашем Форуме или Онлайн-чате

[ Стать участником сайта / Авторизоваться ]

Категория: Курс программирования Arduino | Просмотров: 9236 | Добавил: MSA-Beam-Robotics | Рейтинг: 5.0/2
Всего комментариев: 0
ComForm">
avatar