Главная страница
Навигация по странице:

  • Датчик

  • Задача

  • Инфракрасный

  • Режим

  • Кнопки

  • 2.7 Синяя палитра «Дополнения».

  • Совместная работа нескольких роботов

  • Связь

  • Полезные

  • Создание

  • робот. Учебное пособие по программированию в среде Lego Mindstorms ev3 Учебное пособие предназначено для обучающихся и педагогов, изучающих


    Скачать 2.03 Mb.
    НазваниеУчебное пособие по программированию в среде Lego Mindstorms ev3 Учебное пособие предназначено для обучающихся и педагогов, изучающих
    Анкорробот
    Дата16.02.2022
    Размер2.03 Mb.
    Формат файлаdocx
    Имя файлаLego_Mindstorms_EV3 (1)111.docx
    ТипУчебное пособие
    #364376
    страница5 из 5
    1   2   3   4   5

    2.6. Работа с датчиками



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

    Датчики в среде программирования EV3 представлены жёлтой палитрой.


    Датчик касания

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




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


    Задача:Создать программу: при нажатии на датчик касания робот крутится на месте.

    Датчик цвета

    Цифровой датчик цвета EV3 способен:

    Различить семь различных цветов, обозначенных цифрами (1 чёрный, 2

    синий, 3 – зелёный, 4 – желтый, 5 – красный, 6 – белый, 7 – коричневый). А также:


    • определить отсутствие цвета перед датчиком (код – 0);

    • определить яркость отраженного от поверхности света по 100- бальной шкале;

    • определить яркость внешнего освещения по 100-бальной шкале.

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


    Например: создадим программу для движения по черной линии с одним датчиком цвета.


    Задача:создать программу, чтобы робот озвучивал название цветов.

    Гироскопический датчик

    Цифровой гироскопический датчик предназначен для измерения угла и направления вращения робота, а также скорости его вращения. Точность измерения составляет +/-30 , максимальная скорость проведения измерений 4400/сек., частота опроса датчика 1кГц.


    Гироскопический датчик определяет движение вокруг одной оси вращения. Это направление указано стрелкой на корпусе датчика. Угол и направление вращения может быть положительным или отрицательным. Вращение по часовой стрелке считается положительным, против часовой стрелки отрицательным. Единица измерения скорости градусы в секунду.

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


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




    Задача: создать программу, чтобы робот проехал по траектории в виде квадрата.

    Ультразвуковой датчик

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

    Минимальное определяемое расстояние – 3 см, максимальное – 250 см. Точность определения расстояния +/- 1 см. Если смотреть на датчик спереди, то левая сторона содержит передатчик сигнала, правая приемник сигнала.

    Угол излучения пучка лучей составляет примерно 200. Если мы поместим какой-либо объект на расстоянии 1 м перед датчиком, то ширина пучка лучей у объекта составит 65 см.

    Ультразвуковой датчик работает в режиме измерения, сравнения и ожидания.

    Например: создадим программу, что бы робот мог объезжать препятствия.




    На рисунке, если расстояние до препятствия меньше 50 см. то робот поворачивает. Если расстояние от 50 и больше, то робот едет прямо.

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

    Инфракрасный датчик и маяк

    Цифровой инфракрасный датчик (ИК-датчик) определяет расстояние до любого объекта, расстояние и расположение инфракрасного маяка, считывает и распознает сигналы от инфракрасного маяка. Маяк (ИК-маяк) позволяет осуществлять дистанционное управление роботом. Радиус действия маяка до 2 метров.




    Режим определения относительного расстояния до объекта (Приближение).

    В этом режиме датчик посылает инфракрасные сигналы и оценивает мощность отражённого сигнала. Если мы измеряем расстояние до объекта в том случае, когда он находится очень далеко, результат будет иметь значение 100,если очень близко (минимум 1 см) – 0. Мощность отражённого излучения сильно зависит от материала и цвета. Для определения точного расстояния используйте ультразвуковой датчик.


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

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



    В случае, когда маяк расположен прямо перед датчиком, относительный результат измерения угла будет равен 0, максимальное расположение маяка слева, против часовой стрелки -25, справа по часовой стрелке 25.

    Режим дистанционного управления.

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

    Допускается одновременное нажатие двух управляющих кнопок. Каждый из этих вариантов пронумерован.


    Например:

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

    Установим робота с ИК-датчиком перед объектом, например, белого цвета, и зафиксируем показание, допустим 70 единиц. Затем направим датчик в сторону чёрного объекта (расстояние должно быть таким же) и зафиксируем результат, допустим 40 единиц. Повторим действия с объектами других цветов. Объекты должны отличаться только цветом, форма, размер и материал должны быть одинаковыми.

    В программе пропишем: если измеренное расстояние попадает в диапазон от X до Y единиц, значит, цвет белый и т.д. Практика показывает, что разница между черными и белыми объектами на расстоянии около 30 см может достигать 20 единиц. В случае, когда необходимо определять цвета, например, красный, зелёный, синий, разброс значений будет не таким большим, но его можно обнаружить, Значения также будут различаться в зависимости от материала и температуры объекта.

    Датчик Вращение мотора

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



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

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

    Кнопки управления модулем

    Модуль EV3 анализирует данные от пяти кнопок управления модулем (влево, центр, вправо, вверх и вниз), расположенных на передней панели. Существует возможность узнать, какая кнопка нажата, проверить режим нажатия (Нажатие, освобождение или щелчок) и получить логический вывод о нажатии (Истина или Ложь).

    На рисунке программный блок «Кнопки управления модулем EV3».



    Кнопка «Назад» на модуле EV3 не относится к кнопкам управления модулем, а прерывает выполнение программы. Одновременное нажатие двух кнопок недопустимо.

    У каждой кнопки есть свой номер.

    Как и в других датчиках кнопки имеют режимы Сравнение, Измерение и Изменение.

    Например: создадим программу, которая активируется нажатием на среднюю кнопку EV3.




    2.7 Синяя палитра «Дополнения». Работа с файлами

    Работа с файлами позволяет хранить информацию после выключения

    питания робота.

    Алгоритм работы с файлами:


    • Запись данных в файл (если до этого момента файл не существовал, программа создаст его);

    • Закрытие файла;

    • Чтение данных из файла.

    Записать данные в файл можно непосредственно в блоке или передать через проводник. Третий блок в каждом варианте – блок «Доступ к файлу» в режиме «Закрыть».





    На рисунке ввод данных непосредственно в файл и через проводник

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

    Выберите пункт «Инструменты Обозреватель памяти».

    Дважды щелкните левой кнопкой мыши по названию проекта и выберите название файла. Выберите «Загрузить».

    Совместная работа нескольких роботов Соединение роботов кабелем USB

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




    На рисунке представлена схема последовательного подключения блоков EV3 – USB-порт сбоку на первом модуле EV3 соединяется с мини-портом USB следующего модуля EV3 с помощью USB-кабеля, входящего в комплект робота. Порт USB сбоку второго блока EV3 соединяется с мини-портом USB третьего блока EV3 и т.д.

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

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

    Далее создаем программу и загружаем её в первый (главный «master») блок EV3. Каждый программный блок датчика или мотора теперь имеет дополнительное окно для выбора номера блока EV3. Такие действия, как проигрывание звука, вывод текста или изображения на экран, подсветка кнопок и анализ состояния кнопок, возможны только на первом блоке EV3.

    Связь роботов с помощью Bluetooth-соединения

    Что бы связать роботов необходимо включить Bluetooth и сделать их видимым. Пусть мы связываем два робота EV31 и EV32. Для этого последовательно ставим флажки в пунктах Bluetooth и Visibility (видимость). Затем на каждом роботе выбираем Connections и Search (поиск).

    Робот EV31 найдет робота EV32, а робот EV32 обнаружит робота EV31. После ввода одинаковых паролей (по умолчанию 1234) роботы будут соединены и готовы к совместной работе.

    Для работы нам будет необходим программный блок Обмен сообщениями, находящийся на синей программной палитре.



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

    • Куда (название блока EV3, в который мы посылаем сообщение или от кого (название EV3-блока, от которого мы ждём сообщение);

    • Название сообщения;

    • Cодержание сообщения;

    • тип сообщения (текстовое, числовое, логическое). Пример совместной работы двух роботов «Фабрика спиннеров»


    Полезные блоки и инструменты

    Блок «Поддерживать в активном состоянии»

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



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

    Например: Если яркость внешнего освещения меньше 40, тогда робот открывает жалюзи. А чтобы робот не отключился, мы каждую минуту сбрасываем таймер выключения с помощью блока «Поддерживать в активном состоянии».




    Блок «Остановить программу»

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




    Например: Мотор, подключенный в порт А будет крутиться 10 оборотов или 10 секунд




    Создание подпрограмм

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

    Использование блоков подпрограмм позволяет сократить запись программы, сделать её более читабельно и простой в восприятии.

    Для создания подпрограммы необходимо выделить блоки которые будут составлять подпрограмму и нажать «инструменты конструктор моего блока»


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

    Заключение


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

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

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

    При написании учебного пособия использовались материалы с сайтов:


    education.lego.com www.lego.com robot-help.ru
    1   2   3   4   5


    написать администратору сайта