СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Урок 61. Создание кодов программ для двух датчиков касания

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Урок 61. Создание кодов программ для двух датчиков касания»

Создание кодов программ для двух датчиков касания

Создание кодов программ для двух датчиков касания

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

Датчик касания как способ ориентации роботов

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

Если ты наткнешься на стену или другое препятствие, ты отойдешь от стены и повернешь либо налево, либо направо и пойдешь снова, вытянув руки вперед, пока не наткнешься на вторую стену, и снова отойдешь от стены и снова повернешь либо налево, либо направо

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

Вспомни! Что такое датчик касания.   Датчик касания — это «палец» робота. Он чувствует, когда что‑то нажимает на его кнопку. Если нажать на кнопку — датчик посылает сигнал роботу: «Эй, меня коснулись!» Зачем он нужен? Чтобы робот останавливался перед стеной. Чтобы он реагировал на нажатие кнопки. Чтобы понимал, где он находится (например, доехал ли до края стола).

Вспомни! Что такое датчик касания.

Датчик касания — это «палец» робота.

Он чувствует, когда что‑то нажимает на его кнопку.

Если нажать на кнопку — датчик посылает сигнал роботу: «Эй, меня коснулись!»

Зачем он нужен?

  • Чтобы робот останавливался перед стеной.
  • Чтобы он реагировал на нажатие кнопки.
  • Чтобы понимал, где он находится (например, доехал ли до края стола).

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

Использование двух датчиков касания

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

Основные сценарии использования двух датчиков касания.  Сценарий 1. Робот-исследователь препятствий     Задача: робот движется вперёд, пока не наткнётся на препятствие. В зависимости от того, какой датчик сработал, он объезжает препятствие слева или справа. Расположение датчиков: левый датчик — спереди слева; правый датчик — спереди справа. Логика работы: если сработал левый датчик → поворот направо; если сработал правый датчик → поворот налево; если сработали оба → отъезд назад и поворот на 90° в случайную сторону.

Основные сценарии использования двух датчиков касания. Сценарий 1. Робот-исследователь препятствий

Задача: робот движется вперёд, пока не наткнётся на препятствие. В зависимости от того, какой датчик сработал, он объезжает препятствие слева или справа.

Расположение датчиков:

  • левый датчик — спереди слева;
  • правый датчик — спереди справа.

Логика работы:

  • если сработал левый датчик → поворот направо;
  • если сработал правый датчик → поворот налево;
  • если сработали оба → отъезд назад и поворот на 90° в случайную сторону.

Основные сценарии использования двух датчиков касания.  Сценарий 2. Робот-охранник периметра      Задача: робот патрулирует периметр и подаёт сигнал тревоги при касании любого из датчиков. Расположение датчиков: по бокам робота (для контроля зоны вокруг). Логика работы: если нажат хотя бы один датчик (логика «ИЛИ»), робот: останавливается; включает звуковой сигнал (сирену); мигает красным индикатором EV3-блока; ждёт 3 секунды; продолжает патрулирование.

Основные сценарии использования двух датчиков касания. Сценарий 2. Робот-охранник периметра

Задача: робот патрулирует периметр и подаёт сигнал тревоги при касании любого из датчиков.

Расположение датчиков: по бокам робота (для контроля зоны вокруг).

Логика работы: если нажат хотя бы один датчик (логика «ИЛИ»), робот:

  • останавливается;
  • включает звуковой сигнал (сирену);
  • мигает красным индикатором EV3-блока;
  • ждёт 3 секунды;
  • продолжает патрулирование.

Сценарий 3. Робот-парковщик   Задача: автоматическая парковка в ограниченном пространстве. Расположение датчиков: спереди и сзади робота. Логика работы: робот заезжает в бокс и определяет границы: передний датчик касается стены → остановка, отъезд назад; задний датчик касается стены → остановка, движение вперёд; оба датчика касаются стен → успешная парковка, звуковой сигнал.

Сценарий 3. Робот-парковщик

Задача: автоматическая парковка в ограниченном пространстве.

Расположение датчиков: спереди и сзади робота.

Логика работы: робот заезжает в бокс и определяет границы:

  • передний датчик касается стены → остановка, отъезд назад;
  • задний датчик касается стены → остановка, движение вперёд;
  • оба датчика касаются стен → успешная парковка, звуковой сигнал.

Блок «Логические операции»   Для программирования сложных условий, в которых проверяется состояние двух датчиков, в среде программирования Lego Mindstorms Education EV3 используется блок «Логические операции». Он находится в красной палитре «Операции с данными»

Блок «Логические операции»

Для программирования сложных условий, в которых проверяется состояние двух датчиков, в среде программирования Lego Mindstorms Education EV3 используется блок «Логические операции».

Он находится в красной палитре «Операции с данными»

