모든 ev3 센서의 이름은 정확합니다. 두 개 이상의 EV3 브릭 연결하기

전통적으로 플랫폼을 기반으로 구축된 로봇은 레고 마인드스톰 EV3는 LabVIEW 그래픽 환경을 사용하여 프로그래밍됩니다. 이 경우 프로그램은 EV3 컨트롤러에서 실행되고 로봇은 자율적으로 작동합니다. 여기서는 컴퓨터에서 실행되는 .NET 플랫폼을 사용하여 로봇을 제어하는 ​​다른 방법에 대해 설명하겠습니다.

하지만 프로그래밍을 시작하기 전에 이것이 유용할 수 있는 몇 가지 사례를 살펴보겠습니다.

  • 노트북에서 로봇을 원격으로 제어해야 합니다(예: 버튼 누르기).
  • EV3 컨트롤러에서 데이터를 수집하고 이를 외부 시스템(예: IoT 시스템)에서 처리해야 합니다.
  • .NET에서 제어 알고리즘을 작성하고 EV3 컨트롤러에 연결된 컴퓨터에서 실행하려는 기타 상황

.NET용 LEGO MINDSTORMS EV3 API

EV3 컨트롤러는 직렬 포트로 명령을 전송하여 외부 시스템에서 제어됩니다. 명령 형식 자체는 통신 개발자 키트에 설명되어 있습니다.

하지만 이 프로토콜을 수동으로 구현하는 것은 지루합니다. 따라서 Brian Peek가 신중하게 작성한 기성 .NET 래퍼를 사용할 수 있습니다. 이 라이브러리의 소스 코드는 Github에서 호스팅되며 즉시 사용 가능한 패키지는 Nuget에서 찾을 수 있습니다.

EV3 컨트롤러에 연결

Brick 클래스는 EV3 컨트롤러와 통신하는 데 사용됩니다. 이 객체를 생성할 때 ICommunication 인터페이스 구현을 생성자(EV3 컨트롤러에 연결하는 방법을 설명하는 객체)에 전달해야 합니다. UsbCommunication, BluetoothCommunication 및 NetworkCommunication(WiFi 연결) 구현이 가능합니다.

가장 널리 사용되는 연결 방법은 Bluetooth를 통한 연결입니다. 이 연결 방법을 자세히 살펴 보겠습니다.

Bluetooth를 통해 프로그래밍 방식으로 컨트롤러에 연결하려면 운영 체제 설정을 사용하여 컨트롤러를 컴퓨터에 연결해야 합니다.

컨트롤러가 연결된 후 Bluetooth 설정으로 이동하여 COM 포트 탭을 선택합니다. 우리는 컨트롤러를 찾았습니다. 나가는포트. BluetoothCommunication 객체를 생성할 때 이를 지정하겠습니다.

컨트롤러에 연결하는 코드는 다음과 같습니다.

공용 비동기 작업 Connect(ICommunication 통신) ( var communications = new BluetoothCommunication("COM9"); var brick = _brick = new Brick(communication); wait _brick.ConnectAsync(); )

선택적으로 컨트롤러에 대한 연결 시간 초과를 지정할 수 있습니다.

_brick.ConnectAsync(TimeSpan.FromSeconds(5))를 기다립니다.

USB 또는 WiFi를 통한 장치 연결은 UsbCommunication 및 NetworkCommunication 개체가 사용된다는 점을 제외하고 동일한 방식으로 수행됩니다.

컨트롤러에서 수행되는 모든 추가 작업은 Brick 개체를 통해 수행됩니다.

엔진을 돌려보자

EV3 컨트롤러에서 명령을 실행하기 위해 Brick 개체의 DirectCommand 속성에 액세스합니다. 먼저 엔진을 시동해 보겠습니다.

모터가 컨트롤러의 포트 A에 연결되어 있다고 가정하고 이 모터를 50% 전력으로 실행하면 다음과 같습니다.

_brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50)를 기다립니다.

모터를 제어하는 ​​다른 방법이 있습니다. 예를 들어 StepMotorAtPowerAsync() 및 StepMotorAtSpeedAsync() 메서드를 사용하여 모터를 지정된 각도로 회전할 수 있습니다. 시간, 속도, 전력 등에 따라 모터를 켜는 모드를 변형하는 여러 가지 방법이 있습니다.

