Тел. (495) 972-27-12

Беспроводной обмен данными через Bluetooth между контроллерами ROBO TX

В этой статья я расскажу о том, как организовать односторонний беспроводной обмен данными между двумя контроллерами ROBO TX, которые выпускает компания FISCHERTECHNIK. Для демонстрации мы соберем мобильную тележку, которой будем управлять через Bluetooth с помощью пульта управления.

Назначаем номера позывных RCN

Коммуникационные модули Bluetooth, встроенные в контроллеры ROBO TX, позволяют передавать информацию между блоками управления по радиоканалу без использования проводов. Чтобы контроллеры могли различать друг друга в сети Bluetooth, каждому из них назначается свой уникальный позывной номер RCN в диапазоне от 1 до 8. В нашем примере у пульта управления будет номер – «1», а у тележки – «2».

Позывные назначаются контроллерам вручную через пункт меню «Bluetooth» в среде разработки ROBO Pro. Ниже я приведу последовательность действий для назначения позывных.

Важный момент! Во время назначения позывных все контроллеры должны быть включены и один из них должен быть подключен к компьютеру через USB или Bluetooth. В этом примере через USB подключен контроллер пульта управления.

  1. Подать питание на оба контроллера. Прикладные программы в контроллерах должны быть остановлены.
  2. Подключить контроллер пульта управления к компьютеру через USB.
  3. Запустить ROBO Pro и выбрать пункт меню «Bluetooth»
  4. В открывшемся окне нажать кнопку «Сканировать». Сканирование контроллеров в сети Bluetooth выполняется через контроллер, подключенный в данный момент к вашему компьютеру. Через минуту или быстрее сканирование завершится и в списке устройств отобразятся включенные контроллеры.Назначение позывных контроллерам ROBO TX
  5. В каждой строке списка будет указан текущий номер позывного, имя контроллера и его адрес в сети Bluetooth. Выглядит это примерно так:
    «RCN 1: ROBO TX-444(00.13.7b.48.61.85, COM4)»
    RCN 1 – это и есть номер позывного.
  6. Чтобы изменить номер позывного следует использовать кнопки «Вверх» и «Вниз». При перемещении контроллера в списке его позывной меняется автоматически.
  7. Выбираем для контроллера пульта управления (у меня это ROBO TX-394)  RCN 1, а для контроллера тележки (ROBO TX-444) RCN 2.
  8. Нажимаем кнопку «ОК».

Теперь, когда контроллерам назначены позывные, можно приступать к разработке программ.

Управляющие программы

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

Названия программ:

  • Для пульта управления: master.rpp
  • Для тележки: slave.rpp

master.rpp

Алгоритм состоит из одного бесконечного цикла, в котором выполняется проверка состояния кнопок и передача данных. При нажатии на кнопку I1 устройству с RCN=2 передается значение «1», а при нажатии на I2 – значение «2». Когда не нажата ни одна кнопка, передается значение «0».

 

robopro-bluetooth-05B

slave.rpp

Тут тоже все просто. В бесконечном цикле проверяем, есть ли новые данные, адресованные нашему контроллеру? Если нет, то проверяем еще раз. Если есть, то последовательно сравниваем полученное значение с константами 1 и 2 и затем соответствующим образом управляем моторами. Если получено значение=«1», то включаем M1. Если «2», то включаем M2. Ну а если что-то другое, то тогда оба мотора выключаем.

robopro-bluetooth-06

Результат

Теперь можно загрузить программы в контроллеры. Сначала грузим master.rpp т.к. контроллер пульта управления уже подключен к компьютеру. Затем подключаем контроллер тележки и загружаем slave.rpp. Запускаем наши программы на тележке и пульте управления и проверяем. Вот, что у нас получилось:

Файлы проектов для этой статьи на GitHub.

  • https://www.facebook.com/andrey.budniak Andrey Budniak

    Где в меню RoboPro команды используемые в программах?

    • http://www.pacpac.ru Григорий Зайцев

      Команды для работы с радиообменом через Bluetooth находятся в группе «Отправить, принять». И еще у вас должен быть установлен «Уровень сложности» среды разработки = 5.

  • https://www.facebook.com/andrey.budniak Andrey Budniak

    Команда с текстом Rob Основная — где лежит?

  • https://www.facebook.com/andrey.budniak Andrey Budniak

    Эту команду можно игнорировать

  • Максим

    А эти команды доступны в контроллере txt? У меня при попытке загрузить программу в txt контроллер появляется сообщение, что общение не реализовано. Как тогда организовать радиообмен?

    • http://pacpac.ru Григорий Зайцев

      Максим, здравствуйте!

      Спасибо за вопрос.

      В этой статье пример дан для контроллера TX. Сейчас мы попробуем разобраться с контроллером TXT и тогда напишем ответ.