Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Практическое занятие 4. Остановка робота у стены




Алгоритм езды робота: Если расстояние впереди больше 20 см – ехать вперед. Иначе - остановиться

1. Откройте программу езды по линии на одном датчике, написанную ранее

2. Проведите следующие изменения в коде, чтобы робот работал с датчиком расстояния, а не линии (участки кода для замены взяты из примера Ultrasonic2serial):

Исходный код Заменить на код
int line_pin = 11; int line_state = 0; #include "Ultrasonic.h" Ultrasonic ultrasonic(12, 13);
pinMode(line_pin, INPUT); Убрать вообще
line_state = digitalRead(line_pin); float dist_cm = ultrasonic.Ranging(CM);
if (line_state == LOW) { analogWrite(In1, speed_right); analogWrite (In3, 0); } if (dist_cm > 20) { // команды моторам для езды вперед }
else { analogWrite (In1, 0); analogWrite(In3, speed_right); } else { // команды моторам для остановки }

 

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






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных