Рисунок. Наименование портов Hobot L
Функция - это записанный в отдельном месте код, который в программе повторяется несколько раз.
Функции в программировании нужны, чтобы упрощать и сокращать код и делать программу понятнее.
Функции в Scratch реализуются в разделе Мои блоки. Этот раздел позволяет создавать свои собственные блоки (функции) из комбинации нескольких уже имеющихся блоков (при этом одни функции могут входить в другие функции, реализуя весьма сложные алгоритмы).
создать собственную функцию:
Определить Вперёд
Определить Стоп
Когда нажата клавиша “стрелка вверх”:
Когда нажата клавиша “пробел”:
Рисунок. Оба мотора вращаются вперёд -> робот едет Вперёд
Рисунок. Оба мотора вращаются назад -> робот едет Назад
Используя полученную информацию, сделаем функцию для движения робота Назад:Определить Назад
Когда нажата клавиша “стрелка вниз”:
Определить Вперёд:
Как видим, теперь нам надо помнить номера 4 пинов, которыми управляются моторы робота (4, 5, 6 и 7), при этом помнить, какие 2 из них управляют левым мотором, какие 2 - правым и какие ответственны за включение и скорость мотора, а какие - за направление вращения. Держать это в голове тяжело, особенно когда параллельно с этим разрабатывается достаточно сложная программа перемещения робота с использованием датчиков (пины подключения которых тоже нужно будет помнить). В связи с этим в дальнейшем для пинов будем использовать переменные с “говорящими именами” - названиями, которые сами говорят о том, что записано внутри этой переменной.
Переменная - это область памяти компьютера, которая имеет название и хранит внутри себя какие-либо данные.
Переменную можно сравнить с коробкой, на которой написано название переменной, например “Скорость”, а внутри коробки лежит листок бумаги, на которой написано число. Условно говоря, когда компьютер видит переменную “Скорость”, он берет коробку с этой надписью, читает, что написано на бумаге в этой коробке и выводит в качестве значения переменной.
Таким образом, если мы запишем в переменную “Скорость” значение 120, то везде, где компьютер увидит эту переменную, он все равно что увидел число 120.
При этом, если мы перепишем значение переменной (листа бумаги в коробке “Скорость”) на 100, то везде, где компьютер видит переменную “Скорость”, он будет видеть число 100.
Работа с переменными осуществляется в разделе Переменные (оранжевый круг). Команды:
Мотор левый Направление
Мотор правый Направление
Мотор левый Скорость
Мотор правый Скорость
Определить Вперёд:
Определить Назад:
Определить Стоп:
Разберем и добавим еще два направления - движения Влево и Вправо:
Рисунок. Левый мотор назад, правый мотор вперёд -> робот крутится Влево
Рисунок. Левый мотор вперёд, правый мотор назад -> робот крутится Вправо
Составим таблицу сочетаний пинов направлений (4 и 7) для всех направлений вращения робота:Определить Влево:
Определить Вправо:
Когда нажата клавиша “стрелка влево”:
Когда нажата клавиша “стрелка вправо”: