Занятие 1. Знакомство с Arduino и mBlock - включение моторов робота

Робототехника на Hobot L в mBlock Scratch

Управление роботами

Обычно робот - это устройство, которое может самостоятельно передвигаться. Конечно, манипулятор или станок с ЧПУ тоже можно считать роботом, но обычно когда мы слышим “робот”, мы представляем себе что-то с колесами, гусеницами или ногами. Самый простой робот - колёсный, с него мы и начинаем занятия. Для вращения колес используются моторы, скорость и направление вращения которых и определяет, как будет двигаться робот.


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


Моторы управляемыми двумя способами:

  1. наличие сигнала (высокий уровень напряжения, логическая 1), и отсутствие сигнала (низкий уровень напряжения, логический 0). При этом при наличии сигнала мотор крутится с максимальной скоростью, при отсутствии - не крутится.
  2. скорость мотора пропорциональна уровню сигнала - чем выше уровень напряжения - тем выше скорость вращения мотора

Подключение Arduino к mBlock

  1. Подключите робота USB кабелем к компьютеру (кабель вставляется в левый нижний порт на рисунке выше)
  2. На вкладке Устройства внизу переключитесь на режим Онлайн
3. Нажмите кнопку Подключение. Нажмите галочку в поле Показать все подключенные устройства

Примечание 1: если ни одного порта не появляется, проверьте подключение Arduino к компьютеру через USB кабель

Примечание 2: число 20 (в COM20) может быть и другим. Также бывает, что у компьютера сразу несколько COM портов, в этом случае надо кликнуть на выпадающее меню и выбрать правильный ( попробуйте все по очереди, правильный тот, при подключении которого сверху выводится сообщение “Подключено”,)

4. Если во вкладке устройства внизу появилась внизу кнопка Настройки- нажмите её, обновите прошивку в контроллере для взаимодействия с mBlock.

5. Нажмите Обновить прошивку
6. В открывшемся окне нажмите кнопку Обновления
7. Дождитесь окончания обновления, затем снова подключите Arduino к компьютеру, нажав кнопку Подключение

Что такое мотор

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

Двигатели выполняют роль мышц или силовых элементов нашего робота. Моторы, наиболее часто используются для передачи вращения на колеса, тем самым, обеспечивая движение робота. Можно сказать, что эти моторы выполняют ту же роль, что и ноги человека.

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



Рисунок. Мотор Hobot L

Рисунок. Наименование портов Hobot L

Управление одним мотором

Подключите мотор к разъему М1:

  1. Сделаем управление кнопками клавиатуры вверх (запустить мотор) и вниз (стоп) мотором, подключенным к порту М1, алгоритм:

Когда нажата клавиша “стрелка вверх”:

  1. Задать на цифровой пин 6 значение “высокий”

Когда нажата клавиша “стрелка вниз”:

  1. Задать на цифровой пин 6 значение “низкий”
Реализация алгоритма в виде кода (по возможности постарайтесь написать код самостоятельно по алгоритму выше):

Циклы

Для того, чтобы робот выполнял команды постоянно, несколько раз подряд или до выполнения какой-то цели используются Циклы.

Если одну и та же команда (или набор команд) требуется выполнить много раз, настоящие программисты не пишут их много раз (так как это занимает много времени и потом сложно вносить изменения), а применяют такую конструкцию, как Цикл (многократное повторение одних и тех же команд).
Циклы делятся на 3 основных вида:
Бесконечный цикл - выполняется до тех пор, пока работает программа
Пример: наше дыхание: вдох, выдох, повторить
Счетный цикл - выполняется заданное количество раз
Пример: взять из коробки 3 яблока
Цикл с условием - повторяется до тех пор, пока не будет выполнено некоторое условие
Пример 1: пока коробка не станет пустой - взять из коробки яблоко
Пример 2: пока не пришёл домой - шаг левой ногой, шаг правой ногой

Обычно робот двигается сам, а не по кнопочкам. Реализуем автоматическое управление одним мотором. Подайте высокий уровень на цифровой пин 6, затем низкий уровень на цифровой пин 6 в бесконечном цикле:
  1. Начало
  2. Повторять всегда:
  • Задать на цифровой пин 6 значение “высокий”
  • Подождать 1 секунду
  • Задать на цифровой пин 6 значение “низкий”
  • Подождать 1 секунду
Реализация алгоритма в виде кода (по возможности постарайтесь написать код самостоятельно по алгоритму выше)

Управление двумя моторами

  1. Подключите второй мотор к разъему М2:
2. Реализуем управление нажатием на стрелки клавиатуры двумя моторами сразу (в последующих занятиях похожим образом мы будем управлять перемещениями робота с клавиатуры, а потом и по Bluetooth):

Когда нажата клавиша “стрелка вверх”:

  1. Задать на цифровой пин 5 значение “высокий”
  2. Задать на цифровой пин 6 значение “высокий”

Когда нажата клавиша “стрелка вниз”:

  1. Задать на цифровой пин 5 значение “низкий”
  2. Задать на цифровой пин 6 значение “низкий”
3. Реализуем автономное движение робота по циклу вперед-стоп (если бы к моторам были подсоединены колеса, робот так бы и ехал):

Общий алгоритм:

  1. Начало
  2. Повторять всегда:
  • Включить моторы в состояние движения вперёд
  • Ждать некоторое время, робот в это время едет вперёд
  • Включить моторы в состояние остановки
  • Ждать некоторое время, робот в это время стоит

Подробный алгоритм:

  1. Начало
  2. Повторять всегда:
  • Задать на цифровой пин 5 значение “высокий”
  • Задать на цифровой пин 6 значение “высокий”
  • Подождать 1 секунду
  • Задать на цифровой пин 5 значение “низкий”
  • Задать на цифровой пин 6 значение “низкий”
  • Подождать 1 секунду
Made on
Tilda