Найти в Дзене

mBot2 #17. УЗ - датчик расстояния. Ultrasonic Sensor 2

Сегодня поработаем над проектами с использованием ультразвукового датчика расстояния. В данном случае будем говорить о комплектном УЗ датчике робота mBot2. Устроен он так же, как и большинство подобных датчиков. Передатчик слева излучает ультразвуковые волны, а приёмник справа принимает отражённые ультразвуковые волны. Ну и по времени задержки сигнала можно определять расстояния от препятствия до датчика. TX (Transmit) означает передатчик или передачу данных, а RX (Receive) означает приемник или прием данных. Датчик от MakeBlock упакован в пластиковую защиту, что хорошо, т.к. часто это является требованием в спортивных дисциплинах. Да и сохранность датчика повышается. Ну а симпатичная подсветка из 8 светодиодов, похожего на глаза робота, добавляет антуражности и эстетичности))) Кроме того, подсветкой можно управлять, так что и это можно использовать в проектах. Подробнее о датчике - на странице разработчика. Там же примеры использования. Для пробы создадим проект, в котором робот бу
Оглавление

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

Ultrasonic Sensor 2 (УЗ датчик)

В данном случае будем говорить о комплектном УЗ датчике робота mBot2. Устроен он так же, как и большинство подобных датчиков. Передатчик слева излучает ультразвуковые волны, а приёмник справа принимает отражённые ультразвуковые волны. Ну и по времени задержки сигнала можно определять расстояния от препятствия до датчика. TX (Transmit) означает передатчик или передачу данных, а RX (Receive) означает приемник или прием данных.

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

Ну а симпатичная подсветка из 8 светодиодов, похожего на глаза робота, добавляет антуражности и эстетичности)))

-2
-3

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

Подробнее о датчике - на странице разработчика. Там же примеры использования.

Проект "Держи дистанцию"

Для пробы создадим проект, в котором робот будет поддерживать определенную дистанцию от предметов впереди. Например 20 см. При уменьшении расстояния робот должен будет отъехать от препятствия, при увеличении - подъехать к нему.

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

Сразу оговоримся, что лучше создать некий зазор - "мертвую" зону, в которой робот не будет реагировать на изменение расстояния. Иначе он слишком часто будет дергаться с движением. Пусть он начнет приближаться к объекту, если тот удалится на 22 см, а отъезжать - если приблизится на 18. И подсветку подключим, все симпатичнее будет).

Примерно так:

-4

Попробуйте загрузить программу в робота и посмотрите, как она выполняется. Препятствием может быть и ваша рука, и любая коробка. Двигайте рукой к/от робота, наблюдайте за реакцией.

-5

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

Интересно, когда есть несколько роботов. Тогда их можно запускать цепочкой)))

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

Ранее в цикле: