Справочник по командам 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
Вектор, содержащий элементы в порядке возрастания значений
Отзывы и комментарии
< Предыдущая | Следующая > |
---|