Информатизация и образование

Высшее образование - Информационная поддержка: новости ГИА и ЕГЭ, электронное обучение, библиотеки, программное обеспечение и борьба с плагиатом

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Справочник по командам Lego EV3 Basic на русском

 Справочник по командам Lego EV3 Basic

Assert

Тестовая функция утверждения помогает проверить на корректность твой код. 
Добавив утверждение ты сможешь проще найти ошибки в программе. Например, когда часть программы зависит от переменной А, имеющей положительное значение, ты можешь вызвать Assert.Greater(A,0,"A должна быть > 0!"). 
В случае, если в этом месте программы переменная А будет меньше нуля, выведется указанное тобой предупреждение.

Assert.Equal (a, b, message)

Утверждаем, что два значения равны. Проверяется полное совпадение, даже "True" и "tRue" считаются различными выражениями.

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Assert.Failed (message)

Вывести предупреждение на экран. Используй эту функцию только если наблюдаешь ошибки в программе и тебе нужно их найти.

message

Сообщение, которое будет выведено на экран

Assert.Greater (a, b, message)

Утверждаем, что первое число больше второго.

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Assert.GreaterEqual (a, b, message)

Утверждаем, что первое число больше или равно второму.

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Assert.Less (a, b, message)

Утверждаем, что первое число меньше второго.

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Assert.LessEqual (a, b, message)

Утверждаем, что первое число меньше или равно второму.

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Assert.Near (a, b, message)

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

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Assert.NotEqual (a, b, message)

Утверждаем, что два значения не равны. Проверяется полное совпадение, даже "True" и "tRue" считаются различными выражениями.

a

Первый параметр

b

Второй параметр

message

Сообщение, которое будет выведено, если утверждение ошибочно

Buttons

Прочитать состояния и нажатия (включая щелчки) кнопок на блоке EV3. 
Кнопки обозначаются с использованием следующих символов: 
U Вверх 
D Вниз 
L Влево 
R Вправо 
E Центр

Buttons.Current - Property

Кнопки, которые в данный момент нажаты. 
Содержит текст с символами, соответствующим всем кнопкам, нажатым в данный момент.

Buttons.Flush ()

Очистить состояние нажатых кнопок. Последующие вызовы GetClicks покажет только те кнопки, которые были нажаты после очистки.

Buttons.GetClicks ()

Проверяет, какие кнопки были нажаты с момент последнего вызова GetClicks и возвращает текст, содержащий соответствующие им символы. 
Состояние кнопок при этом очищается. Также издает звук, когда зафиксировано нажатие кнопок.

Returns

Текст, содержащий символы нажатых кнопок (может быть пустым, если ничего не нажато)

Buttons.Wait ()

Ждать, пока одна из кнопок на блоке не будет нажата.

EV3

Полезные функции блока EV3.

EV3.BatteryLevel - Property

Возвращает текущий заряд батарей, от 0 до 100.

EV3.Time - Property

Время в миллисекундах, прошедшее с момента запуска программы.

EV3.QueueNextCommand ()

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

EV3.SetLEDColor (color, effect)

Установить цвет подсветки кнопок блока EV3 и ее эффекты. 
Подсветка: OFF - выключена, GREEN - зеленая, RED - красная, ORANGE - оранжевая. Эффекты: NORMAL - гореть постоянно, FLASH - вспыхивать, PULSE - пульсировать.

color

Может быть "OFF", "GREEN", "RED", "ORANGE"

effect

Может быть "NORMAL", "FLASH", "PULSE"

EV3.SystemCall (commandline)

Запустить одну системную команду в операционной системе EV3 Linux. Выполняемая программа будет ждать, пока запущенная в операционной системе программа не завершит работу.

commandline

Системная команда.

Returns

Статус завершения запущенной команды

EV3File

Доступ к файловой системе блока EV3 для чтения или записи данных. 
К именам файлов домет быть добавлен абсолютный путь начиная с '/' для доступа к любому файлу в файловой системе или относительный, начиная с папки prjs.

EV3File.Close (handle)

Закрывает открытый файл.

handle

Идентификатор файла (file handle), полученный в момент открытия файла

EV3File.ConvertToNumber (text)

Конвертация текста в число.

text

Текст, содержащий числа, может содержать также дробную часть числа

Returns

Число

EV3File.OpenAppend (filename)

Открывает файл для добавления в него данных. Если файл не существует, он будет создан.

filename

Имя файла для создания/добавления данных

Returns

Номер, идентифицирующий данный открытый файл (file handle)

EV3File.OpenRead (filename)

Открывает файл для чтения. Если файл не существует, возвращает 0.

filename

