Как сделать программу для робота

Нажатие на кнопку Код открывает раздел, посвящённый программированию робота. Здесь вы можете как загрузить на устройство уже заранее созданный код, так и написать собственный – с помощью визуального программирования! Знание какого-либо синтаксиса не понадобится, поскольку визуальное программирование предполагает создание программы их заготовок-кирпичиков – последовательно складывая их как пазл, можно выстроить достаточно сложный и разветвлённый код. Благодаря такому подходу вы получите общее представление о работе и принципах построения алгоритмов, использовании логических операторов и составлении условий на их основе, после чего изучение какого-либо языка уже не является таким сложным и сводится по большей части к освоению синтаксиса.

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

Движение

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

Как Сделать Робота на Arduino UNO / How to Make a Robot on Arduino UNO

Программирование движения робота Apitor Superbot

Эта команда включает двигатели и имеет три параметра:

Программирование движения робота Apitor Superbot

  • Мотор: здесь можно выбрать каким именно двигателем мы будем управлять, их в нашем распоряжении три – два встроены в блок управления и один подключаемый внешний
  • Направление: тут всё просто, выбираем в какую сторону должен вращаться выбранный двигатель – по часовой стрелке или против неё
  • Скорость (0-12): этот параметр позволяет задать скорость вращения двигателя со значением от 0 до 12 – чем выше цифра, тем быстрее вращение

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

Вид

Мультимедиа-возможности робота Apitor Superbot

В этой группе собраны команды, отвечающие за мультимедиа-функционал робота: например, он может использовать RGB-светодиоды, расположенные в блоке управления, записывать и воспроизводить звуки, музыкальные треки, произносить фразы и даже отображать на вашем планшете или смартфоне видеоролики и текст!

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

Главный модуль SuperBot оснащен четырьмя RGB-светодиодами: два в передней части блока и два в задней. Эта команда отвечает за управление ими и имеет два параметра:

Программирование промышленного робота (часть 1)

Воспроизведение звуков Apitor Superbot

  • Свет: здесь можно выбрать какой именно светодиод нужно зажечь – 1, 2, 3, 4 или все сразу
  • Выключить: эта опция позволяет указать цвет, которым должен зажечься определённый светодиод.

Блок управления Apitor Superbot оснащён встроенным динамиком, благодаря которому ваш робот может воспроизводить звуки. Данная команда позволяет проиграть один из предустановленных звуков и имеет единственный параметр sound , где вы можете выбрать одну из 11 мелодий.

Воспроизведение звуков Apitor Superbot

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

Воспроизведение звуков Apitor Superbot

С помощью этой команды можно вставлять музыку в качестве фона в программу: трек будет воспроизводиться до тех пор, пока робот не выполнит составленную вами программу полностью. Единственная опция здесь – Фоновая музыка – позволяет выбрать одну из предустановленных мелодий. Внутрь секции нужно разместить код, во время выполнения которого вы хотите проигрывать музыку.

Воспроизведение звуков Apitor Superbot

Эта команда позволяет воспроизвести любой музыкальный трек.

Воспроизведение звуков Apitor Superbot

Эта команда останавливает воспроизведение музыкального трека.

Воспроизведение звуков Apitor Superbot

Данная команда позволяет роботу в определённый момент программы запустить видео на вашем смартфоне или планшете – для этого нужно нажать на иконку и выбрать любой видеофайл из галереи вашего устройства. Сделайте вашего робота частью интерактивной истории!

Значение

Работа с сенсорами Apitor Superbot

В этой категории собраны команды, с помощью которых ваш робот сможет взаимодействовать с окружающим миром. В комплекте с конструктором вы найдёте два инфракрасных датчика – они используются для определения расстояния до окружающих объектов и для распознавания чёрных и белых линий. Также в блоке управления размещён микрофон, реагирующий на звуки. Используйте всё это для постройки новых увлекательных проектов!

Воспроизведение звуков Apitor Superbot

Эта инструкция возвращает числовое значение от 0 до 10, соответствующее уровню шума вокруг. Например, можно запрограммировать робота двигаться вперёд по хлопку в ладоши.

Воспроизведение звуков Apitor Superbot

