Научная статья на тему 'Начало программирования в Lego Mindstorms EV3 с использованием языка Java'

Начало программирования в Lego Mindstorms EV3 с использованием языка Java Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2455
198
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РОБОТ / JAVA / LEGO MINDSTORMS EV3

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Неустроев Айаал Васильевич

В статье предлагается ознакомление с программированием в LEGO Mindstorms EV3 с помощью языка Java, как оно работает, с чего надо начинать и т. д.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Начало программирования в Lego Mindstorms EV3 с использованием языка Java»

Начало программирования в LEGO Mindstorms EV3 с использованием языка Java Неустроев А. В.

Неустроев Айаал Васильевич / Neustroev Aiaal Vasilevich - студент, кафедра информационных технологий, институт математики и информатики,

Северо-Восточный федеральный университет, г. Якутск

Аннотация: в статье предлагается ознакомление с программированием в LEGO Mindstorms EV3 с помощью языка Java, как оно работает, с чего надо начинать и т. д.

Ключевые слова: робот, java, LEGO Mindstorms EV3.

В настоящее время для программирования в Lego Mindstorms EV3 используется графический язык программирования LabVIEW, который позволяет создавать простые программы.

Набор LEGO Mindstorms EV3 позволяет придумывать различные изобретения, которые работают с помощью набора моторов, модульных датчиков и включают в себя интеллектуальный компьютер, который управляет системой. Комплекты содержат программное и аппаратное обеспечение для создания управляемых роботов Lego.

Lego Mindstorms EV3 может работать с прошивкой leJOS, тогда в роботе может запускаться Java-приложение. Специально для этого компания Oracle выпустила и поддерживает отдельную версию полноценной Java SE [1].

LeJOS - это замена прошивки для программируемых устройств Lego Mindstorms. Она в настоящее время поддерживает такие устройства, как LEGO RCX, Lejos NXJ, NXT, EV3. Также включает в себя виртуальную машину Java, что позволяет Lego Mindstorms запрограммировать роботов на языке программирования Java [2].

В LeJOS программировать легко и удобно. Во-первых, используется объектно-ориентированный язык, поэтому сложные программы пишутся легче, чем на простом графическом языке программирования LabVIEW.

Преимущества программирования в Lego Mindstorms, используя прошивку leJOS [2]:

• Использование объектно-ориентированного языка Java.

• Можно создавать приложения, работающие не только в модуле EV3, но и приложения для смартфонов, планшетов и компьютеров для удаленного взаимодействия с роботом.

• Веб-камера, подключенная к модулю EV3, отображает изображение, видео на дисплее или удаленно передает их на компьютер. Камеру можно использовать, например, вместо датчика цвета.

• Массивы можно выбрать одномерные или многомерные.

• Можно использовать множество классов Java.

Итак, приведем и разберем пошагово пример написания простой программы. Для этого, во-первых, начинаем с выражения «Hello world»:

в import lejos.hardware.led.LCD; import lejos.utility.Delay;

public class hello {

в public static void main (String [] args) [{]

// TODO Auto-generated method stub LCD.dravStrlnqi"Hello world", 0, 0);

Delay.msDelay(SOOO);

>1

}

Рис. 1. Код «Hello world»

Во-вторых, импортируем нужные нам библиотеки (Lejos.hardware.lcd.LCD). В-третьих, пишем то, что будет отображаться на дисплее. В-четвертых, надо написать позицию текста. Например, после выражения «Hello world» мы написали два 0, это означает, что данный текст будет находиться в самом верхнем левом угле дисплея. В-пятых, на следующей строке пишем, сколько миллисекунд будет отображаться текст.

Для выполнения данного программирования надо установить программу Eclipse, которая связана с Java языками, и в ней установить плагин специально для leJOS. LeJOS имеет множество версий, в настоящее время самой последней версией является 0.9.1 beta.

Еще leJOS поддерживает моторы. Моторы делятся на регулируемые и нерегулируемые. Регулируемые моторы самостоятельно контролируют скорость вращения и могут повернуться на заданный угол. Нерегулируемыми моторами можно управлять, просто задав скорость, направление и время вращения. Классы, по которым можно управлять моторы:

• EV3LargeRegulatedMotor - для большого мотора EV3;

• EV3MediumRegulatedMotor - для среднего мотора EV3.

Основные функции, которые можно использовать для регулируемых моторов:

• Forward () - двигаться вперёд до получения команды стоп (или её эквивалента);

• Backwards () - двигаться назад до получения команды стоп (или её эквивалента);

• Stop () - остановить мотор;

• Flt () - остановить мотор без торможения;

• setSpeed (int speed) - установить скорость;

• rotate (int angle) - повернуть на угол (угол может быть положительным или отрицательным в градусах);

• rotateTo(int angle) - повернуть мотор до угла (в градусах).

Для работы двух или более моторов надо использовать функции synchronizeWith, startSynchronization и endSynchronization.

l4>ort lejos.hardware.BrlckFlnder;

lsport lejos.hardware.motor.EV3LargeRegulatedMotor;

import lejos.robotics.RegulatedMotor;

public class hello <

public static void main(String[] args) (

// TODO Auto-generated method stub 05uppressWarnings("resource")

RegulatedMotor mB ■ new EV3LargtRtgulatedMotor(BrlckFlnder.getDefaultO.getPort("S"));

RegulatedMOtor ac ■ new EVlLargeRcgulatedMotor(Brlekriader.gecDefjult() .getPort("C")) ;

mS.synchronlzeNith(new RegulatedMotor(I (aC));

mB.startSynchronization();

aB.rotate(360, true);

mC.rotate(360, true);

mB.endSynchronization();

mB.waitCooplete();

mC.vaitCcmpleteO ;|

)

Рис. 2. Код работы моторов

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

Вот такими простыми способами можно программировать на языке программирования Java. Это все лишь начало программирования в Lego Mindstorms.

Литература

1. Maximum Lego Mindstorms EV3: Building Robots With Java Brains / Под ред. Brian Bagnall - Variant Press, 2014. - 102-105 c.

2. Core LEGO MINDSTORMS Programming: Unleash the Power of the Java Platform / Под ред. Brian Bagnall -Prentice Hall, 2002. - 48-51 c.

i Надоели баннеры? Вы всегда можете отключить рекламу.