강제 중지는 StopMotorAsync() 메서드를 사용하여 수행됩니다.

_brick.DirectCommand.StopMotorAsync(OutputPort.A, true)를 기다립니다.

두 번째 매개변수는 브레이크 사용을 나타냅니다. false로 설정하면 모터가 관성 정지합니다.

센서에서 값 읽기

EV3 컨트롤러에는 센서 연결을 위한 4개의 포트가 있습니다. 이 외에도 모터에는 인코더가 내장되어 있어 센서로 사용할 수 있습니다. 결과적으로 값을 읽을 수 있는 포트가 8개 있습니다.

값을 읽기 위한 포트는 Brick 객체의 Ports 속성을 통해 접근할 수 있습니다. 포트는 컨트롤러에서 사용할 수 있는 포트 모음입니다. 따라서 특정 포트를 사용하려면 해당 포트를 선택해야 합니다. InputPort.One ...InputPort.Four는 센서 포트이고,InputPort.A...InputPort.D는 모터 인코더입니다.

Var 포트1 = _brick.Ports;

EV3의 센서는 다양한 모드에서 작동할 수 있습니다. 예를 들어, EV3 컬러 센서를 사용하여 주변광을 측정하거나, 반사광을 측정하거나, 색상을 감지할 수 있습니다. 따라서 센서에 정확히 어떻게 사용하고 싶은지 "알려주기" 위해서는 센서의 모드를 설정해야 합니다.

Brick.Ports.SetMode(ColorMode.Reflective);

이제 센서가 연결되고 작동 모드가 설정되었으므로 센서에서 데이터를 읽을 수 있습니다. "원시" 데이터, 처리된 값 및 백분율 값을 얻을 수 있습니다.

부동 si = _brick.Ports.SIValue; int raw = _brick.Ports.RawValue; 바이트 백분율 = _brick.Ports.PercentValue;

SIValue 속성은 처리된 데이터를 반환합니다. 그것은 모두 어떤 센서가 사용되는지, 어떤 모드에서 사용되는지에 따라 다릅니다. 예를 들어 반사광을 측정할 때 반사광의 강도(흑백/흑백)에 따라 0부터 100까지의 값을 얻게 됩니다.

RawValue 속성은 ADC에서 얻은 원시 값을 반환합니다. 때로는 후속 처리 및 사용에 사용하는 것이 더 편리합니다. 그런데 EV3 개발 환경에서는 "원시" 값을 얻는 것도 가능합니다. 이를 위해서는 파란색 패널의 블록을 사용해야 합니다.

사용 중인 센서가 백분율로 값을 수신할 것으로 예상하는 경우 PercentValue 속성을 사용할 수도 있습니다.

일괄적으로 명령 실행

바퀴가 두 개인 로봇 카트가 있고 이를 제자리에 배치하려고 한다고 가정해 보겠습니다. 이 경우 두 바퀴는 반대 방향으로 회전해야 합니다. DirectCommand를 사용하고 두 개의 명령을 컨트롤러에 순차적으로 보내는 경우 실행 사이에 약간의 시간이 걸릴 수 있습니다.

_brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50)를 기다립니다. wait _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.B, -50);

이 예에서는 모터 A를 50의 속도로 회전하라는 명령을 보냅니다. 이 명령을 성공적으로 보낸 후 포트 B에 연결된 모터에 대해 동일한 작업을 반복합니다. 문제는 명령 전송이 즉시 발생하지 않는다는 것입니다. 다른 시간에 회전을 시작할 수 있습니다. 명령이 포트 B에 대해 전송되는 동안 모터 A 이미회전을 시작합니다.

모터를 동시에 회전시키는 것이 중요한 경우 "번들"로 컨트롤러에 명령을 보낼 수 있습니다. 이 경우 DirectCommand 대신 BatchCommand 속성을 사용해야 합니다.

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); _brick.BatchCommand.SendCommandAsync()를 기다립니다.

이제 두 개의 명령이 한 번에 준비된 후 하나의 패킷으로 컨트롤러로 전송됩니다. 이 명령을 수신한 컨트롤러는 동시에 모터를 회전하기 시작합니다.

너는 어떤 다른 일을 할 수 있니