Имя файла для чтения

Returns

Номер, идентифицирующий данный открытый файл (file handle) или 0, если файл не существует

EV3File.OpenWrite (filename)

Открывает файл для записи. если файл уже существует, он будет перезаписан.

filename

Имя файла для записи/перезаписи

Returns

Номер, идентифицирующий данный открытый файл (file handle)

EV3File.ReadByte (handle)

Прочитать один байт из файла.

handle

Идентификатор файла (file handle), полученный в момент открытия файла

Returns

Следующий по счету байт из файла

EV3File.ReadLine (handle)

Прочитать текстовую строку из файла. Строка будет прочитана в кодировке ISO-8859-1 и должна оканчиваться символом перевода строки (код 10).

handle

Идентификатор файла (file handle), полученный в момент открытия файла

Returns

Текстовая строка, прочитанная из текущей строки файла

EV3File.ReadNumberArray (handle, size)

Читает массив чисел из бинарного файла. Числа будут раскодированы с использованием кодировки IEEE как тип Float с одинарной точностью

handle

Идентификатор файла (file handle), полученный в момент открытия файла

size

Размер массива, который будет прочитан

Returns

Массив чисел указанного размера

EV3File.TableLookup (filename, bytes_per_row, row, column)

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

filename

Имя файла

bytes_per_row

Если файл имеет структуру строк/столбцов, в параметре указывается число байт в строке, иначе указывай 1

row

Какую строку читать (начиная с 0)

column

Какую строку читать (начиная с 0)

Returns

Байт из указанной позиции

EV3File.WriteByte (handle, data)

Записывает один байт данных в файл.

handle

Идентификатор файла (file handle), полученный в момент открытия файла

data

Один байт для записи (значение от 0 до 255).

EV3File.WriteLine (handle, text)

Записывает текстовую строку в файл. Строка будет записана в кодировке ISO-8859-1 и оканчиваться символом перевода строки (код 10).

handle

Идентификатор файла (file handle), полученный в момент открытия файла

text

Текст для записи в файл

LCD

Управление ЖК-экраном на блоке EV3. 
EV3 имеет черно-белый дисплей с разрешением 178x128 точек. Координаты отсчитываются от левого верхнего угла экрана, имеющего координаты 0,0

LCD.BmpFile (color, x, y, filename)

Вывести файл заданным цветом на экран. Поддерживаются только файлы в формате .rgf

color

0 (белый) или 1 (черный)

x

Координата X левой стороны изображения

y

Координата Y верхней стороны изображения

filename

имя файла без расширения .rgf. Может содержать относительный путь от папки 'prjs' или абсолютный, начинаясь с '/').

LCD.Circle (color, x, y, radius)

Рисует не закрашенный круг указанного размера.

color

0 (белый) или 1 (черный)

x

Координата X центра круга

y

Координата Y центра круга

radius

Радиус круга

LCD.Clear ()

Очистка экрана. Все пиксели закрашиваются в белый цвет.

LCD.FillCircle (color, x, y, radius)

Рисует закрашенный круг указанного размера.

color

0 (белый) или 1 (черный)

x

Координата X центра круга

y

Координата Y центра круга

radius

Радиус круга

LCD.FillRect (color, x, y, width, height)

Рисует закрашенный заданным цветом прямоугольник.

color

0 (белый) или 1 (черный)

x

Координата X левой стороны прямоугольника

y

Координата Y верхней стороны прямоугольника

width

Ширина прямоугольника

height

Высота прямоугольника

LCD.InverseRect (x, y, width, height)

Инвертирует все пиксели в границах прямоугольника.

x

Координата X левой стороны прямоугольника

y

Координата Y верхней стороны прямоугольника

width

Ширина прямоугольника

height

Высота прямоугольника

LCD.Line (color, x1, y1, x2, y2)

Вывод на экран линии указанного цвета.

color

0 (белый) или 1 (черный)

x1

Координата X начальной точки

y1

Координата Y начальной точки

x2

Координата X конечной точки

y2

Координата Y конечной точки

LCD.Pixel (color, x, y)

Вывод на экран одиночного пикселя указанного цвета.

color

0 (белый) или 1 (черный)

x

Координата X по горизонтали

y

Координата Y по вертикали

LCD.Rect (color, x, y, width, height)

Рисует не закрашенный прямоугольник с границей заданного цвета.

color

0 (белый) или 1 (черный)

x

Координата X левой стороны прямоугольника

y

Координата Y верхней стороны прямоугольника

width

Ширина прямоугольника

height

Высота прямоугольника

LCD.StopUpdate ()

