ОБРАЗОВАТЕЛЬНАЯ РОБОТОТЕХНИКА: ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ ДИСПЛЕЯ МОЗГОВОГО ЦЕНТРА VEX IQ ПРИ ПРОГРАММИРОВАНИИ РОБОТОВ

By | 23.04.2018
Статья опубликована в рамках: Международной научно-практической интернет-конференции «Актуальные проблемы методики обучения информатике в современной школе» (Россия, г.Москва, МПГУ, 24-26 апреля 2018г.)

ОБРАЗОВАТЕЛЬНАЯ РОБОТОТЕХНИКА: ИЗУЧЕНИЕ ВОЗМОЖНОСТЕЙ ДИСПЛЕЯ МОЗГОВОГО ЦЕНТРА VEX IQ ПРИ ПРОГРАММИРОВАНИИ РОБОТОВ

Векслер Виталий Абрамович
кандидат педагогических наук, доцент

ФГБОУ ВО «Саратовский национальный исследовательский
государственный университет имени Н.Г. Чернышевского»
Россия, г.Саратов
e-mail: Vitalv74@mail.ru

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

Существует большой ряд роботехнических конструкторов, созданных для работы в рамках образовательной деятельности. Выделим VEX IQ – это серия конструкторов, созданных для самых маленьких учеников. Датчики VEX IQ, включают в себя датчики света, гироскоп, датчик расстояния, помогают ребенку создать более продвинутых роботов, реагирующих на состояние внешней среды и дают больше возможностей для обучения Мозговой центр робота использует технологии с широкими функциональными возможностями и упрощает их до уровня пользователя, сохраняя высокий уровень. Кроме портов для подключения датчиков мозговой центр обладает LCD дисплеем. Дисплей позволяет отображать информацию не только служебного характера определенную разработчиком, но программируемую пользователем. Дисплей работает в двух режимах: в текстовом режиме отображает символы на одной из 6 возможных текстовых строк (0 – верхняя строка, 5 нижняя строка); в графическом режиме отображение объекта происходит по координатам: 48 вертикальных пиксел (Y – yPos от 0 до 47)  и 128 горизонтальных пиксел (X – xPos от 0 до 127), начало отсчета правый нижний угол.

Рассмотрим, возможности дисплея робота в примерах по программированию на языке RobotC стандартной модели Clawbot IQ With Sensors.

Пример 1. При приближении робота к объекту красного цвета, необходимо вывести на экран сообщении «Hello Red».

Решение:
setMultipleMotors(20, leftMotor, rightMotor);
waitUntil(getColorName(port3)==colorRed);
string printMe=»Hello»;
// вывод увеличенного текста по координатам
displayBigStringAt(10, 21, «%s «, printMe);

Пример 2. При движении робота выражение «I am go» двигается вертикально по строчкам монитора. Движение робота останавливается при приближении к объекту зеленого цвета.

Решение:
string printMe=»I am go»;
int NumberLine=0;
while ((getColorValue(colorDetector) <51) ||
(getColorValue(colorDetector) > 130))
{ setMultipleMotors(20, leftMotor, rightMotor); wait1Msec(1000); 
displayClearTextLine(NumberLine); // очистка строки 
NumberLine++; if (NumberLine==7) NumberLine=0;
// вывод текста по центру 
displayCenteredTextLine(NumberLine, «%s», printMe);}

Комментарий к примеру: Используется функция датчика цвета getColorHue. Цветовой датчик VEX IQ возвращает оттенок, как значение 0-255. Становится возможным, использовать следующие диапазоны для определения цвета: красный: от 0 до 50/220 до 255; зеленый: от 51 до 130; синий от 131 до 219.

Пример 3. Нарисуйте роботу глаза.

Решение:
drawEllipse(1, 46, 63, 1); fillCircle(31, 23, 10);
drawEllipse(64, 46, 126, 1); fillCircle(95, 23, 10);

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

int er=1;
while(true){
            if(getColorGrayscale(port3) < 10)
           {
                       if (er==0)  {er=1;
                       fillEllipse(1, 46, 63, 8); fillEllipse(64, 46, 126, 8);}}
            else
            {if (er==1)  {eraseDisplay();er=0;
                        drawEllipse(1, 46, 63, 8); fillCircle(31, 23, 10);
                        drawEllipse(64, 46, 126, 8); fillCircle(95, 23, 10);}}
             drawUserText(1, 7, «ColorGrayscale : %d», getColorGrayscale(port3));}

Комментарий:

Для определения черного цвета используем функцию getColorGrayscale (в режиме «grayscale mode») которая возвращает значение датчика цвета, в режиме «оттенки серого». Значения, возвращаемые цветовым датчиком, обычно находятся в диапазоне от 0 до 400. Темные объекты возвращают более низкие значения. Светлые объекты возвращают более высокие значения. Возвращенные значения будут различаться в зависимости от обнаруженной поверхности, внешнего освещения и других факторов окружающей среды (например, более яркий окружающий свет может привести к тому, что датчик вернется к более высоким средним значениям, чем обычно). В коде используется дополнительная переменна er – являющаяся флагом для избежание повторных прорисовок.

Пример 5. Простейшая анимация. Если робот смотрит на менее насыщенный объект его зрачки увеличиваются, иначе уменьшаются.    

 float radius=10;
drawEllipse(1, 46, 63, 9); drawEllipse(64, 46, 126, 9);   
while (1){ if (getColorSaturation(port3)<60)
         {radius=radius+0.001; if (radius>16) radius=16;}
         else
         { eraseCircle(31, 28, radius); eraseCircle(95, 28, radius);
             radius=radius-0.001; if (radius<3) radius=3;}
         fillCircle(31, 28, radius); fillCircle(95, 28, radius);
         drawUserText(1, 7, «ColorSat : %d %d», getColorSaturation(port3), radius);}

Комментарий.

Используется функция для определения насыщенности getColorSaturation («Hue» and «Color» modes). Возвращенные значения варьируются от 0 (низкая насыщенность) до 255 (высокая насыщенность). Насыщенность представляет собой воспринимаемая датчиком интенсивность цвета.

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

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

ЛИТЕРАТУРА:

  1. Филиппов С.А. Основы робототехники на базе конструктора Lego Mindstorm NXT. Занятие 6. Ориентация на местности: объезжаем стены // Компьютерные инструменты в школе. — № 6. 2010. – С. 43 – 50.
  2. Горнов О.А. Основы робототехники и программирования с Vex EDR. — М: Издательство «Экзамен», 2016. – 160 с.

Отправить ответ

Уведомить о
avatar
wpDiscuz