Данная команда возвращает числовое значение от 0 до 250, соответствующее расстоянию от робота до какого-либо препятствия в сантиметрах. Различные примеры использования вы увидите ниже.

Здесь мы обратим ваше внимание на то, что в программе блок обозначен как ультразвук , но ультразвукового датчика в комплекте нет – есть только два инфракрасных. Дело в том, что на данный момент Apitor Superbot для определения небольших расстояний использует инфракрасную волну вместо ультразвуковой – для этих целей ИК-датчик прекрасно подходит, но в будущем мы планируем отдельно выпустить более точный и «дальнобойный» ультразвуковой датчик

Воспроизведение звуков Apitor Superbot

Эта команда позволяет получить с инфракрасного датчика данные в режиме proximity – в отличие от предыдущего режима он возвращает не расстояние в миллиметрах, а цифру от 0 (очень близко) до 6 (очень далеко), для построения более гибкой программы. Также эта команда имеет параметр, где можно выбрать с какого из двух датчиков нужно получить данные.

Воспроизведение звуков Apitor Superbot

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

Поэтому черная полоса невидима и по этой причине датчик можно использовать для «отслеживания» темного следа, нанесенного на свет фон. Когда он теряет трек, фактически, датчик генерирует цифровой сигнал и Центральный блок SuperBot теоретически способен управлять устройствами, чтобы найти его и следовать за ним. В Практика, если мы думаем об автомобильном роботе, если он выходит из черной линии, исправление траектории должен проходить через двигатели, чтобы привести робота к черная линия. Инструкция отслеживания считывает два левых и правых параметра, которые могут принимать значения на или выключен.

Данные

Работа с переменными в Apitor SuperBot

В этой категории размещено несколько команд для работы с переменными. По умолчанию команды не отображаются, ведь ни одной переменной у нас ещё нет. Исправить это можно нажав кнопку Создать переменную

Создание переменной в приложении Apitor Robot

В открывшемся окошке введём название переменной. Для примера мы так и назовём её – переменная , и подтвердим ввод кнопкой Да . Если всё сделано правильно, то мы увидим, что в разделе Данные появились новые блоки. Давайте разберёмся, что у нас есть:

Присвоение значения переменной в приложении Apitor Robot

Эта команда позволяет присвоить созданной переменной числовое или логическое значение. Единственный параметр здесь – это выбор, с какой именно переменной вы хотите работать.

Читайте также:
Как называется программа чтобы управлять другим компьютером

Присвоение значения переменной в приложении Apitor Robot

Данная команда позволяет увеличить значение переменной на определённое число. Её удобно использовать при построении цикличной функций в качестве счётчика. Имеет два параметра: первый служит для выбора конкрентной переменной, а во втором параметре задаётся число.

Присвоение значения переменной в приложении Apitor Robot

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

Расчёт

Математические функции в приложении Apitor Robot

В этом разделе собраны различные вычислительные функции, с помощью которых можно осуществить сложнейшие математические и тригонометрические расчёты. Используя их можно запрограммировать робота рисовать узоры или двигаться по определённой траектории. Вы также можете использовать эти функции по своему усмотрению, никаких ограничений!

Функции для работы с числами в приложении Apitor Robot

Эта команда – одна из базовых. С помощью двух параметров слева и справа выбираются числа, а между ними выбирается нужное действие: сложение, вычитание, умножение, деление и возведение в степень. Также вместо чисел вы можете использовать переменные: для этого из раздела Данные возьмите команду, которая позволяет выбрать переменную – да, это та самая, что сама по себе ничего не делает – и перетащите её внутрь вычислительного блока, на место цифр. Должно получиться вот так:

Функции для работы с числами в приложении Apitor Robot

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

Выбор случайного числа в приложении Apitor Robot

А эта команда позволяет сгенерировать случайное число из определённого диапазона, задаваемого с помощью двух параметров. Вместо чисел также можно использовать переменные.

Контроль

Логические функции в приложении Apitor Robot

Этот раздел содержит различные логические операторы и условия. Понимание того, как они работают, является базовым навыком программирования на любом языке. Освоив эту группу операторов вы сможете запрограммировать робота на достаточно сложные последовательности действий!