Начинать запоминать всю выводимую экран информацию без ее отображения. При следующем вызове Update() все накопленные изменения наконец-то отобразятся. 
Вы можете использовать эту функцию, чтобы предотвратить мерцание или для ускорения рисования сложных изображений в ЖК-дисплее.

LCD.Text (color, x, y, font, text)

Напечатать заданный текст или числа на экране.

color

0 (белый) или 1 (черный)

x

Координата X начала печати

y

Координата Y начала печати

font

Размер шрифта: 0 (маленький), 1 (средний), 2 (большой)

text

Текст или числа для вывода на дисплей

LCD.Update ()

Вывести на экран все изменения, которые произошли с момента последнего вызова StopUpdate().

LCD.Write (x, y, text)

Напечатать заданный текст черным цветом на экране. 
Если нужно выводить текст с выбором цвета и размера, используй LCD.Text

x

Координата X начала печати

y

Координата Y начала печати

text

Текст или числа для вывода на дисплей

Mailbox

Отправка сообщений между блоками EV3 посредством Bluetooth

Mailbox.Connect (brickname)

Установить соединение с другим блоком EV3 по Bluetooth. 
Только после того как соединение установлено (этой командой или из меню блока EV3) могут отправляться и приниматься сообщения.

brickname

Имя блока EV3, с которым нужно установить соединение

Mailbox.Create (boxname)

Создать почтовый ящик с указанным именем, который будет принимать входящие сообщения, адресованные этому блоку EV3 в данный ящик. 
Только после создания ящика входящие сообщения будут сохраняться. Максимальное количество создаваемых ящиков - 30.

boxname

Имя почтового ящика для создания

Returns

Цифровой идентификатор почтового ящика. Необходим для получения сообщения из ящика

Mailbox.IsAvailable (id)

Проверка наличия нового сообщения в указанном локальном почтовом ящике.

id

Цифровой идентификатор почтового ящика

Returns

"True" если сообщение пришло. "False" в противном случае

Mailbox.Receive (id)

Получить последнее сообщение из указанного локального почтового ящика. Если ящик пуст, программа будет ожидать до тех пор, пока не появится новое сообщение в ящике. 
После прочтения сообщение будет удалено и следующий вызов Receive будет ожидать нового сообщения в ящике. Чтобы избежать блокировки в его ожидании, используйте IsAvailable(). 
Если почтовый ящик с таким именем не существует, команда возвратит пустой текст.

id

Цифровой идентификатор почтового ящика

Returns

Сообщение в виде текста. Пока поддерживаются только текстовые сообщения

Mailbox.Send (brickname, boxname, message)

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

brickname

Имя блока EV3, на который отправляется сообщение. Bluetooth-соединение с блоком должно быть предварительно установлено. Это поле можно оставить пустым, тогда сообщение будет отправлено всем подключенным блокам EV3.

boxname

Имя почтового ящика, в который будет отправлено сообщение

message

Сообщение в виде текста. Пока поддерживаются только текстовые сообщения

Math

Класс Math предоставляет множество полезных методов для математических операций.

Math.Pi - Property

Получает значение Пи.

Math.Abs (number)

Возвращает абсолютное значение для заданного числа. Например, для -32.233 метод вернет 32.233.

number

Число, абсолютное значение которого надо получить.

Returns

Абсолютное значение заданного числа.

Math.ArcCos (cosValue)

Возвращает значение угла в радианах, соответствующее указанному значению косинуса.

cosValue

Значение косинуса, для которого надо получить угол.

Returns

Угол (в радианах) для заданного значения косинуса.

Math.ArcSin (sinValue)

Возвращает значение угла в радианах, соответствующее указанному значению синуса.

sinValue

Значение синуса, для которого надо получить угол.

Returns

Угол (в радианах) для заданного значения синуса.

Math.ArcTan (tanValue)

Получает угол в радианах для заданного значения тангенса.

tanValue

Значения тангенса, для которого надо получить угол.

Returns

Угол (в радианах) для заданного значения тангенса.

Math.Ceiling (number)

Округляет заданное десятичное значение до большего или равного целого числа. Например, для 32,233 метод вернет 33.

number

Число, которое надо округлить в большую сторону.

Returns

Число, округленное в большую сторону.

Math.Cos (angle)

Получает значение косинуса для заданного в радианах угла.

angle

Значение угла (в радианах), чей косинус требуется вычислить.

Returns

Значение косинуса данного угла.

Math.Floor (number)

Округляет заданное десятичное значение до меньшего или равного целого числа. Например, для 32,233 метод вернет 32.

number

Число, которое надо округлить в меньшую сторону.

Returns

Число, округленное в меньшую сторону.

Math.GetDegrees (angle)

Конвертирует заданный угол из радиан в градусы.

angle

Значение угла в радианах.

Returns

Значение угла, переведенное в градусы.

Math.GetRadians (angle)

Конвертирует заданный угол из градусов в радианы.

angle

Значение угла в градусах.

Returns

Значение угла, переведенное в радианы.

Math.GetRandomNumber (maxNumber)

Возвращает случайное число в диапазоне между 1 и числом, заданным в параметре maxNumber (включительно).

maxNumber

Максимальное значение для диапазона случайных чисел.

Returns

Случайное число, которое меньше или равно указанному максимальному значению.

Math.Log (number)

Получает десятичный логарифм для заданного числа.

number

Число для вычисления десятичного логарифма.

Returns

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

Math.Max (number1, number2)

Сравнивает два значение и возвращает большее из них.

number1

Первое из сравниваемых чисел.

number2

Второе из сравниваемых чисел.

Returns

Наибольшее значение из двух заданных чисел.

Math.Min (number1, number2)

Сравнивает два значение и возвращает меньшее из них.

number1

Первое из сравниваемых чисел.

number2

Второе из сравниваемых чисел.

Returns

Наименьшее значение из двух заданных чисел.

Math.NaturalLog (number)

Получает натуральный логарифм для заданного числа.

number

Число, для которого надо вычислить натуральный логарифм.

Returns

Значение натурального логарифма для заданного числа.

Math.Power (baseNumber, exponent)

Возводит число в указанную степень.

baseNumber

Число для возведения в степень.

exponent

Степень, в которую надо возвести число.

Returns

Число, возведенное в указанную степень.

Math.Remainder (dividend, divisor)

Делит первое число на второе и возвращает остаток.

dividend

Делимое.

divisor

Делитель.

Returns

Остаток от деления.

Math.Round (number)

Округляет заданное десятичное значение до ближайшего целого числа. Например, 32.233 будет округлено до 32.0, а 32.566 до 33.

number

Число для округления.

Returns

Округленное значение заданного числа.

Math.Sin (angle)

Получает значение синуса для заданного в радианах угла.

angle

Угол для вычисления синуса (в радианах).

Returns

Синус для заданного угла.

Math.SquareRoot (number)

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

number

Число, квадратный корень которого надо вычислить.

Returns

Квадратный корень для заданного числа.

Math.Tan (angle)

Получает значение тангенса для заданного в радианах угла.

angle

Значение угла (в радианах), чей тангенс требуется вычислить.

Returns

Значение тангенса данного угла.

Motor

Управление моторами, подключенными к блоку EV3. Для функции Motor необходимо указать один или несколько портов, к которым подключены моторы, например "A", "BC", "ABD". 
Для блоков, подключенных к главному блоку по USB порты указываются так: 3BC", "2A". В этом режиме только двигатели одного блока доступны в одной команде. 
Скорость и Мощность - разные понятия. При вызове команды для вращения мотора с постоянной скоротью, электрическая мощность, подаваемая на него будет автоматически регулироваться, чтобы поддерживать заданную скорость. 
При вызове команды для вращения мотора с постоянной мощностью, его скорость будет зависеть от сопротивления, которое он испытывает во время работы.

Motor.GetCount (port)

Запросить данные счетчика оборота с указанного мотора. 
Счетчик оборотов работает даже если мотор вращается не по командам блока EV3, а путем приложения внешней силы.

port

Порт мотора

Returns

Текущее значение счетчика оборотов мотора в градусах

Motor.GetSpeed (port)

Запросить текущую скорость мотора

port

Порт мотора

Returns

Текущая скорость в диапазоне от -100 до 100

Motor.IsBusy (ports)

Проверить один или несколько моторов на занятость.

ports

Порты моторов

Returns

"True" если хотя бы один из моторов запущен, "False" в противном случае.

Motor.Move (ports, speed, degrees, brake)

Поворачивает один или несколько моторов с заданной скоростью на указанный угол (в градусах). 
Программа не будет переходить к выполнению следующих команд до тех пор, пока моторы не повернутся на требуемый угол. 
Если тебе нужно больше возможностей по управлению моторами, например плавный старт и замедление, используй команду Motor.Schedule

ports

Порты моторов

speed

Скорость от -100 (полный назад) до 100 (полный вперед)

degrees

Угол поворота

brake

"True", если необходимо удерживать положение после останови моторов

Motor.MovePower (ports, power, degrees, brake)

Поворачивает один или несколько моторов с заданной мощностью на указанный угол (в градусах). 
Программа не будет переходить к выполнению следующих команд до тех пор, пока моторы не повернутся на требуемый угол. 
Если тебе нужно больше возможностей по управлению моторами, например плавное наращивание мощности или ее уменьшение, используй команду Motor.SchedulePower

