⛄
new_Базовый курс по ROS
  • Обложка
  • Урок 1. Введение в ROS
    • Что такое ROS ?
    • Знакомство с роботом TurtleBro
    • Настройка ПК
    • Установка ROS
    • Настройка робота TurtleBro
    • Настройка VSCode
    • Практические задания
  • Урок 2. Базовый понятия ROS
    • Основы теории управления
    • Сущности ROS как элементы ТАУ
    • Базовые утилиты ROS
    • Практические задания
  • Урок 3. Издатель
    • Издатель (Publisher)
    • Издатель команд для робота
    • Практические задания
  • Урок 4. Подписчик
    • Подписчик (Subscriber)
    • Подписчик на данные робота
    • Практические задания
  • Урок 5. Подписчик и Издатель
    • Взаимодействие Подписчика и Издателя в рамках одной ноды. Часть 1
    • Практические задания
    • Взаимодействие Подписчика и Издателя в рамках одной ноды. Часть 2
    • Практические задания
      • Решение
  • Урок 6. Работа с Arduino
    • Работа с Arduino
    • Создание Издателя
    • Создание Подписчика
    • Практические задания
  • Курсовая работа
    • Задание
  • Итог
    • Заключение
Powered by GitBook
On this page

Was this helpful?

  1. Урок 6. Работа с Arduino

Практические задания

PreviousСоздание ПодписчикаNextЗадание

Last updated 1 year ago

Was this helpful?

  1. "Соберите" библиотеку ros_lib на своем роботе и перепишите ее на компьютер

  2. Загрузите и запустите на Arduino примеры Издателя и Подписчика из этого урока.

Напишите различные программы для Arduino микроконтроллера:

  1. Скетч, создающий Подписчика (Subscriber) на топик /led_control c типом сообщения std_msgs/Int32. При получении в данный топик различных значений должна выполняться следующая логика:

  • При получении значения "0" - все светодиоды D26 - D29 - не горят

  • При получении значения "1" - все светодиоды D26 - D29 - горят

  • При получении значения "26" - "29" - загорается светодиод, в зависимости от введённого номера.

2. Скетч, создающий Издателя (Publisher) для топика /button_cmd с типом сообщения std_msgs/Int31. При нажатия на кнопки D22/D25 должна выполняться следующая логика:

  • Когда обе кнопки отжаты - в топик /led_control (из прошлой программы) публикуется значение "0" - все светодиоды D26-D29 не горят

  • Когда нажата кнопка D22 - в топик /led_control публикуется значение "15" - все светодиоды D26-D29 мигают одновременно с частотой 4 Гц

  • Когда нажата кнопка D25 - в топик /led_control публикуется значение "69" - все светодиоды D26-D29 мигают попарно ( D26 и D28 / D27 и D29) с частотой 10 Гц

  • Когда обе кнопки нажаты - в топик /led_control публикуется значение "1" - все светодиоды D26-D29 - горят

Продемонстрируйте работу программ при помощи утилит rostopic

Дополнительные материалы

  1. Библиотека

  2. Библиотека

  3. Примеры использования

rosserial
rosserial_arduino
rosserial_arduino