모터를 회전하고 센서 값을 읽는 것 외에도 EV3 컨트롤러에서 다양한 작업을 수행할 수 있습니다. 각각에 대해 자세히 설명하지는 않고 수행할 수 있는 작업 목록만 나열하겠습니다.

  • CleanUIAsync(), DrawTextAsync(), DrawLineAsync() 등 - EV3 컨트롤러의 내장 화면 조작
  • PlayToneAsync() 및 PlaySoundAsync() - 내장 스피커를 사용하여 사운드 재생
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (SystemCommand에서) - 파일 작업

결론

.NET을 사용하여 Mindstorms EV3 로봇을 제어하는 ​​것은 "다른 세계"의 기술이 어떻게 함께 작동할 수 있는지 잘 보여줍니다. .NET용 EV3 API를 연구한 결과, 컴퓨터에서 EV3 로봇을 제어할 수 있는 작은 애플리케이션이 만들어졌습니다. 불행하게도 NXT에도 유사한 애플리케이션이 존재하지만 EV3는 이를 우회했습니다. 동시에 로봇 축구와 같은 통제된 로봇 대회에도 유용합니다.

다음 링크에서 애플리케이션을 다운로드하고 설치할 수 있습니다.

우리처럼 표준 EV3 센서의 기능이 부족하거나 로봇의 센서용 포트 4개가 충분하지 않거나 로봇에 이국적인 주변 장치를 연결하려는 경우 이 기사가 적합합니다. 저를 믿으십시오. EV3용 홈메이드 센서는 보기보다 쉽습니다. 오래된 라디오의 "볼륨 손잡이"나 토양 수분 센서로 화분 땅에 박힌 못 두 개가 실험에 적합합니다.

놀랍게도 각 EV3 센서 포트에는 주로 NXT 및 타사 센서와의 호환성을 위해 다양한 프로토콜이 숨겨져 있습니다. EV3 케이블의 작동 방식을 살펴보겠습니다.


이상한데 빨간색 선은 접지(GND)이고 녹색 선은 4.3V 전원 공급 장치의 플러스입니다. 파란색 선은 I2C 버스용 SDA와 UART 프로토콜용 TX입니다. 또한 파란색 선은 EV3용 아날로그-디지털 변환기의 입력입니다. 노란색 선은 I2C 버스용 SCL과 UART 프로토콜용 RX입니다. 흰색 선은 NXT 센서용 아날로그-디지털 변환기의 입력입니다. 검정색 - 디지털 입력, NXT와 호환되는 센서용 - GND를 복제합니다. 쉽지 않죠? 순서대로 가자.

EV3 아날로그 입력

각 센서 포트에는 아날로그-디지털 변환기 채널이 있습니다. 터치 센서(버튼), 반사광 및 주변광 모드의 NXT 광 센서 및 컬러 센서, NXT 사운드 센서 및 NXT 온도계와 같은 센서에 사용됩니다.

다이어그램에 따라 연결된 910옴의 저항은 컨트롤러에 이 포트를 아날로그 입력 모드로 전환해야 함을 알려줍니다. 이 모드에서는 Arduino 등의 모든 아날로그 센서를 EV3에 연결할 수 있습니다. 이러한 센서의 교환 속도는 초당 수천 개의 폴에 도달할 수 있으며 이는 가장 빠른 유형의 센서입니다.

광 센서

온도계

토양 수분 센서

마이크, 버튼, IR 거리 측정기 및 기타 다양한 일반 센서를 연결할 수도 있습니다. 4.3V 전원이 센서에 충분하지 않은 경우 EV3 컨트롤러 측면에 있는 USB 포트에서 5V로 전원을 공급할 수 있습니다.

위에서 언급한 "볼륨 노브"(가변 저항기 또는 전위차계라고도 함)는 아날로그 센서의 훌륭한 예입니다. 다음과 같이 연결할 수 있습니다.

표준 LEGO 프로그래밍 환경에서 이러한 센서의 값을 읽으려면 파란색 RAW 블록을 사용해야 합니다.

I2C 프로토콜

이는 디지털 프로토콜로, 예를 들어 NXT 초음파 센서와 IR Seeker 또는 Color Sensor V2와 같은 많은 Hitechnic 센서가 작동합니다. Arduino와 같은 다른 플랫폼의 경우 i2c 센서가 많이 있으므로 연결할 수도 있습니다. 계획은 다음과 같습니다.