ports

Порты моторов

power

Мощность от -100 (полный назад) до 100 (полный вперед)

degrees

Угол поворота

brake

"True", если необходимо удерживать положение после останови моторов

Motor.MoveSync (ports, speed1, speed2, degrees, brake)

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

ports

Имена двух портов для моторов (например "AB" или "CD")

speed1

Скорость от -100 (полный назад) до 100 (полный вперед) мотора с младшим по алфавиту номером порта

speed2

Скорость от -100 (полный назад) до 100 (полный вперед) мотора со старшим по алавиту номером порта

degrees

Угол поворота (мотора с наибольшей скоростью)

brake

"True", если необходимо удерживать положение после останови моторов

Motor.ResetCount (ports)

Сбросить счетчик оборотов одного или несколько моторов в 0.

ports

Порты моторов

Motor.Schedule (ports, speed, degrees1, degrees2, degrees3, brake)

Запустить один или несколько моторов с указанной скоростью с возможностью плавного старта и плавного замедления. 
Скорость может регулироваться в пределах общего угла поворота, в зоне1 двигатель разгоняется до указанной скорости, в зоне 2 поддерживает ее, в зоне 3 - замедляется до полной остановки. 
Полный угол, на который повернется мотор - это сумма углов поворота зона1 + зона2 + зона3. 
Команда передает управление в программу сразу, не ждет, пока мотор повернется. Чтобы отследить окончания отработки команды, используйте IsBusy(). Чтобы дождаться конца, пока мотор закончит отработку команды - используй Wait().

ports

Порты моторов

speed

Скорость от -100 (полный назад) до 100 (полный вперед)

degrees1

зона1: часть общего угла поворота мотора, в пределах которой мотор разгоняется

degrees2

зона2: часть общего угла поворота мотора, в пределах которой мотор поддерживает указанную скорость

degrees3

зона3: часть общего угла поворота мотора, в пределах которой мотор плавно замедляется до полной остановки

brake

"True", если необходимо удерживать положение после останови моторов

Motor.SchedulePower (ports, power, degrees1, degrees2, degrees3, brake)

Запустить один или несколько моторов с указанной мощностью с возможностью плавного старта и плавного замедления. 
Мощность может регулироваться в пределах общего угла поворота, в зоне1 двигатель плавно наращивает мощность до указанной, в зоне 2 поддерживает ее, в зоне 3 - плавно уменьшает подаваемую мощность до полной остановки. 
Полный угол, на который повернется мотор - это сумма углов поворота зона1 + зона2 + зона3. 
Команда передает управление в программу сразу, не ждет, пока мотор повернется. Чтобы отследить окончания отработки команды, используйте IsBusy(). Чтобы дождаться конца, пока мотор закончит отработку команды - используй Wait().

ports

Порты моторов

power

Мощность от -100 (полный назад) до 100 (полный вперед)

degrees1

зона1: часть общего угла поворота мотора, в пределах которой мотор разгоняется

degrees2

зона2: часть общего угла поворота мотора, в пределах которой мотор поддерживает указанную скорость

degrees3

зона3: часть общего угла поворота мотора, в пределах которой мотор плавно замедляется до полной остановки

brake

"True", если необходимо удерживать положение после останови моторов

Motor.ScheduleSync (ports, speed1, speed2, degrees, brake)

Поворачивает два мотора синхронно на определенное количество градусов. 
Синхронная работа двигателей означает, что когда один двигатель нагружен и что-то препятствует его вращению, второй двигатель пропорционально замедлится или даже вообще остановится. 
Это команда особенно полезна для колесных роботов - для возможности сохранить траекторию движения. 
Угол, на который будет повернуты моторы относится к мотору с наибольшей скоростью вращения, угол поворота второго мотора будет рассчитан пропорционально его скорости. 
Команда передает управление в программу сразу, не ждет, пока мотор повернется. Чтобы отследить окончания отработки команды, используйте IsBusy(). Чтобы дождаться конца, пока мотор закончит отработку команды - испольузйте Wait().

ports

Имена двух портов для моторов (например "AB" или "CD")

speed1

Скорость от -100 (полный назад) до 100 (полный вперед) мотора с младшим по алфавиту номером порта

speed2

Скорость от -100 (полный назад) до 100 (полный вперед) мотора со старшим по алфавиту номером порта

degrees

Угол поворота (мотора с наибольшей скоростью)

brake

"True", если необходимо удерживать положение после останови моторов

Motor.Start (ports, speed)

