DroidScript
DroidScript
учимся и разрабатываем

Объект для работы с Nxt-устройствами

07.12.2016

Объект NXT предназначен для управления роботизированной платформой Lego Mindstorms NXT brick и создаётся с использованием конструктора CreateNxt:

myObject.CreateNxt()

Пример.

Выполнить

Методы объекта:

  • Beep( int freq, int dur ) - посылает устройству команду воспроизвести звук заданной частоты (Гц) и длительности (мс)

    myObject.Beep( 200, 1000); // Сигнал с частотой 200Гц и длительностью 1 сек

  • Brake( (str) motors ) - посылает устройству команду торможения указанных моторов

    myObject.Brake( 'AB' ); // тормозит моторы A и B

  • CheckConnection():bool - проверяет, есть ли соединение с устройством

  • Disconnect() - разъединяет связь с устройством

  • Drive( (str) motors, int power, int rotations, options ) - запускает указанные двигатели устройства с заданной мощностью (указавается в процентах) и оборотами. Отрицательное значение мощности - реверс, задание 0 для оборотов приведёт к работе моторов, пока не будет получена команда Stop.

    myObject.Drive( 'AB', 60, 3 ); // Запуск моторов A и B с мощностью 60% и числом оборотов 3
  • GetCurrentProgram():str - возвращает информацию о выполняющейся в текущий момент времени программе NXT-G

  • IsBluetoothEnabled():bool - проверяет, доступен ли Bluetooth на телефоне/планшете

  • IsMotorIdle( (str) motor ):bool - проверяет, работают ли указанные моторы в настоящее время

  • PlaySoundFile( str file, int repeat ) - посылакт устройству команду воспроизвести доступный на устройстве звуковой файл ( .rso). В параметре repeat задаётся количество повторов воспроизведения

    myObject.PlaySoundFile( 'myFile.rso' ,2 );

  • ReadColorSensor( int input, (str) mode ) - принимает данные с датчика цвета:
    • input - номер порта от 1 до 4
    • mode - одно из значений "ColorDetect", "LightSense", "RedSense", "GreenSense", "BlueSense"

    При выборе режима "ColorDetect" метод возвращает число от 1 до 6, соответствующий цветам: black, blue, green, yellow, red, white. Для преобразования числа в название цвета служит метод ToColorName. В остальных режимах возвращается интенсивность света или цветовой составляющей в диапазоне от 0 до 1023.

    myObject.ReadColorSensor( 1 , "LightSense" );

  • ReadDistanceSensor( int input ):float - принимает данные от датчика расстояния на заданном порту (от 1 до 4). Возвращает значение в см.

  • ReadMail( int mailbox,('Text','Number','Logic') type, bool remove ) - читает отправленное устройством сообщение. В параметре mailbox задаётся номер почтового ящика от 1 до 10. В параметре type указывается тип отправляемого значения. В параметре remove задаётся true, еслинужно удалить сообщение после его чтения, или false, если сообщение нужно оставить

  • ReadLightSensor( int input, bool active ):int - принимает данные датчика освещения от 0 до 100. Задайте true параметру Active, если при считывании необходимо, чтобы белый цвет был включён.

  • ReadTouchSensor( int input ):bool - принимает данные от датчика касания на заданном порту (от 1 до 4). Возвращает true при касании.

  • ReadSoundSensor( int input, ('DB', 'DbA') mode ) - принимает данные от датчика звука на указанном порту (от 1 до 4) в децибелах или взвешенных децибелах

  • SendMail( int mailbox, ('Text','Number','Logic') type, str msg ) - отправляет сообщение устройству, которое может быть прочитано нормальной NXT-G программой, запущенной на устройстве. В параметре mailbox задаётся номер почтового ящика от 1 до 10. В параметре type указывается тип отправляемого значения

  • SetInvert( bool invert ) - посылает устройству команду инвертировать направление команд для моторов, при указании true в параметре

    myObject.SetInvert( true );

  • SetLampColor( int input, (str) clr ) - посылает устройству команду включить световому модулю заданный цвет:
    • input - номер порта от 1 до 4
    • clr - название цвета 'White', 'Red', 'Green', 'Blue', 'Off'

    myObject.SetLampColor( 2, 'Green' );

  • SetOnConnected( callback ) - задаёт функцию для выполнения действия после успешного установления связи с устройством

  • ShowDevices() - показывает диалог со списком спаренных NXT-устройств для выбора того, с которым нужно установить связь.

  • StartProgram( str name ) - запускает на выполнение программу NXT-G (.rxe)

    myObject.StartProgram( 'myProg.rxe' );

  • Stop( str motors ) - посылает устройству команду отключить подачу энергии заданным моторам и остановить их.

    myObject.Stop( 'C' );

  • StopProgram() - останавливает выполнение NXT-G программы (.rxe), которая выполняется в текущий момент времени
© 2016-2024 
actech