Генерация паузы в приложении Apitor Robot

Команда ожидания пригодится для генерации пауз при выполнении программы. В параметре указывается числовое значение, каждая единица которого соответствует одной десятой секунды. Таким образом, чтобы установить паузу в 1 секунду, в параметре следует указать число 10.

Операторы условий if do в приложении Apitor Robot

Это команда – оператор условия, выполняющая определённое действие или цепочку инструкций, если соблюдается какое-то условие. В противном случае вся цепочка внутри условия игнорируется. Например, с помощью такого оператора можно зажигать на блоке управления красный светодиод, если полученное с датчика расстояние до препятствия меньше 10.

Операторы условий if do else в приложении Apitor Robot

Данная команда – также оператор условия и работает практически также, как предыдущая с той лишь разницей, что здесь есть возможность задать цепочку действий, если условие не выполняется. Например, можно зажигать на блоке управления красный светодиод, если полученное с датчика расстояние до препятствия меньше 10, а во всех остальных случаях зажигать зелёный светодиод.

Операторы условий if . else в приложении Apitor Robot

Последняя команда из семейства операторов условий похожа на предыдущую, но позволяет задать последовательность из двух условий. Например, можно получать расстояние до препятствия с датчика, и если оно меньше 30 – зажигать на главной блоке управления жёлтый светодиод, если меньше 10 – зажигать красный, а если ни одно из вышеназванных условий не соблюдается – пусть горит зелёный. Разумеется, операторы условий можно комбинировать между собой, создавая сложнейшие последовательности действий.

Операторы сравнения в приложении Apitor Robot

Эта команда является оператором сравнения. С её помощью вы можете сравнить два числа (или значения переменных), вставив их в свободные места. Параметр позволяет выбрать вариант сравнения: равно , не равно , меньше , меньше или равно , больше , больше или равно.

Операторы и/или в приложении Apitor Robot

Операторы условий, о которых было сказано чуть выше, позволяют проверять только одно соответствие за раз: если переменная «а» меньше 30, то выполняем действие. Но что если нужно проверить соответствие двух и более условий за раз? Например, если переменная «а» меньше 30, и переменная «b» меньше 50, то выполняем действие? Вот тут на помощь придёт оператор И/ИЛИ – вставьте его между двумя условиями в оператор IF ELSE и постройте ещё более сложный и гибкий код для вашего робота!

Оператор НЕ в приложении Apitor Robot

Логический оператор не используется в построении условий.

Операнд Истина/Ложь в приложении Apitor Robot

Операнд Истина/Ложь используется в построении логических цепочек.

Построение циклов в приложении Apitor Robot

Данная команда служит для запуска цикла, то есть повторяет часть вашего кода определённое количество раз. С помощью параметра можно задать число повторений.

Построение циклов в приложении Apitor Robot

А эта команда похожа на предыдущую, но код выполняется не заданное количество раз, а пока не будет выполнено какое-то условие. Например, можно увеличивать значение переменной на 1, пока оно не станет равно 100.

Источник: apitor.ru

Исполнитель Робот

Среди множества учебных исполнителей, предназначенных для освоения программирования и развития умения создавать алгоритмы, исполнитель робот занимает особое место. Он знакомит с основными кирпичиками алгоритмов, является частью стандартных учебных программ, а задачи с роботом и лабиринтом входят в основной государственный экзамен (ОГЭ) по информатике.

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

Одной из наиболее удачных реализаций этого исполнителя является программа, которая так и называется Исполнитель Робот.

Почему Исполнитель Робот?

Предлагаемый исполнитель содержит полный комплект заданий ОГЭ по информатике (причём без повторов), отсортированных по возрастанию сложности. Он не требует установки и работает в браузере. Гибкий интерфейс позволяет работать с Исполнителем Робот даже на мобильном телефоне.

Исполнитель Робот обеспечивает возможность поэтапного конструирования алгоритмов с наглядным исполнением каждого фрагмента и программы целиком.

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

Еще одним удобным средством является редактор лабиринтов для робота. Он позволяет создавать свои лабиринты на лету. Любой лабиринт из учебника или задачника можно воссоздать меньше, чем за минуту.