Запустить один или несколько моторов с указанной скоростью или изменить скорость уже запущенных моторов на указанную.

ports

Порт(ы) моторов

speed

Скорость от -100 (полный назад) до 100 (полный вперед).

Motor.StartPower (ports, power)

Запустить один или несколько моторов с указанной мощностью или изменить мощность уже запущенных моторов на указанную.

ports

Порт(ы) моторов

power

Мощность от -100 (полный назад) до 100 (полный вперед).

Motor.StartSync (ports, speed1, speed2)

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

ports

Имена двух портов для моторов (например "AB" или "CD").

speed1

Скорость от -100 (полный назад) до 100 (полный вперед) мотора с младшим по алфавиту номером порта

speed2

Скорость от -100 (полный назад) до 100 (полный вперед) мотора со старшим по алфавиту номером порта

Motor.Stop (ports, brake)

Остановить один или несколько моторов. Команда завершает так же все запланированные или незавершенные команды управления этими моторами.

ports

Порт(ы) моторов

brake

"True", если необходимо удерживать положение после останови моторов

Motor.Wait (ports)

Подождать, пока моторы не закончат выполнять команды Schedule или Move. 
Использование этой команды, как правило, лучше, чем вызов IsBusy() в цикле.

ports

Порты моторов

Program

Класс Program предоставляет вспомогательные методы для контроля выполнения программы.

Program.ArgumentCount - Property

Получает количество аргументов командной строки, переданных программе.

Program.Directory - Property

Получает папку для запущенной программы.

Program.Delay (milliSeconds)

Задерживает выполнение программы на указанное число миллисекунд.

milliSeconds

Время задержки.

Program.End ()

Заканчивает программу.

Program.GetArgument (index)

Возвращает указанный аргумент из тех, что были переданы в текущую программу.

index

Индекс (порядковый номер) аргумента.

Returns

Аргумент командной строки, расположенный по указанному индексу.

Sensor

Работа с датчиками, подключенными к блоку EV3. 
Чтобы указать локальный датчик, используется номер порта 1..4, для указания номеров портов на первом в цепочке подключенных по USB блоках используйте 5..8, на третьем - 9..12

Sensor.CommunicateI2C (port, address, writebytes, readbytes, writedata)

Взаимодействие с устройством, работающим по протоколу I2C, подключенному к одному из портов датчиков. 
Эта команда может посылать и принимать несколько байт по шине I2C, с ее помошью можно работать с датчиками сторонних производителей, использующих этот протокол обмена или, например, с Arduino. 
Обратите внимание, команда работает в пределах одного блока EV3 и только с подчиненными (slave) I2C устройствами.

port

Номер порта датчика

address

Адрес (0 - 127) подчиненного I2C устройства на шине I2C

writebytes

Количество байт для отправки I2C-устройству (максимум 31).

readbytes

Количество байт для приема с I2C-устройства (максимум 32, минимум 1).

writedata

массив, содержащий байты для отправки (индекс первого элемента - 0)

Returns

Массив, содержащий запрошенное количество принятых байт с I2C-устройства (индекс первого элемента - 0)

Sensor.GetMode (port)

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

port

Номер порта датчика

Returns

Текущий режим работы датчика (0 для режима по умолчанию)

Sensor.GetName (port)

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

port

Номер порта датчика

Returns

Текст описания (например "TOUCH")

Sensor.GetType (port)

Запросить цифровой идентификатор датчика, подключенного к указанному порту.

port

Номер порта датчика

Returns

Цифровой идентификатор датчика (например 16 для датчика нажатия)

Sensor.IsBusy (port)

Проверить, не занят ли датчик в данный момент сменой режима или инициализацией. Во время переключения датчик некоторое время не доступен (занят).

port

Номер порта датчика

Returns

"True" если датчик занят (не доступен)

Sensor.ReadPercent (port)

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

port

Номер порта датчика

Returns

Текущее показание датчика (Пример для датчика освещенности 0 - очень темно, 100 - очень светло)

Sensor.ReadRaw (port, values)

Прочитать текущее показание датчика в "сыром" режиме, без перевода в проценты. 
В некоторых режимах показания датчика не могут быть переведены в проценты, например цвета, в этом случае используется команда чтения ReadRaw.

port

Номер порта датчика

values

Размер возвращаемого массива с показаниями

Returns

Массив с показаниями датчика с требуемым числом элементов. Массив начинается с 0 элемента. Элементы, в которых данные не получены, будут равны 0

Sensor.ReadRawValue (port, index)

Похожа на ReadRaw, но возвращает только одно "сырое" показание с датчика, а не массив показаний. 
Например для работы с цветосветовым датчиком в режиме определения цвета используйте функцию ReadRawValue(порт, 0).

