|
|||
Категории: АстрономияБиология География Другие языки Интернет Информатика История Культура Литература Логика Математика Медицина Механика Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Транспорт Физика Философия Финансы Химия Экология Экономика Электроника |
Практическое занятие 3. Простое движение по линии на одном датчикеКурс «Основы робототехники. Продвинутый уровень» Занятие 6. Робот, следующий по линии Практическое занятие 1. Установка датчиков линии на робота Установите датчики линии на робота. Держатель датчиков линии собирается из двух коротких палки и одной длинной (см. набор чертежей к конструктору Роботехник). Датчик линии крепится к держателю на длинном винте. При этом необходимо следить, чтобы расстояние от датчика до поверхности было не больше 10 мм Практическое занятие 2. Проверка и настройка датчиков 1. Подключите датчик линии к контроллеру. Контакт V+ к 5V, Gnd к Gnd, S к одному из цифровых 2. Откройте пример Digital / Button. Замените пин, к которому подключена кнопка (int buttonPin = 2;) в примере на тот, к которому подключен датчик линии. Загрузите программу в контроллер 3. Попробуйте датчик над темной и светлой поверхностью. Датчик должен быть слегка поднят над поверхностью, но расстояние от ИК светодиода и приемника (голубой и черный маленькие стеклянные полусферы на датчике) до поверхности – не более 10 мм 4. Если датчик и на светлой, и на темной поверхности реагирует одинаково (состояния светодиодов на датчике и контроллере не меняются), настройте датчик, поворачивая отверткой подстроечные резистор на нем до тех пор, пока состояния светодиодов над темной и светлой поверхностью не будут меняться 5. По результатам испытаний видим, что когда датчик над светлой поверхностью и светодиод на нем горит, светодиод на контроллере наоборот, погасает. И наоборот, над темной поверхностью светодиод на контроллере загорается. Исходя из загруженной в контроллер программы видно, что над светлой поверхностью датчик посылает сигнал LOW, а над темной – HIGH Практическое занятие 3. Простое движение по линии на одном датчике 1. Напишем программу для движения робота по черной линии на белом фоне. Написана на основе примера Digital / Button. Загрузите в контроллер данную программу, проведите испытания. При необходимости еще раз настройте датчик линии. При необходимости измените направления движения
2. Возможно, скорость робота получилась слишком большой и с линии он съезжает. Для снижения скорости нужно провести следующую замену:
В данному случае число в analogWrite – скорость вращения мотора робота, от 0 (мотор стоит) до 255 (максимальная скорость, такая же выдается при команде digitalWrite HIGH). Скорость 150 дана для примера, подбирается оптимум между скоростью и точностью, чтобы с одной стороны, робот не съезжал с линии, с другой стороны, проходил ее как можно быстрее 3. Доработайте программу, постаравшись найти оптимум и замерьте время проезда робота от старта до финиша на поле для соревнований по траектории секундомером Примечание: для повышения скорости и точности используют различные программные приемы (например, включение двух моторов с разной скоростью, торможение на поворотах) и увеличение количества датчиков для более точного слежения за линией (2-4 датчика) |