Крупные элементы интерфейса и крупный шрифт позволяют легко работать с исполнителем учащимся с пониженным зрением.

Полное соответствие ОГЭ

Это единственный тренажер, полностью соответствующий заданиям ОГЭ. В этом тренажере стены и проходы имеют произвольную длину так, как это принято в реальных заданиях ОГЭ. Тренажер сделан таким образом, чтобы задачи нельзя было решить с помощью фиксированных последовательностей одинаковых команд без использования циклов с условием.

Как работать с исполнителем?

Старт При открытии страницы с Исполнителем Робот, на экране присутствует учебный пример. Попробуем запустить его на исполнение. Для этого нажмем кнопку «Старт», которая находится над лабиринтом робота.

Сброс После того, как робот выполнил программу и закрасил все клетки, нажмем кнопку «Сброс» (рядом с кнопкой «Старт»). Робот вернется в исходное положение. Кнопка «Сброс» возвращает робота и цвета клеток в состояние, в котором они находились перед запуском программы.

Читайте также:
Программа которая склоняет по падежам

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

Задания с лабиринтами для робота можно открыть с помощью кнопки «Задания». Попробуем выполнить первое из них.

Нам необходимо закрасить лиловые клетки. Все команды робота соответствуют командам исполнителя из задания ОГЭ 15.1. Описание системы команд исполнителя (СКИ) можно найти на странице «Команды исполнителя Робот». Эта странице открывается из меню с голубым знаком вопроса в правом верхнем углу. Там же можно прочитать подробную «Cправку по работе с исполнителем».

Для начала сотрем в редакторе код учебного примера и напишем свой код, который позволит нашему роботу дойти до начала вертикальной стены. Мы будем конструировать алгоритм поэтапно, проверяя каждый этап. Для этого будем использовать кнопки «Старт» и «Сброс».

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

Пока слева свободно мы будем идти влево и в результате придем к вертикальной стене.
Напишем в редакторе:

нц пока слева свободно влево кц

«НЦ» означает «начало цикла», а «КЦ» — «конец цикла».

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

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

Допишем к нашей программе:

нц пока не слева свободно закрасить вверх кц
В результате вся наша программа будет выглядеть вот так:
нц пока слева свободно влево кц нц пока не слева свободно закрасить вверх кц

Прежде, чем запускать программу, нажмем кнопку «Сброс». Робот вернется в исходную позицию. И уже после этого воспользуемся кнопкой «Старт». Таким образом, каждый раз добавляя фрагмент алгоритма, мы будем нажимать сначала кнопку «Сброс», возвращая робота в исходное положение, а затем кнопку «Старт». Такой подход позволит нам конструировать алгоритм поэтапно, каждый раз проверяя работу добавленного фрагмента кода.

О заданиях (лабиринтах)

Задания с лабиринтами открываются с помощью кнопки «Задания».
Задания не требуют дополнительных комментариев (необходимо просто закрасить лиловые клетки в желтый цвет), но вот лабиринты с «лесенками», находящиеся в конце списка заданий, подразумевают, что учащийся предупрежден, что количество «ступеней» может быть очень большим и алгоритм должен работать при любом количестве «ступеней».

Построение своего лабиринта для робота

Если мы хотим построить свой лабиринт, то поле можно очистить с помощью кнопки «Очистить». Кнопка «Очистить» полностью удаляет с поля все стены и возвращает цвет всех клеток в начальное состояние.

Установить стену на поле можно кликом по соответствующему участку между клетками. Клик по уже установленной стене приводит к ее удалению. Закрасить клетку в лиловый цвет можно с помощью двойного клика. Возвратить лиловую клетку к начальному цвету можно двумя одиночными кликами. Закрасить клетку в желтый цвет можно кликом по ее центральной части.

Клик по окрашенной в желтый цвет клетке возвращает ее цвет в начальное состояние.

Удобная демонстрация и быстрая проверка выполнения заданий

И в завершение этого материала стоит отметить удобство Исполнителя Робот не только для учащихся, но и для учителей при проведении занятий по информатике. Интерфейс автоматически адаптируется под демонстрацию на проекторе даже с невысоким разрешением. Кроме того, для того, чтобы проверить правильность выполнения задания, достаточно посмотреть на экран компьютера не более 15 секунд.

ПОПУЛЯРНОЕ НА САЙТЕ

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

GAME LOGO — бесплатная среда программирования для увлекательного путешествия в мир программирования и информатики. Программирование на русском языке, удобный и красивый интерфейс, продуманный синтаксис.

Источник: myrobot.ru

Уроки программирования для роботов-конструкторов Yahboom на базе Micro:bit

Уроки по программированию роботов Yahboom от Суперайс

Выбор первого конструктора часто вызывает затруднения. Особенно у людей, не владеющих базовыми навыками программирования. В помощь таким людям и разработана платформа micro:bit. В первую очередь она ориентирована на детей и взрослых начинающих освоение робототехники. Поддержкой платформы занимается компания Microsoft.

  • Графические блоки;
  • Язык программирования Python;
  • Язык программирования JavaScript.

Программирование в виде блоков — актуально для детей и начинающих. Python и JavaScript подойдут продвинутым пользователям и позволят им раскрыть весь потенциал платформы.

Многие компании создают свои робототехнические устройства на базе micro:bit, не является исключением и компания Yahboom. Выпускаемые ей роботизированные устройства доступны в различных моделях на таких платформах как: Nvidea Jetson, Raspberry Pi, Micro:bit и Arduino. Компания Суперайс является официальным дистрибьютором компании Yahboom.

Время чтения: 13 минут

Описание

  • Описание робота
  • Подготовка к уроку
  • Как заставить робота ехать вперёд?
  • Как изменить скорость и направление движения робота?
  • Как научить робота двигаться вдоль линии?
  • Как обучить робота укорачиваться от препятствий?
  • Как управлять роботом с пульта?

Одним из оптимальных методов знакомства с любой платформой или конструктором является выполнение обучающих уроков. Так закрепляются не только теоретические, но и практические навыки. Мы предлагаем вам освоить пять уроков по программированию роботов Yahboom на платформе micro:bit.

В качестве «подопытного» выберем, один из лучших конструкторов в своей линейке, — Yahboom Smart Robot Car.

Робот-конструктор Smart Robot Car Yahboom на базе micro:bit

Робот-конструктор Smart Robot Car Yahboom на базе micro:bit

  • Каркас, для установки сонара;
  • Ультразвуковой сонар, для определения расстояний до объектов;
  • Два мотор-редуктора с колесами;
  • Плата расширения Yahboom;
  • Плата micro:bit 2 версии.

Подготовка

Для взаимодействия с устройством можно воспользоваться браузером и перейти по ссылке в редактор кода, для этого Вам понадобится компьютер с выходом в интернет, или скачать приложение для Windows или Max OS: отсюда.

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

Окно создания нового проекта

Окно создания нового проекта

В открывшемся окне программы выбираем вкладку «Расширения».

Расположение вкладки «Расширения»

Расположение вкладки «Расширения»

В поисковую строку вносим ссылку на требуемое расширение: https://github.com/lzty634158/yahboom_mbit_en. Устанавливаем его.

Выбор расширения Mbit для конструкторов Yahboom

Выбор расширения Mbit для конструкторов Yahboom

После установки у нас появятся дополнительные вкладки с блоками для программирования: Mbit_display, Mbit_sensor, Mbit_Input, Mbit_Music, Mbit_Motor, Mbit_Robot.

Дополнительные вкладки с блоками библиотеки Mbit для устройств Yahboom

Дополнительные вкладки с блоками библиотеки Mbit для устройств Yahboom

Теперь подключаем плату micro:bit, через USB кабель к компьютеру и приступаем к программированию.

Урок 1. Программируем движение робота

Давайте попробуем запрограммировать нашего робота на самое простое действие – движение вперед.

Для этого необходимо написать не сложную программу и загрузить ее на плату micro:bit.

Открываем сайт или программу MakeCode и создаем новый проект.

Вначале создадим «лицо», при помощи светодиодной матрицы.

Для этого зайдем во вкладку «Основное» и выберем блок «При начале».