Логические операции: что это и зачем нужны?   Логические операции — это «слова» , которые помогают роботу принимать решения. Они отвечают на вопрос: «Что делать, если…?» Основные операции для двух датчиков: И (AND) — робот реагирует, только если оба датчика нажаты одновременно.  Пример: робот едет вперёд, пока не упрётся в угол (оба датчика коснулись стен). ИЛИ (OR) — робот реагирует, если нажат хотя бы один датчик.  Пример: робот останавливается, если коснулся стены левой или правой кнопкой. Исключающее ИЛИ (XOR) — робот реагирует, если нажат только один датчик.  Пример: если робот коснулся стены левой кнопкой, то поворачивает направо, если коснулся правой кнопкой, то поворачивает налево, если конулся обоими кнопками или не коснулся ни одной - робот продолжает движение. Исключение НЕ (NOT) — робот делает что‑то, если датчик НЕ нажат.  Пример: робот едет, пока ни один датчик не нажат.

Логические операции: что это и зачем нужны?

Логические операции — это «слова» , которые помогают роботу принимать решения. Они отвечают на вопрос: «Что делать, если…?»

Основные операции для двух датчиков:

  • И (AND) — робот реагирует, только если оба датчика нажаты одновременно. Пример: робот едет вперёд, пока не упрётся в угол (оба датчика коснулись стен).
  • ИЛИ (OR) — робот реагирует, если нажат хотя бы один датчик. Пример: робот останавливается, если коснулся стены левой или правой кнопкой.
  • Исключающее ИЛИ (XOR) — робот реагирует, если нажат только один датчик. Пример: если робот коснулся стены левой кнопкой, то поворачивает направо, если коснулся правой кнопкой, то поворачивает налево, если конулся обоими кнопками или не коснулся ни одной - робот продолжает движение.
  • Исключение НЕ (NOT) — робот делает что‑то, если датчик НЕ нажат. Пример: робот едет, пока ни один датчик не нажат.
Логическая операция «И» «Логическая операция И» необходима для проверки срабатывания сразу двух условий. Пример из жизни: т ебе задали домашнее задание по русскому языку и по математике. Домашнее задание считается выполненным тогда, когда сделаны задания и по математике, и по русскому языку. Пример из робототехники: Если у робота есть два датчика касания, то условие может быть такое: «Если нажат датчик касания 1 И нажат датчик касания 2, то остановить моторы робота». Если хотя бы один датчик не будет нажат, то в таком случае робот не остановится.

Логическая операция «И»

«Логическая операция И» необходима для проверки срабатывания сразу двух условий.

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

Пример из робототехники: Если у робота есть два датчика касания, то условие может быть такое: «Если нажат датчик касания 1 И нажат датчик касания 2, то остановить моторы робота». Если хотя бы один датчик не будет нажат, то в таком случае робот не остановится.

Логическая операция «ИЛИ» Логическая операция «ИЛИ» не такая строгая: если условия два, то в этом случае необходимо, чтобы выполнилось хотя бы одно из них. При этом могут выполниться и оба условия. Пример из жизни: ты испытываешь легкое чувство голода, на перекус есть банан или яблоко. Ты можешь съесть только банан — немного перекусить, можешь съесть яблоко — тоже немного перекусить, а можешь съесть и то и другое — хорошо перекусить. Пример из робототехники. «Если датчик касания 1 нажат ИЛИ датчик касания 2 нажат, то робот повернет направо». В этом случае достаточно касания хотя бы одного датчика, чтобы робот повернул направо.

Логическая операция «ИЛИ»

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

Пример из жизни: ты испытываешь легкое чувство голода, на перекус есть банан или яблоко. Ты можешь съесть только банан — немного перекусить, можешь съесть яблоко — тоже немного перекусить, а можешь съесть и то и другое — хорошо перекусить.

Пример из робототехники. «Если датчик касания 1 нажат ИЛИ датчик касания 2 нажат, то робот повернет направо». В этом случае достаточно касания хотя бы одного датчика, чтобы робот повернул направо.

Логическая операция «Исключающее ИЛИ» Логическая операция «исключающее ИЛИ» более строгая, чем логическая операция «ИЛИ» : если условий два, то в этом случае необходимо, чтобы выполнилось только одно из них: либо первое, либо второе. Пример из жизни: В длинном коридоре установлены два переключателя, которые управляют одной лампой. Лампа горит, если один из выключателей включён, а другой выключен. Пример из робототехники. Робот движется вперёд. При срабатывании только одного датчика он поворачивает в противоположную сторону, чтобы обойти препятствие. Если сработают оба датчика одновременно (робот упёрся в угол), он останавливается и ждёт дальнейших команд.

Логическая операция «Исключающее ИЛИ»

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

Пример из жизни: В длинном коридоре установлены два переключателя, которые управляют одной лампой. Лампа горит, если один из выключателей включён, а другой выключен.

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

Логическая операция «Исключение (NOT)» Логическая операция «Исключение (NOT)» позволяет проверить, что какое‑то событие не происходит или какое‑то состояние не выполняется. Пример из жизни.  Датчик движения в прихожей: свет в прихожей выключается, когда нет движения в течение 30 секунд (чтобы не гореть зря). Пример из робототехники. Робот с кнопкой запуска: робот не начинает движение, пока не будет нажата кнопка запуска.

Логическая операция «Исключение (NOT)»

Логическая операция «Исключение (NOT)» позволяет проверить, что какое‑то событие не происходит или какое‑то состояние не выполняется.

Пример из жизни. Датчик движения в прихожей: свет в прихожей выключается, когда нет движения в течение 30 секунд (чтобы не гореть зря).

Пример из робототехники. Робот с кнопкой запуска: робот не начинает движение, пока не будет нажата кнопка запуска.

Ответь на вопросы Для чего нужны логические операции? Охарактеризуй работу логических операций «И», «ИЛИ», исключающего «ИЛИ». Приведи пример жизненной ситуации, которую можно описать при помощи блоков «И», «ИЛИ», исключающего «ИЛИ». Можно ли использовать логические блоки «И», «ИЛИ» без оператора «Переключатель»?

Ответь на вопросы

  • Для чего нужны логические операции?
  • Охарактеризуй работу логических операций «И», «ИЛИ», исключающего «ИЛИ».
  • Приведи пример жизненной ситуации, которую можно описать при помощи блоков «И», «ИЛИ», исключающего «ИЛИ».
  • Можно ли использовать логические блоки «И», «ИЛИ» без оператора «Переключатель»?
Подключите к контроллеру моторы и датчики касания. Проведи эксперимент с программированием касания на кнопку и блоками «И», «ИЛИ».    Возьмите моторы и два датчика касания. Подключите моторы в порты В и С модуля EV3, а датчики касания в порты 1 и 2. Теперь робот «видит» оба датчика.

Подключите к контроллеру моторы и датчики касания. Проведи эксперимент с программированием касания на кнопку и блоками «И», «ИЛИ».

Возьмите моторы и два датчика касания.

Подключите моторы в порты В и С модуля EV3, а датчики касания в порты 1 и 2.

Теперь робот «видит» оба датчика.

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

Ответь на вопросы

  • Расскажи о способе подключения датчиков касания и мотора. Влияет ли номер порта, куда они подключены, на программу?
  • Можно ли реализовать проверку показаний с датчиков, не используя логические операции?
  • Опиши различия между режимами «И», «ИЛИ», исключающее «ИЛИ».
  • Расскажи о разнице между работой программ.
Программа, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается. Напишем программу, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается. Блок “Начало” Блок “Ожидание” Режим “Датчик касания” - Изменить - Состояние Порт 1 Режим “Датчик касания” - Изменить - Состояние Порт 1 Блок “Ожидание” Режим “Датчик касания” - Изменить - Состояние Порт 2 Режим “Датчик касания” - Изменить - Состояние Порт 2

Программа, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается.

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

  • Блок “Начало”
  • Блок “Ожидание”
  • Режим “Датчик касания” - Изменить - Состояние Порт 1
  • Режим “Датчик касания” - Изменить - Состояние
  • Порт 1
  • Блок “Ожидание” Режим “Датчик касания” - Изменить - Состояние Порт 2
  • Режим “Датчик касания” - Изменить - Состояние
  • Порт 2
Программа, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается. Чтобы робот реагировал на нажатие любого датчика касания, добавим блок «Логические операции» Блок «Логические операции» Режим « ИЛИ » Ввод « а » - от датчика 1 Ввод « b » - от датчика 2 Режим « ИЛИ » Ввод « а » - от датчика 1 Ввод « b » - от датчика 2

Программа, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается.

Чтобы робот реагировал на нажатие любого датчика касания, добавим блок «Логические операции»

  • Блок «Логические операции»
  • Режим « ИЛИ » Ввод « а » - от датчика 1 Ввод « b » - от датчика 2
  • Режим « ИЛИ »
  • Ввод « а » - от датчика 1
  • Ввод « b » - от датчика 2
Программа, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается. Для вращения моторов добавим блок «Рулевое управление» Режим «Включить на количество секунд» Направление «Вперед» Мощность 50% Количество секунд 3 секунды Тормозить в конце - Истина Загрузите программу в контроллер. Нажмите на датчик касания робота. Робот начнет движение и будет двигаться вперед со средней скоростью 3 секунды

Программа, в которой при нажатии на любую из кнопок мотор вращается 3 секунды, затем останавливается.

Для вращения моторов добавим блок «Рулевое управление»

  • Режим «Включить на количество секунд»
  • Направление «Вперед»
  • Мощность 50%
  • Количество секунд 3 секунды
  • Тормозить в конце - Истина

Загрузите программу в контроллер. Нажмите на датчик касания робота. Робот начнет движение и будет двигаться вперед со средней скоростью 3 секунды

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

Измени программу так, чтобы моторы включались только если обе кнопки нажаты.

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

  • Включи контроллер и подключи его к компьютеру. Нажми на кнопку загрузки программы в контроллер.
  • Дождись успешной загрузки.
  • Устно опиши алгоритм работы программы.
Ответь на вопросы: Сравни две логические операции, которые были использованы тобой в программе. Охарактеризуй процесс их работы.

Ответь на вопросы:

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