Занятие № 4. Датчик цвета

Задание № 1. Определение цвета

Подключите датчик цвета к порту 3. Датчик должен быть направлен в сторону поверхности по которой движется робот.


Один из способов присоединить датчик:

1.1 Остановка по цвету

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

Video Player is loading.
Current Time 0:00
Duration 0:05
Loaded: 100.00%
Stream Type LIVE
Remaining Time 0:05
 
1x
    • Chapters
    • descriptions off, selected
    • subtitles off, selected

      1.2 Определитель цвета

      Робот выводит на экран название цвета, который находится под датчиком.

      Рисунок 1
      ✍️ Сделайте самостоятельно

      1.3 Движение по меткам

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

      • белый - движение прямо;
      • красный - поворот налево на 90 градусов (поворот на месте);
      • синий - поворот направо на 90 градусов (поворот на месте);
      • нет цвета - остановка.

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

      Video Player is loading.
      Current Time 0:00
      Duration 0:20
      Loaded: 0.00%
      Stream Type LIVE
      Remaining Time 0:20
       
      1x
        • Chapters
        • descriptions off, selected
        • subtitles off, selected

          За основу возьмите код на .

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

          Задание № 2. Движение по линии

          Реализуем релейный алгоритм движения по линии.

          Для движения по линии нужно определить среднюю точку - значение количества отражённого света, после которого робот будет менять своё состояние.

          Включите режим просмотра портов:

          Кликните по изображению датчика цвета и выберите режим Яркость отраженного света:

          Поставьте робота на белую часть поля и запишите показания датчика d1:

          Поставьте робота на линию и запишите показания датчика d2. Найдите среднее значение между d1 и d2. Это и будет значение средней точки M. Используйте это значение в следующем алгоритме.

          2.1 Релейный алгоритм движения по линии

          Составьте следующую программу для движения робота по линии:

          Рисунок 2

          В условии блока Переключатель используйте значение M из прошлого задания.

          Video Player is loading.
          Current Time 0:00
          Duration 0:11
          Loaded: 100.00%
          Stream Type LIVE
          Remaining Time 0:11
           
          1x
            • Chapters
            • descriptions off, selected
            • subtitles off, selected

              2.2 Пропорциональный алгоритм движения по линии

              Составьте следующую программу для движения по линии. Значение средней точки M возьмите из предыдущих заданий.

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

              Значение количества отражённого света получим с помощью блока Датчик освещённости. Блок Математика переключим в режим ADV. Введите выражение в текстовое поле. Значения из одного блока в другой передаём с помощью шин.

              Величину поворота X рассчитаем по формуле: X=(Ms)k М - средняя точка, s - показания датчика, k - коэффициент коррекции. Разность в скобках принято называть ошибкой или рассогласованием.

              Подберите такое значение коэффициента k, чтобы движение по линии было плавным, без рывков.

              Дополнительные задания

              ✍️ Сделайте самостоятельно

              3. Грузоперевозки

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

              • Белый цвет - двигаться прямо;
              • Зелёный цвет - повернуть налево и немного проехать прямо;
              • Чёрный цвет - развернуться на месте и немного проехать прямо.
              Video Player is loading.
              Current Time 0:00
              Duration 0:29
              Loaded: 100.00%
              Stream Type LIVE
              Remaining Time 0:29
               
              1x
                • Chapters
                • descriptions off, selected
                • subtitles off, selected
                  ✍️ Сделайте самостоятельно

                  4. Линия с препятствиями

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

                  Video Player is loading.
                  Current Time 0:00
                  Duration 0:14
                  Loaded: 100.00%
                  Stream Type LIVE
                  Remaining Time 0:14
                   
                  1x
                    • Chapters
                    • descriptions off, selected
                    • subtitles off, selected

                      Подключите к роботу ультразвуковой датчик расстояния.