port

Номер порта датчика

index

Индекс элемента массива с показаниями, начиная с 0

Returns

Один элемент массива с показаниями

Sensor.SendUARTData (port, writebytes, writedata)

Посылает данные по протоколу UART устройству, подключенному к порту датчика. 
Функция полезна для общения с самодельными датчиками и исполнительными устройствами.

port

Номер порта датчика

writebytes

Количество байт для отправки на устройство (максимум 32).

writedata

Массив, содержащий байты для отправки по UART (младший индекс 0).

Sensor.SetMode (port, mode)

Переключить режим работы датчика, подключенного к указанному порту. 
Датчики могут работать с различных режимах, например: 
EV3 датчик цвета, режимы 0 - отраженный свет, 1 - внешняя освещенность, 2 - цвет. 
Для уточнения какой датчик в какой режим можно переключить - смотрите документацию. 
Программа не продолжится до тех пор, пока датчик не переключится в новый режим и данные с него не будут доступны. 
Обратите внимание, что датчик будет оставаться в выбранном режиме даже после того, как программа завершит работу, поэтому 
чтобы избежать путаницы всегда устанавливайте режим в начале программы перед использованием датчика.

port

Номер порта датчика

mode

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

Sensor.Wait (port)

Дождаться, пока датчик не переключится в новый режим или не инициализируется. 
Обычно тебе не нужно использовать эту команду, так как SetMode() дожидается смены режима. 
Если ты используешь параллельные задачи - без этой команды не обойтись - в ней датчик мог менять режим и стать на время недоступным.

port

Номер порта датчика

Speaker

Использование динамика на блоке EV3 для воспроизведения тонов, нот или звуковых файлов.

Speaker.IsBusy ()

Проверить, занят ли динамик воспроизведением тона/ноты/звука

Returns

"True", если звук в данный момент проигрывается, "False" в противном случае.

Speaker.Note (volume, note, duration)

Воспроизвести ноту указанной высоты и длительности.

volume

Громкость 0 - 100

note

Нота в виде текста, от "C4" до "B7" с полутонами в виде "C#5"

duration

Длительность ноты в миллисекундах

Speaker.Play (volume, filename)

Воспроизвести звуковой файл, хранящийся на блоке. Поддерживаются файлы только в формате .rsf

volume

Громкость 0 - 100

filename

Имя звукового файла без расширения .rsf Имя файла может содержать относительный папки 'prjs' путь иил абсолютный, начиная с корня ФС '/'

Speaker.Stop ()

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

Speaker.Tone (volume, frequency, duration)

Воспроизвести тон указанной частоты и длительности.

volume

Громкость тона 0 - 100

frequency

Частота, Гц в диапазоне 250 - 10000

duration

Длительность тона в миллисекундах

Speaker.Wait ()

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

Text

Объект Text обеспечивает работу с текстом.

Text.Append (text1, text2)

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

text1

Первая часть текста для добавления.

text2

Вторая часть текста для добавления.

Returns

Полученный текст, содержащий обе указанные части.

Text.ConvertToLowerCase (text)

Конвертирует все символы указанного текста в нижний регистр.

text

Текст для преобразования в нижний регистр.

Returns

Текст, преобразованный в нижний регистр.

Text.ConvertToUpperCase (text)

Конвертирует все символы указанного текста в верхний регистр.

text

Текст для преобразования в верхний регистр.

Returns

Текст, преобразованный в верхний регистр.

Text.EndsWith (text, subText)

Проверяет, заканчивается ли заданный текст указанным текстом.

text

Текст, в котором надо осуществить поиск.

subText

Подстрока для поиска.

Returns

Возвращает значение "True", если подстрока найдена в конце заданного текста.

Text.GetCharacter (characterCode)

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

characterCode

Код в стандарте Юникод для нужного символа.

Returns

Символ, который соответствует заданному коду в стандарте Юникод.

Text.GetCharacterCode (character)

Получает код в стандарте Юникод для указанного символа.

character

Символ, для которого надо получить код в стандарте Юникод.

Returns

Код в стандарте Юникод для указанного символа.

Text.GetIndexOf (text, subText)

Находит позицию в тексте, с которой начинается указанная подстрока.

text

Текст, в котором осуществляется поиск.

subText

Текст, который надо найти.

Returns

Позиция в тексте, с которой начинается указанная подстрока. Если подстрока не найдена, возвращается значение 0.

Text.GetLength (text)

Получает длину указанного текста.

text

Текст, длину которого надо вычислить.

Returns

Размер указанного текста.