LEGO 그룹에서는 82옴의 저항을 권장하지만 다양한 출처에서는 43옴 이하를 언급합니다. 사실, 우리는 이러한 저항을 완전히 버리려고 노력했으며 적어도 "테이블 위에서" 모든 것이 작동했습니다. 다양한 종류의 간섭 조건에서 작동하는 실제 로봇에서 SCL 및 SDA 라인은 위 다이어그램에 표시된 것처럼 저항을 통해 전원 공급 장치에 연결되어야 합니다. EV3의 i2c 작동 속도는 약 10,000kbps로 매우 낮습니다. 이것이 바로 모두가 좋아하는 Hitechnic Color Sensor V2가 너무 느린 이유입니다 :)

불행하게도 LEGO의 표준 EV3-G에는 i2c 센서와의 양방향 통신을 위한 완전한 블록이 없지만 RobotC, LeJOS 또는 EV3 Basic과 같은 타사 프로그래밍 환경을 사용하면 거의 모든 i2c 센서와 상호 작용할 수 있습니다. .

i2c 프로토콜을 사용하여 작동하는 EV3의 기능은 여러 센서를 하나의 포트에 연결할 수 있는 흥미로운 가능성을 열어줍니다. I2C 프로토콜을 사용하면 하나의 버스에 최대 127개의 슬레이브 장치를 연결할 수 있습니다. 상상할 수 있니? 각 EV3 포트당 127개의 센서 :) 또한 여러 개의 i2c 센서가 하나의 장치에 결합되는 경우가 많습니다. 예를 들어 아래 사진에는 10 in 1 센서가 있습니다(나침반, 자이로스코프, 가속도계, 기압계 등 포함).

UART

터치 센서를 제외한 거의 모든 표준 비 EV3 센서는 UART 프로토콜을 사용하여 작동하므로 NXT 컨트롤러와 호환되지 않습니다. NXT 컨트롤러는 동일한 커넥터가 있지만 센서에 UART가 구현되어 있지 않습니다. 포트. 다이어그램을 살펴보세요. 이전 사례보다 조금 더 간단합니다.

UART 센서는 작동 속도를 EV3와 자동으로 일치시킵니다. 처음에는 2400kbit/s의 속도로 연결하고 작동 모드와 환율에 동의한 다음 속도를 높입니다. 다양한 센서의 일반적인 환율은 38400 및 115200kbit/s입니다.
LEGO는 UART 센서에 다소 복잡한 프로토콜을 구현했기 때문에 원래 이 플랫폼용으로 의도되지 않았지만 호환되는 타사 센서가 없습니다. 그럼에도 불구하고 이 프로토콜은 "수제" 연결에 매우 편리합니다.
마이크로컨트롤러를 기반으로 한 센서.
유명한 LeJOS 개발자 Lawrie Griffiths가 작성한 EV3UARTEmulation이라는 Arduino용 멋진 라이브러리가 있습니다. 이 라이브러리를 사용하면 이 보드를 UART-LEGO 호환 센서로 사용할 수 있습니다. 그의 LeJOS News 블로그에는 이 라이브러리를 사용하여 가스 센서, IMU 센서 및 디지털 나침반을 연결한 예가 많이 있습니다.

아래 비디오는 수제 센서를 사용하는 예입니다. 원래 LEGO 거리 센서가 충분하지 않으므로 로봇에 직접 만든 센서를 사용합니다.


로봇의 임무는 녹색 셀에서 시작하여 미로(빨간색 셀)를 빠져나가는 길을 찾아 막다른 골목에 가지 않고 최단 경로로 시작점으로 돌아가는 것입니다.

화면 모드 선택

모드 선택
블록 텍스트 필드
입력
미리보기 버튼

모드 선택기를 사용하여 보려는 텍스트 또는 그래픽 유형을 선택하십시오. 모드를 선택한 후 입력값을 선택할 수 있습니다. 사용 가능한 입력은 모드에 따라 달라집니다. 모드와 입력은 아래에 설명되어 있습니다.

미리보기 버튼을 클릭하면 디스플레이 블록이 EV3 화면에 표시되는 내용을 미리 볼 수 있습니다. 블록에 대한 입력 값을 선택하는 동안 뷰를 열어 둘 수 있습니다.

화면 좌표

많은 화면 블록 모드에서는 X 및 Y 좌표를 사용하여 요소의 위치를 ​​결정합니다. 좌표는 EV3 브릭 화면의 픽셀 위치를 결정합니다. 위치 (0, 0)은 아래 이미지와 같이 화면의 왼쪽 상단에 있습니다.

