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