Пятница, 20 Март 2015 07:18

Первая лекция. Основной синтаксис

Автор
Оцените материал
(0 голосов)

Программа RobotC использует синтаксис языков группы СИ. Для пошагового освоения элементов программирования я познакомлю вас с элементарными программами. Данные программы представлены в Интернете и в книгах по роботам NXT. Попутно познакомимся с основным синтаксисом.

1. Вывод информации на дисплей робота.

------------------------------------------------------

task main{

nxtDisplayTextLine(0, "Hello robot" );

wait1Msec(5000);

}

------------------------------------------------------

     Команда выведет в строке с индексом "0" сообщение на 5 секунд. "task main" функция запуска программы. В первых примерах весь код необходимо писать в теле( { тело } ) функции.

2. Управление моторами.

-----------------------------------------------------

task main{

motor[motorC]=100;

wait1Msec(5000);

}

-----------------------------------------------------

     motor[] это массив из трех элементов, он определяет состояние мотора. В нашем примере мотор на порту "С". Значение скорости определяется в диапазоне от -100 до 100. Мотор будет работать пока не подать команду стоп или пока не кончиться программа.

3. Движение робота вокруг своей оси в течении 10 секунд.

----------------------------------------------------

task main{

motor[motorC]=100;

motor[motorB]=-100;

wait1Msec(10000);

motor[motorC]=0;

motor[motorB]=0;

}

--------------------------------------------------

4. Встроенный датчик оборотов.

--------------------------------------------------

task main{

motor[motorC]=50;

nMotorEncoder[motorC]=1000;

}

--------------------------------------------------

Движение мотора со скоростью 50 на 1000 градусов. Есть второй метод nMotorEncoderTarget, он обеспечивает остановку мотора при повороте на заданное число градусов.

--------------------------------------------------

task main{

nMotorEncoderTarget[motorC]=1000;

motor[motorC]=50;

nMotorEncoderTarget[motorC]=0;

motor[motorC]=-50;

}

--------------------------------------------------

5. Синхронизация моторов.

-------------------------------------------------

task main{

nSincedMotors=synchBC;

nSyncedTurnRatio=-100;

motor[motorC]=50;

nMotorEncoderTarget[motorC]=1000;

}

--------------------------------------------------

В режиме синхронизации можно управлять только одним двигателем, второй будет выполнять аналогичные команды. Команда nSyncedTurnRatio позволяет изменить соотношение движения синхронизированных моторов изменяется от -100 до 100(минус означает противоположное направение).

Прочитано 2328 раз
Бекурин Максим

Методист и Педагог дополнительного образования.
Возглавляет Детское техническое объединение по робототехнике
Областной судья робототехнических соревнований в Свердловской област.

vk.com/bekurin
Top
Яндекс.Метрика Рейтинг@Mail.ru