화면 크기: 너비 178픽셀, 높이 128픽셀. X 좌표 값의 범위는 왼쪽 화면의 0부터 오른쪽 화면의 177까지입니다. Y좌표 값의 범위는 상단의 0부터 하단의 127까지이다.

팁과 요령

화면 블록의 왼쪽 상단에 있는 미리보기 버튼을 사용하면 올바른 화면 좌표를 찾는 데 도움이 됩니다.

텍스트 - 픽셀

텍스트 - 픽셀 모드를 사용하면 EV3 브릭 화면의 어느 곳에나 텍스트를 표시할 수 있습니다.

재설정 창

윈도우 초기화 모드는 EV3 브릭 화면을 프로그램이 실행되는 동안 표시되는 표준 정보 화면으로 되돌립니다. 이 화면에는 프로그램 이름과 기타 피드백 정보가 표시됩니다. EV3 브릭에서 프로그램을 실행하면 프로그램의 첫 번째 화면 블록이 실행되기 전에 이 화면이 나타납니다.

표시된 요소의 가시성 보장

EV3 프로그램이 완료되면 EV3 브릭 화면이 사라지고 EV3 브릭 메뉴 화면으로 돌아갑니다. 프로그램에 표시된 모든 텍스트나 그래픽이 지워집니다. 예를 들어, 프로그램에 "스크린" 블록이 하나만 있고 다른 블록은 없다면 프로그램 종료 직후 화면이 너무 빨리 지워지므로 "스크린" 블록의 결과를 볼 수 없습니다.

프로그램이 완료된 후에도 화면이 계속 표시되도록 하려면 다음 예와 같이 프로그램이 즉시 종료되지 않도록 프로그램 끝에 블록을 추가해야 합니다.

여러 항목 표시

여러 텍스트나 그래픽 요소를 화면에 동시에 표시하려면 요소 사이에 EV3 브릭 화면을 지우지 않는 것이 중요합니다. 스크린 블록의 각 모드에는 클리어 스크린 입력이 있습니다. Clear Screen이 true인 경우 항목이 표시되기 전에 전체 화면이 지워집니다. 즉, 여러 항목을 표시하려면 첫 번째 항목을 제외한 모든 화면 블록에 대해 Clear Screen을 False로 설정해야 합니다.

숫자 표시

프로그램에 숫자 값을 표시하려면 데이터 버스를 텍스트 디스플레이 블록의 텍스트 입력에 연결하십시오. 숫자 데이터 버스는 데이터 버스 유형 변환을 사용하여 자동으로 텍스트로 변환됩니다(섹션 참조).

개별 슬라이드별 프레젠테이션 설명:

슬라이드 1개

슬라이드 설명:

2 슬라이드

슬라이드 설명:

EV3 브릭 인터페이스 EV3 브릭은 로봇에 전원을 공급하는 제어 센터입니다. 화면, 브릭 제어 버튼, 4개의 기본 창으로 구성된 EV3 브릭 인터페이스를 통해 놀랍도록 다양하고 고유한 EV3 브릭 기능에 액세스할 수 있습니다. 이는 프로그램 시작 및 중지와 같은 간단한 기능일 수도 있고 프로그램 자체 작성과 같은 복잡한 기능일 수도 있습니다.

3 슬라이드

슬라이드 설명:

인터페이스: EV3 메뉴에는 4개 부분으로 구성된 메뉴가 있습니다. 최근 프로그램 파일 탐색 브릭 애플리케이션 브릭 설정

4 슬라이드

슬라이드 설명:

최근 프로그램 최근 데스크탑 PC에서 다운로드한 프로그램을 실행합니다. 이 창은 프로그램 다운로드 및 실행을 시작할 때까지 공백으로 유지됩니다. 이 창에는 최근에 시작한 프로그램이 표시됩니다. 기본적으로 선택되어 있는 목록 상단의 프로그램이 마지막에 실행된 프로그램입니다.

5 슬라이드

슬라이드 설명:

파일 관리자 마이크로컴퓨터 메모리와 메모리 카드에 저장된 모든 파일에 액세스하고 관리합니다. 이 창에서는 SD 카드에 저장된 파일을 포함하여 EV3 브릭의 모든 파일에 액세스하고 관리할 수 있습니다. 파일은 실제 프로그램 파일 외에도 각 프로젝트에 사용된 사운드와 이미지를 포함하는 프로젝트 폴더로 구성됩니다. 파일 탐색기를 사용하여 파일을 이동하거나 삭제할 수 있습니다. 모듈 프로그래밍 환경과 모듈 데이터 로깅 애플리케이션을 사용하여 생성된 프로그램은 BrkProg_SAVE 및 BrkDL_SAVE 폴더에 별도로 저장됩니다.

6 슬라이드

슬라이드 설명:

EV3 컨트롤 박스 애플리케이션에는 4개의 사전 설치된 애플리케이션이 있습니다: A. 포트 보기. B. 모터 제어. B. IR 제어. D. 모듈 프로그래밍 환경.

7 슬라이드

슬라이드 설명:

A. 포트 보기 포트 보기 애플리케이션의 첫 번째 창에서는 어떤 포트에 센서나 모터가 연결되어 있는지 빠르게 확인할 수 있습니다. EV3 브릭 제어 버튼을 사용해 사용 중인 포트 중 하나로 이동하면 센서나 모터의 현재 판독값을 볼 수 있습니다. 여러 센서와 모터를 설치하고 다양한 설정으로 실험해 보세요. 설치된 모터 및 센서의 현재 설정을 보거나 변경하려면 가운데 버튼을 누르세요. 모듈의 기본 응용 프로그램 창으로 돌아가려면 "뒤로" 버튼을 클릭하세요.

8 슬라이드

슬라이드 설명:

B. 모터 제어 4개의 출력 포트 중 하나에 연결된 모터의 정방향 또는 역방향 이동을 제어합니다. 두 가지 모드가 있습니다. 한 모드에서는 포트 A(위 및 아래 버튼 사용)와 포트 D(왼쪽 및 오른쪽 버튼 사용)에 연결된 모터를 제어할 수 있습니다. 다른 모드에서는 포트 B(위 및 아래 버튼 사용)와 포트 C(왼쪽 및 오른쪽 버튼 사용)에 연결된 모터를 제어합니다. 이 두 모드 사이의 전환은 중앙 버튼을 사용하여 수행됩니다. 모듈의 기본 응용 프로그램 창으로 돌아가려면 "뒤로" 버튼을 클릭하세요.

슬라이드 9

슬라이드 설명:

IR 제어 원격 적외선 비콘을 리모컨으로 사용하고 적외선 센서를 수신기로 사용하여 4개의 출력 포트 중 하나에 연결된 모터의 전진 또는 역방향 모션을 제어합니다(적외선 센서는 EV3 브릭의 포트 4에 연결되어야 함). . 두 가지 모드가 있습니다. 한 모드에서는 원격 적외선 비콘의 채널 1과 2를 사용합니다. 채널 1에서는 포트 B(원격 IR 비콘의 버튼 1 및 2 사용)와 포트 C(원격 IR 비콘의 버튼 3 및 4 사용)에 연결된 모터를 제어할 수 있습니다. 채널 2에서는 포트 A(버튼 1 및 2 사용)와 포트 D(버튼 3 및 4 사용)에 연결된 모터를 제어할 수 있습니다. 다른 모드에서는 대신 원격 적외선 비콘의 채널 3과 4를 사용하여 동일한 방식으로 모터를 제어할 수 있습니다. 이 두 모드 사이의 전환은 중앙 버튼을 사용하여 수행됩니다. 모듈의 기본 응용 프로그램 창으로 돌아가려면 "뒤로" 버튼을 클릭하세요.

10 슬라이드

슬라이드 설명:

브릭 프로그래밍 환경 EV3 브릭에는 소프트웨어가 설치되어 제공됩니다. 이 응용 프로그램은 컴퓨터에 설치된 소프트웨어와 유사합니다. 이 지침에는 시작하는 데 필요한 기본 정보가 포함되어 있습니다.

11 슬라이드

슬라이드 설명:

EV3 브릭 설정 이 창에서는 EV3 브릭의 다양한 일반 설정을 보고 조정할 수 있습니다.

12 슬라이드

슬라이드 설명:

볼륨 조절 EV3의 설정 탭에서 볼륨을 높이거나 낮출 수 있습니다.

슬라이드 13

USB 연결