Разместим его на рабочей области и добавим в него блок «Показать значок». В этом блоке выберем вид значка: «Счастливый».

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

Читайте также:
Программа для настройки кнопок на руле Андроид магнитола

Процедура создания «лица» робота-конструктора

Процедура создания «лица» робота-конструктора

Далее напишем программу движения.

Выбираем блок «Постоянно» из вкладки «Основные» и разместим в нем управляющий блок «CarCtrl» с флагом «Forward» из вкладки «Mbit_Robot».

Листинг программы «Робот - вперед»

Листинг программы «Робот — вперед»

Программа готова.
Теперь скачиваем файл и загружаем его на плату micro:bit. Она должна определиться как съемный диск.

Указания по загрузке прошивке в плату micro:bit

Указания по загрузке прошивке в плату micro:bit

Если у вас не получилось самостоятельно составить программу или она работает не корректно, то файл с программой можно скачать по прямой ссылке: Урок 1 и свериться с его структурой.

Урок 2. Управляем направлением и скоростью движения робота

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

Для составления программы мы воспользуемся теми же блоками, что и в предыдущем уроке: «При начале», «Показать значок» и «Постоянно».

При помощи двух первых блоков создаем «лицо», а в третий блок добавим новые команды: «CarCtrlSpeed» и «Пауза».

Расположение команды управления направлением движения и скоростью

Расположение команды управления направлением движения и скоростью

Расположение команды задержки

Расположение команды задержки

Блок «CarCtrlSpeed» позволяет не только задавать направление движения, но управлять скоростью вращения двигателей. Меняя значение «speed» от 0 до 255 можно устанавливать скорость движения конструктора в широком диапазоне. Так, указав скорость «128» – наш робот поедет с 50% скоростью от максимальной, а выставив «64» – с 25%.

Резкая смена направления вращения мотор-редукторов может привести как к опрокидыванию устройства, так и повреждению самого двигателя. Поэтому не следует резко менять режим работы привода. Одним из методов защиты является добавление блока «Пауза» между выполняемыми командами. Также команду «Пауза» можно использовать для создания искусственных задержек между выполнениями любых команд. Вплоть до 5 секунд.

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

Листинг программы «Управление направлением и скоростью движения»

Листинг программы «Управление направлением и скоростью движения»

Сверить, корректность работы написанной программы можно скачав файл по прямой ссылке: Урок 2.

Урок 3. Отслеживание линии

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

Наша цель – запрограммировать устройство так, чтобы он двигался вдоль нашей линии.

Принцип отслеживания реализуется двумя инфракрасными датчиками, размещенными на нижней части платы расширения. Система использует различия в отражающих характеристиках разноокрашенных поверхностей. Когда инфракрасный излучатель находится над черной линией, то на приемник сигнал не поступает, так как излучение поглощается. При расположении излучателя над белой поверхностью – инфракрасное излучение отражается от нее и попадает в приемник.

Расположение инфракрасных датчиков отслеживания линии

Расположение инфракрасных датчиков отслеживания линии

  • При отсутствии черной линии под обоими датчиками – едем прямо (первое положение);
  • При появлении черного цвета под правым датчиком – поворачиваем на право (второе положение);
  • При появлении черного цвета под левым датчиком – поворачиваем налево (третье положение);
  • В случае перекрытия черным цветом сразу двух датчиков – останавливаемся (четвертое положение).

Логика работы программы

Логика работы программы

  • «Если-то-иначе» — условный оператор или оператор ветвления;
  • «И» — логический оператор.

Расположение необходимых блоков логики

Расположение необходимых блоков логики

Для регистрации показаний сенсора нам нужен блок «Line_Sensor», а для управления движением робота с заданной скоростью – «CarCtrlSpeed».

Расположение блоков регистрации ИК-датчиков и управления

Расположение блоков регистрации ИК-датчиков и управления

Для того чтобы мы смогли прописать в программе все возможные положения – необходимо увеличить число условий в операторе ветвления «Если-то-иначе». Это осуществляется нажатием на кнопку инкрементации.

Инкрементация числа условий оператора ветвления

Инкрементация числа условий оператора ветвления

Далее добавляем в оператор ветвления, отмеченные ранее условия и необходимые к выполнению действия.