Text.GetSubText (text, start, length)

Получает часть указанного текста.

text

Текст, из которого надо извлечь подстроку.

start

Указывает начальную позицию.

length

Задает длину подстроки.

Returns

Запрошенная часть текста.

Text.GetSubTextToEnd (text, start)

Считывает подстроку из заданного текста, начиная с указанной позиции.

text

Текст, из которого надо извлечь подстроку.

start

Указывает начальную позицию.

Returns

Запрошенная подстрока.

Text.IsSubText (text, subText)

Проверяет, является ли указанный текст частью большего текста.

text

Текста, в котором будет искаться подстрока.

subText

Подстрока для поиска.

Returns

Возвращает значение "True", если подстрока найдена в заданном тексте.

Text.StartsWith (text, subText)

Проверяет, начинается ли заданный текст определенным текстом.

text

Размер текста для осуществления поиска.

subText

Подстрока для поиска.

Returns

Возвращает значение "True", если подстрока найдена в начале заданного текста.

Thread

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

Thread.Run - Property

Создать новый поток. Просто назначьте подпрограмму и она начнет выполняться в качестве независимого потока (пример Thread.Run = MYSUB). 
Любая подпрограмма может быть преобразована в независимы поток, однако одна подпрограмма может быть преобразована в поток только однократно, два потока из нее сделать не удастся. 
При использовании Thread.Run в то время, как подпрограмма уже работает, вызов потока поставится в очередь до тех пор, пока она не завершит свою работу. Это обеспечит корректную работу, но запуск потока вероятно может произойти позже запланированного. 
Все запущенные потоки остановятся, как только основная программа завершит свою работу.

Thread.CreateMutex ()

Создать мьютекс (сокр. от "mutual exclusion") - взаимное исключение, который может быть использован для синхронизации потоков. 
Мьютекс может быть только создан, но не удален. Лучше всего создать все необходимые мьютексы при старте программы и держать их номера в глобальных переменных.

Returns

Идентификатор мьютекса. Будет использоваться в дальнейшем для блокировки и разблокировки

Thread.Lock (mutex)

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

mutex

Идентификатор мьютекса (полученный от CreateMutex() )

Thread.Unlock (mutex)

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

mutex

Идентификатор мьютекса (полученный от CreateMutex() )

Thread.Yield ()

Уступить процессор другому потоку. Команда дает знать другим потокам, что он простаивает и они могут более активно занимать ресурсы процессора. 
Потоки на самом деле не выполняются параллельно, процессор переключается между потоками настолько быстро, что создается иллюзия параллельного их выполнения. 
Если в потоке выполняется какое-то ожидание или бездействие, с помощью этой команды можно явно это сообщить для повышения скорости работы других потоков.

Vector

Объект для выполнения операций над большим количеством чисел. Они называются векторами и будут храниться с использованием массивов с последовательными индексами (начиная с 0). 
В случае выполнений операций над массивами с различным числом элементов, недостающие элементы массивов будут рассматриваться кк элементы, содержащие 0.

Vector.Add (size, A, B)

Сложение двух векторов путем сложения соответствующих элементов (C[0]=A[0]+B[0], C[1]=A[1]+B[1]...)

size

Сколько элементов брать складывать

A

Первый вектор

B

Второй вектор

Returns

Вектор, содержащий результат сложения

Vector.Init (size, value)

Создать вектор заданного размера с указанным количеством элементов, содержащих одинаковое число.

size

Размер вектора

value

Значение, для всех элементов

Returns

Созданный вектор

Vector.Multiply (rows, columns, k, A, B)

Операция умножения матриц. 
Входные вектора рассматриваются как двумерные матрицы заданной ширины и высоты. Отдельные строки матрицы хранятся в векторе непосредственно одна за другой. 
Чтобы узнать больше об этой математической операции, см. http://en.wikipedia.org/wiki/Matrix_multiplication

rows

Количество строк в результирующей матрице

columns

Количество столбцов в результирующей матрице

k

Количество столбцов в исходной матрице А и количество строк в исходной матрице В

A

Матрица А размера строк * k

B

Матрица В размера k * столбцов

Returns

Матрица, содержащая результаты умножения

Vector.Sort (size, A)

Сортировать элементы вектора в порядке возрастания.

size

Количество элементов для сортировки

A

Массив, содержащий элементы для сортировки

Returns

Вектор, содержащий элементы в порядке возрастания значений

 

Отзывы и комментарии

blog comments powered by Disqus


Похожие статьи:
Следующие статьи:

Добавить комментарий

Защитный код
Обновить

You are here: Робототехника LEGO Справочник по командам Lego EV3 Basic на русском