08.01.2012, 21:05
В этой статье приводится пример того,
как с помощью программирования в NXT-G заставить Вашего робота NXT
самостоятельно двигаться вдоль черной линии на белом фоне, никуда с нее
не съезжая.
Соответственно для испытаний вам понадобится достаточно протяженная трасса.
1. Создайте новый документ. Левой кнопкой мыши перетащите в рабочую зону иконку блока Цикла.
2. Сконфигурируйте блок на бесконечный цикл.
3. Внутрь блока поместите 'блок-переключатель', сконфигурированный на работу с датчиком освещенности, подключенным к порту № 3.
4. Настройки блока: контроль - датчик (sensor), датчик - датчик освещенности (light sensor), порт - 3, включить подсветку.
5. Для того, чтобы
определить пороговое значение интенсивности, нужно сначала измерить
освещенность черной линии. В нашем случае оно оказалось 20.
6. Затем измерить освещенность белого фона. Это значение оказалось равным 60.
7. В качестве порогового возьмем среднее из 20 и 60, т.е. 40. На вашей трассе это значение может оказаться несколько другим.
8. На верхнюю ветвь переключателя поместите блок движение.
9. Его назначение остановить двигатель B и включить тормоз.
10. Следующим за ним блоком идет еще один блок движение.
11. Настройте блок, выбрав двигатель С, направление движения - вперед, уровень мощности 50%, длительность - неограничена.
12. На нижнюю ветвь блока-переключателя мы помещаем такие же блоки движение, только меняя двигатель B на C и наоборот.
13. Итак, первый блок остановливает двигатель C и включает тормоз.
14.
15. Настроки второго блока: двигатель B, направление движения - вперед, уровень мощности 50%, длительность - неограничена.
16. Поставьте робота на линию.
Нажмите кнопку RUN, программа будет загружена в NXT и запущена.
Ориентируясь на датчик освещенности, робот найдет границу края линии и, совершая
колебательные движения, начнет двигаться вдоль нее.
|