Листинг программы «Движение по линии»

Листинг программы «Движение по линии»

Проверить свои ошибки можно загрузив файл по ссылке: Урок 3.

Урок 4. Движение с избеганием препятствий

Помимо датчиков слежения линии, размещенных на нижней стороне платы расширения, у конструктора Yahboom Smart Robot Car, есть еще один инфракрасный датчик. Он размещен на передней части платы и его удобно использовать для программирования движения с избеганием сталкивания с препятствиями.

Расположение датчика избегания препятствий

Расположение датчика избегания препятствий

Для проведения урока необходимо построить лабиринт или замкнутую комнату из непрозрачных предметов.

  • При наличии препятствия — поворачиваемся влево;
  • При отсутствии препятствия – движется прямо.

При составлении программы нам потребуются уже известные блоки: «Если-то-иначе», «Пауза» и «CarCtrlSpeed». Для получения сигналов с переднего ИК-сенсора нам потребуется новый блок из вкладки «Mbit_Robot» — «Avoid_Sensor».

Расположение блока регистрации показаний переднего ИК-датчика

Расположение блока регистрации показаний переднего ИК-датчика

В соответствии с описанным ранее алгоритмом составляем нашу программу.

Листинг программы «Избегание препятствий»

Листинг программы «Избегание препятствий»

Сверить, корректность составленной программы можно скачав файл «Избегание препятствий» по ссылке: Урок 4.

Внимание:
1. Этот эксперимент необходимо проводить в помещении, для уменьшения влияния солнечного света на инфракрасный приемник.
2. Поскольку инфракрасный датчик платы расширения использует контакт P3 (инфракрасный приемник) и контакт P9 (инфракрасный передатчик) платы micro:bit, а эти контакты также связаны с управлением светодиодной матрицей, то вовремя работы некоторые светодиоды могут мерцать.

Урок 5. Инфракрасное управление роботом

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

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

Однако стоит помнить, что некоторые модели телефонов имеют функцию фильтрации инфракрасного света. Камерой такого смартфона вы не сможете проверить работоспособность ИК пульта.

ИК пульт уже идет в комплекте с нашим роботизированным конструктором. Зададим для каждой кнопки выполнения определенной задачи. Часть кнопок выделим на управление движением, часть – на управление RGB подсветкой. Цифровые кнопки задействуем для смены значков светодиодной матрицы.

Распределение функций инфракрасного пульта

Распределение функций инфракрасного пульта

Для взаимодействия с пультом необходимо подключить дополнительную библиотеку: YB_IR. Для этого входим во вкладку «Расширения» и в поисковой строке указываем следующую ссылку: https://github.com/lzty634158/YB_IR.

Выбор библиотеки YB_IR для роботов Yahboom

Выбор библиотеки YB_IR для роботов Yahboom

Для связи через инфракрасный порт нам потребуются блоки «Connect ir receiver» и «On … button pressed» из вкладки «Mbit_IR_V1.5».

Вкладка «Mbit_IR_V1.5» и её содержимое

Вкладка «Mbit_IR_V1.5» и её содержимое

Блок «Connect ir receiver» обеспечивает связь micro:bit с ИК-сенсором платы расширения, а функция «On … button pressed» — реакцию на нажатие определенной кнопки пульта.

Так как часть кнопок планируется задействовать на управление RGB подсветкой платы расширения, то нам потребуются команда «RGB Car Big2» из вкладки «Mbit_Robot».

Расположение блока управляющего RGB подсветкой

Расположение блока управляющего RGB подсветкой

Для кнопок с цифрами, командой «Показать значок», пропишем индикацию светодиодной матрицы.

Для управления движением воспользуемся уже знакомой командой — «CarCtrlSpeed».

Составляем нашу программу.

Код подключения и программирование управления RGB подсветкой

Код подключения и программирование управления RGB подсветкой

Программирование управления движением робота

Программирование управления движением робота

Программирование индикации светодиодной матрицы

Программирование индикации светодиодной матрицы

Для быстрого программирования робота-конструктора скачайте и загрузите в micro:bit код урока 5. Или сверьте его со своим.

Заключение

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru