Содержание
- 2. Цели урока Научиться реализовывать алгоритмы для элементарных действий мобильного робота Познакомиться с базовыми алгоритмическими структурами
- 3. Движение вперед Движение вперед базовой тележки задается подачей на левый и правый мотор одинаковой скорости. В
- 4. Движение вперед
- 5. Подключение моторов У контроллера ТРИК четыре порта для подключения силовых моторов: M1, M2, M3 и M4.
- 6. Подключение моторов Подключение моторов в 2D-модели по умолчанию: левый — к порту M3 правый — к
- 7. Подключение моторов
- 8. Движение назад Движение назад выполняется аналогично. Используем блок «Моторы назад».
- 9. Движение назад
- 10. Движение назад Но! Диапазон подаваемой мощности: от -100 до 100 %. То есть для движения назад
- 11. Движение назад Но! Диапазон подаваемой мощности: от -100 до 100 %. То есть для движения назад
- 12. Повороты Повороты можно разделить на 3 типа: резкий поворот мощность подается только на одно колесо плавный
- 13. Модели алгоритмов Представленные выше алгоритмы – тайм-модели. Движение осуществляется по таймеру. Это «плохой» подход, так как
- 14. Точные перемещения Поставьте галочку «Сетка». Теперь вы можете отслеживать точные перемещения модели. 1 клетка = 17,5
- 15. Переменные Переменная — поименованная область памяти. В TRIK Studio можно ввести свои переменные, используя блоки: «Инициализация
- 16. Нецелые числа пишутся через точку. Например: 1.75 Для перехода на новую строку используйте «Shift» + «Enter»
- 17. Задача 2.1.1 Робот находится в синей зоне старта. Робот должен проехать вперед, развернуться на 180°между зонами
- 18. Задача 2.1.2. Обогнуть угол. Робот должен проехать вперед со скоростью 60, повернуть на 90°, проехать вперед
- 19. Точные перемещения. Задача Задача 2.1.3. Проехать вперед ровно на 1 метр и 5 сантиметров. Использовать энкодерную
- 20. Решение. Для решения этой задачи необходимо вспомнить элементарные формулы из курса школьной математики: расчет длины окружности
- 21. Точные перемещения. Решение
- 22. Точные перемещения. Задача Для решения вам понадобится дополнительный параметр: b = 17.5 см (ширина колеи робота)
- 23. Алгоритм Алгоритм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное
- 24. Алгоритмические структуры Следование (последовательность) — однократное выполнение операций в том порядке, в котором они записаны в
- 25. Следование (последовательность) — однократное выполнение операций в том порядке, в котором они записаны в тексте программы.
- 26. Задача 2.1.5. (самостоятельно) Написать алгоритм движения модели «змейкой». Использовать энкодерную модель. Следование. Задача
- 27. Ветвление Выполнение программы идет по одной из двух, нескольких или множества ветвей. Выбор ветви зависит от
- 28. Ветвление. Условный оператор Встречаются следующие формы условного оператора: Условный оператор с одной ветвью Условный оператор с
- 29. Неполное ветвление Пример в TRIK Studio if (encoder.[E2].read() robot.motor.[M2].setPower(100); robot.motor.[M1].setPower(100); Псевдокод Блок-схема Условие действие 1 нет
- 30. Полное ветвление if (encoder.[E2].read() robot.motor.[M2].setPower(100); else robot.motor.[M1].setPower(100); robot.wait(2000); Пример в TRIK Studio Условие действие 1 действие
- 31. Каскадные условия Условие Действие 1 нет да Блок-схема Псевдокод Условие Действие 2 да Действие 3 нет
- 32. Ветвление. Задача Задача 2.1.6. вывести на экран грустный смайлик, если робот далеко от стены, и веселый,
- 33. Ветвление. Задача В TRIK Studio все датчики подключаются на панели «Настройка сенсоров». Задача 2.1.6. вывести на
- 34. Ветвление. Задача Или в режиме 2D-модели на панели «Порты». Задача 2.1.6. вывести на экран грустный смайлик,
- 35. Ветвление. Задача Для ветвления в TRIK Studio используется блок «Условие», у которого имеется только одно свойство
- 36. Операторы Операторы сравнения Для задания различных условий роботу необходимы операторы сравнения и логические операторы.
- 37. Операторы Для задания различных условий роботу необходимы операторы сравнения и логические операторы. Логические операторы
- 38. Ветвление. Задача Инфракрасный датчик расстояния — аналоговый датчик для измерения расстояния. Рабочий диапазон: 10–80 см. sensorA1>50
- 39. Ветвление. Задача Псевдокод if (robot.sensor.[A1].read() > 50) robot.sadSmile(); else robot.smile(); robot.wait(3000); Решение в TRIK Studio На
- 40. Ветвление. Задача Для проверки задачи используйте 2 разных поля: на одном стена близко к роботу, на
- 41. Ветвление. Задача Задача 2.1.7 (самостоятельно) Вывести на экран: Веселый смайлик, если ИК датчик выдает до 40.
- 42. Switch Представляет собой структуру, построенную по принципу меню, и содержит все возможные варианты условий и инструкции,
- 43. Switch Данный пример демонстрирует случайный выбор одного из четырех состояний робота: «Я готов к роботе», «Улыбаюсь»,
- 44. Switch Написать программу, делающую случайный выбор одного из восьми состояний робота: «Я готов к роботе», «Улыбаюсь»,
- 45. Switch В TRIK Studio имеется блок «Получить код кнопки», который записывает код нажатой кнопки в переменную.
- 46. Switch Выполнять в цикле действия по нажатию клавиш: «вверх» (103) — крутить моторами вперед «вниз» (108)
- 47. Цикл Существует 4 основных вида циклов: Безусловные циклы Цикл с предусловием Цикл с постусловием Цикл со
- 48. Цикл безусловный while true do robot.motor.[M2].setPower(100); Пример в TRIK Studio В этом случае у программы может
- 49. Цикл с предусловием Блок-схема Псевдокод Условие Начало действие 1 нет да действие 2 Конец while encoder.[E2].read()
- 50. Цикл с постусловием Пример в TRIK Studio Условие действие 1 нет да действие 2 Конец do
- 51. Цикл с итерациями итерация Пример в TRIK Studio robot.motor.[M3].setPower(100); for (i = 0; i robot.wait(1); robot.motor.[M4].setPower(100);
- 52. Цикл. Задача Задача 2.1.10. «Настроение робота» Робот двигается прямо через черные и белые поля. Непрерывно выводить
- 53. Цикл. Задача Задача 2.1.10. «Настроение робота» Робот двигается прямо через черные и белые поля. Непрерывно выводить
- 54. Цикл. Задача Бесконечные циклы реализуются путем соединения одного из блоков с каким-либо предыдущим. Для циклов с
- 55. Цикл. Задача Псевдокод robot.motor.[M3].setPower(100); robot.motor.[M4].setPower(100); while true do if (robot.sensor.[A1].read() > 50) robot.smile(); else robot.sadSmile(); robot.wait(30);
- 56. Цикл. Задача Задача 2.1.11 (самостоятельно): «Кентервильское привидение». Кентервильский робот: привидение рисует каждую ночь лужи красной краской.
- 57. Цикл. Задача Пояснение. Выводить на экран: Веселый смайлик, если робот видит красную лужу (больше 72) или
- 58. Цикл. Задача Напишите программу: плавный разгон робота от 0 до 100 в течение 2 секунд, а
- 59. Цикл. Задача Напишите программу: плавный разгон робота от 0 до 100 в течение 2 секунд, а
- 61. Скачать презентацию