LEGO Mindstorms EV3는 USB 연결을 통해 PC 또는 다른 EV3에 연결할 수 있습니다. 이 경우 연결 속도와 안정성은 Bluetooth를 포함한 다른 방법보다 좋습니다.

LEGO Mindstorms EV3에는 두 개의 USB 포트가 있습니다.

데이지 체인 모드에서 LEGO EV3와 다른 LEGO EV3 블록 간의 통신.

데이지 체인 모드는 두 개 이상의 LEGO EV3 블록을 연결하는 데 사용됩니다.

이 모드:

  • 둘 이상의 LEGO Mindstorms EV3를 연결하도록 설계되었습니다.
  • 더 많은 센서, 모터 및 기타 장치를 연결하는 역할을 합니다.
  • 여러 LEGO Mindstorms EV3(최대 4개) 간의 통신을 허용하며 최대 16개의 외부 포트와 동일한 수의 내부 포트를 제공합니다.
  • 주요 LEGO Mindstorms EV3에서 전체 체인을 제어할 수 있습니다.
  • Wi-Fi 또는 Bluetooth가 활성화되어 있으면 작동할 수 없습니다.

데이지 체인 연결 모드를 활성화하려면 프로젝트 설정 창으로 이동하여 확인란을 선택하세요.

이 모드를 선택하면 모든 모터에 대해 사용할 EV3 블록과 필요한 센서를 선택할 수 있습니다.

표에는 EV3 블록 사용 옵션이 나와 있습니다.

행동

미디엄 모터

큰 모터

조종

독립경영

자이로스코프

적외선

초음파

모터 회전

온도

에너지 미터

소리

블루투스를 통한 연결

Bluetooth를 사용하면 LEGO Mindstorms EV3를 PC, 기타 LEGO Mindstorms EV3, 스마트폰 및 기타 Bluetooth 장치에 연결할 수 있습니다. Bluetooth를 통한 통신 범위는 최대 25m입니다.

하나의 LEGO Mindstorms EV3에 최대 7개의 블록을 연결할 수 있습니다. EV3 마스터 브릭을 사용하면 각 EV3 슬레이브에 메시지를 보내고 받을 수 있습니다. EV3 슬레이브는 EV3 마스터 브릭에만 메시지를 보낼 수 있으며 서로에게는 보낼 수 없습니다.

Bluetooth를 통한 EV3 연결 순서

Bluetooth를 통해 두 개 이상의 EV3 블록을 서로 연결하려면 다음 단계를 수행해야 합니다.

1. 탭을 엽니다 설정.

2. 선택 블루투스그리고 가운데 버튼을 누르세요.

3. 우리는 체크박스 시계블루투스.

4. 블루투스 표시("<") виден на верхней левой стороне.

5. 필요한 수의 EV3 브릭에 대해 위 절차를 수행합니다.

6. 연결 탭으로 이동합니다.

7. 검색 버튼을 클릭합니다:

8. 연결하려는(또는 연결하려는) EV3를 선택하고 가운데 버튼을 누릅니다.

9. 첫 번째와 두 번째 블록을 액세스 키로 연결합니다.

모든 작업을 올바르게 수행하면 아이콘이 왼쪽 상단에 나타납니다.<>", 두 개 이상의 다른 EV3 블록이 있는 경우 동일한 방법으로 연결합니다.

LEGO EV3를 끄면 연결이 끊어지고 모든 단계를 반복해야 합니다.

중요: 각 블록에는 자체 프로그램이 작성되어야 합니다.

예제 프로그램:

첫 번째 블록: 터치 센서를 누르면 첫 번째 EV3 블록이 3초 지연 후 두 번째 블록(메인 블록)에 텍스트를 전송합니다.

블록 2의 예제 프로그램:

두 번째 블록은 첫 번째 블록에서 텍스트를 받기를 기다리고, 일단 텍스트를 받으면 10초 동안 단어(이 예에서는 "Hello"라는 단어)를 표시합니다(슬레이브 블록).

Wi-Fi를 통해 연결

Wi-Fi 동글을 EV3의 USB 포트에 연결하면 더 먼 거리의 통신이 가능합니다.

Wi-Fi를 사용하려면 USB 커넥터(Wi-Fi 어댑터(Netgear N150 무선 어댑터(WNA1100))를 사용하여 EV3 블록에 특수 모듈을 설치하거나 Wi-Fi 동글을 연결할 수 있습니다.