Урок 09.

Программирование на языке PBASIC.

Управление моторами колес

Каждое колесо робота имеет отдельный мотор, который имеет собственный пин. Чтобы робот начал движение необходимо выполнить команду для каждого мотора. Команда, управляющая моторами, называется PULSOUT. Также как FREQOUT, команда PULSOUT посылает в пин специальный сигнал.

P13:Мотор левого колеса P12: Мотор правого колеса

Команда PULSOUT инвертирует вольтаж пина. Инвертирование надо понимать следующим образом: низкий вольтаж становится высоким, высокий вольтаж становится низким. Вольтаж инвертируется на заданное время, затем он возвращается в исходное состояние. Синтаксис команды следующий:

PULSOUT Пин, Длительность

Пин – пин мотора .

Длительность - время на которое инвертируется вольтаж, измеряется в микросекундах (микросекунда это миллионная доля секунды

Длительность высокого сигнала определяет скорость и направление вращения колес робота. Ниже приведены базовые значения длительности для основных вариантов движения:

· Для команды PULSOUT длительность должна принимать значения от 1000 до 3000.

· Длительность 1000 вращает моторы с полной скоростью назад.

· Длительность 2000 останавливает моторы.

· Длительность 3000 вращает моторы с полной скоростью вперед.

· Чем ближе длительность к 2000, тем медленнее вращаются моторы

Инициализация моторов

Моторы колес робота необходимо инициализировать – подготовить к приему сигналов. Это значит послать в них низкий сигнал с помощью команды LOW.

Затем с помощью PULSOUT команды задать движение, т. е. инвертировать сигнал. Необходимо инициализировать каждый мотор в отдельности.

НЕ нашли? Не то? Что вы ищете?

Моторам необходимо некоторое время после инициализации. Если Вы пошлете на них сигнал с помощью команды PULSOUT раньше этого времени, моторы будут не готовы к приему сигнала. По этому необходима команда PAUSE 100, дающая мотором необходимое время для инициализации.

Остерегайся аварии

 
Когда Вы загрузите программу с движением в робота, он начнет сразу двигаться, и Вы не успеете отсоединить кабель. Чтобы это не произошло, необходимо сделать следующее:

Ö Поставьте робота на коробку, так, чтобы колеса не касались пола.

Ö Напишите, сохраните и выполните программу FullSpeed. bs2.

Ö Выключите робота.

Ö Отсоедините кабель и поставьте робота на пол.

Ö Включите робота и выполните программу.

Стандартные повороты

Ниже в таблице приводятся стандартные значения длительности для различных поворотов и движения назад.

Направление

P12

P13

Правый поворот

Правое колесо вращается медленнее левого

2500

3000

Левый поворот

Левое колесо вращается медленнее правого

3000

2500

Вращение направо

Вращение колес в противоположном направлении

1000

3000

Вращение налево

Вращение колес в противоположном направлении

3000

1000

Левый поворот назад

Робот движется назад и поворачивает налево

1000

1500

Правый поворот назад

Робот движется назад и поворачивает направо

1500

1000

Движение назад

Робот двигается назад

1000

1000

Задание

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

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

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

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

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

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

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

Автор уроков .
*****@***ru
телефон (48, сотовый 7-46