Робот-прилипала на базе процессора NXT


Автор: Гузаева Мария Юрьевна

Место работы: МОУ СОШ № 56 УИМ г. Магнитогорска

Должность: учитель информатики


Робот-прилипала

Наш робот, пользуясь ультразвуковым датчиком, должен следить за протянутой к нему рукой и выдерживать расстояние в 30 см. При приближении руки он должен удаляться, а при удалении руки - наоборот приближаться. Программа управления роботом имеет следующий вид.






1.

2.

Сконфигурируйте его как бесконечный цикл.

3. Внутрь цикла поместите блок-переключатель, настроенный на работу с ультразвуковым датчиком.

4. Порог срабатывания блока - 30 см.





5.

6. Внутрь его на ветвь соответствующую меньшим расстояниям поместите еще одни блок-переключатель. С порогом срабатывания в 25 см.


7.


Блок заставляет робот двигаться назад, т.е. удаляться от руки при расстояниях меньших 25 см.

8.

9.



Следующий блок движение останавливает двигатели.

10Т.е. в диапазоне 25-30 см двигатели должны быть выключены.


11

Добавим третий блок-переключатель.



12

Его порог срабатывания уже 35 см.


13

Блок движение останавливает двигатели в диапазоне расстояний 30-35 см.


14

15

Последний (четвертый) блок движение работает в диапазоне >35 см


Он двигает робот вперед, т.е. приближает к руке.

16






















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

Первая - записывает траекторию движения, вторая после запуска - ее воспроизводит.

Программа записи траектории 1

Программа аналогична той, что мы уже рассматривали. Создайте новый документ. Назовите его Record. Левой кнопкой мыши перетащите в рабочую зону иконку Звук.


2

Настройте блок для воспроизведения музыкального тона - ноты A (ля)- в течении 0,5 секунд.


3

Следующим блоком будет блок Воспроизведения/Записи.


4Настройте его для записи (Record) последовательности с именем Labirynth по портам B и C в течении 20-ти секунд. Этого времени должно хватить на прохождение лабиринта.


5

Добавьте еще один блок Звук с теми же параметрами.



6


После звукового сигнала за 20 секунд проведите робот через лабиринт и верните его на исходную позицию. Записанная траектория хранится в памяти NXT.

Программа воспроизведения траектории 1

Создайте новый документ. Назовите его Play. Левой кнопкой мыши перетащите в рабочую зону иконку Звук.

1.



2

Настройте блок для воспроизведения музыкального тона - ноты A (ля)- в течении 0,5 секун


3.

Все программа готова. Каждый при ее запуске робот будет проходить один тот же маршрут.














Следующий датчик, к изучению которого мы приступим, это - ультразвуковой датчик, измеряющий расстояние до препятствия. Робот начинает реагировать на возникающие перед ним объекты, отражающие звуковые волны.



2

Настройте блок, выбрав двигатели B и С, направление движения - вперед, уровень мощности 50%, длительность - неограничена, руль - прямо.


3

Следующим блоком программы будет жди датчик , сконфигурированный для работы с ультразвуковым датчиком (дальномером) на на 4-м порту.


4

Настройки: управление - датчик (sensor), датчик - ультразвуковой датчик (ultrasonic sensor), порт - 4, пороговое условие - "<20", единицы измерений - сантиметры.


5

После этого блока добавим еще один блок движение.


6

Этот блок останавливает моторы B и C. Тормоз должен быть включен.

Перед роботом на расстоянии 0.5 м установите мачту (подставку для шарика). Запустите программу. Робот начинает приближаться к мачте. Как только он приближается к мачте на 20 см, он останавливается.








Ищем заданную линию

Теперь напишем программу для робота, который должен найти определенную по счету черную линию.


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


1


2

Настройте блок, выбрав двигатели B и С, направление движения - вперед, уровень мощности 30%, длительность - неограниченна, руль - прямо.


3

Следующим блоком программы будет блок Цикл.

4

Например, если мы хотим, чтобы робот остановился у четвертой линии, сконфигурируйте цикл на выход при счетчике циклов больше 4.

5

Поместим внутрь цикла блок Жди для датчика освещенности, подключенного порту №3.



Как и в предыдущем задании с четной линией, сначала экспериментально определите диапазон изменений яркости от черной линии до белого фона. В нашем случае он оказался 30-60%. Это значит, что белый фон будет уверенно регистрироваться при освещенности >50.


7

Добавим еще одни блок жди датчик.


8

Черная линия будет регистрироваться при освещенности <35%.



9

Последним блоком программы будет еще одни блок движение.

10

Он настроен на остановку двигателей и торможение.


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























Бампер с датчиком касания


Теперь наш робот снабжен двумя датчиками: смотрящим вперед ультразвуковым дальномером и задним бампером с датчиком касания. Робот должен определять препятствия как впереди, так и позади себя.



1

Создайте новый документ. Левой кнопкой мыши перетащите в рабочую зону иконку блока цикл.



2

Определите цикл как бесконечный.

3

Внутрь цикла поместите блок движение.


4

Настройте блок, выбрав двигатели B и С, направление движения - вперед, уровень мощности 75%, длительность - неограничена.

5

Следующим блоком внутри цикла будет блок жди, сконфигурированный для работы с ультразвуковым датчиком

6

Настройки блока: контроль - датчик (sensor), датчик - ультразвуковой датчик (ultrasonic sensor), порт -4, расстояние - "<20 см".



7

Следующим блоком внутри цикла будет снова блок движение.


8

Настройки: двигатели B и С, направление движения - назад, уровень мощности 75%, длительность - неограничена.


9

Наконец последним блоком в теле цикла станет блок жди, сконфигурированный для работы с датчиком касания.



10

Настройки блока: контроль - датчик (sensor), датчик - датчик касания (touch sensor), порт - 1, действие - нажат..



11

Нажмите кнопку RUN, программа будет загружена в NXT и запущена.


Запустив программу вы увидите, что робот будет двигаться вперед, пока не почувствует перед собой препятствие. Затем он даст задний ход и будет ехать назад, пока не упрется задним бампером в стенку. Датчик касания сработает и робот снова поедет вперед. И так много раз.


Полный текст материала Робот-прилипала на базе процессора NXT смотрите в скачиваемом файле.
На странице приведен фрагмент.
Автор: Гузаева Мария Юрьевна  fidji
28.11.2010 0 4627 699

Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.



А вы знали?

Инструкции по ПК