뇌#

소개#

VEX EXP C++에서 Brain은 brain 클래스로 표현됩니다. Brain 객체를 생성하거나 프로젝트에서 제공하는 기본 객체를 사용한 다음, 해당 멤버 객체를 통해 Brain의 기능에 접근할 수 있습니다.

파생 클래스#

brain 클래스는 다음 파생 클래스들의 기본 클래스 역할을 합니다.

  • Screen - 이 클래스는 Brain의 내장 컬러 터치스크린에 대한 액세스를 제공하여 프로그램이 텍스트, 그래픽을 표시하고 터치 입력을 받을 수 있도록 합니다.

  • Timer - 이 클래스는 경과 시간을 측정하고 프로그램의 시간 기반 동작을 제어하기 위한 고해상도 타이밍 유틸리티를 제공합니다.

  • Battery - 이 클래스는 프로그램이 전압, 전류, 용량 및 온도를 포함한 브레인의 배터리 상태를 모니터링할 수 있도록 합니다.

  • Button - 이 클래스는 프로그램이 브레인의 버튼과 상호 작용할 수 있도록 합니다.

  • ThreeWirePort (triport / 3선 포트) - 이 클래스는 리미트 스위치, 전위차계, LED와 같은 기존 센서 및 장치를 연결하고 제어하기 위한 브레인의 3선 포트에 대한 액세스를 제공합니다.

  • SDcard - 이 클래스는 파일 저장, 데이터 로깅 및 외부 리소스 로드를 위해 브레인의 SD 카드에서 읽고 쓰기를 가능하게 합니다.

클래스 생성자#

brain();

매개변수#

brain 생성자는 매개변수를 사용하지 않습니다.

메모#

  • 프로젝트에는 brain 객체가 하나만 생성되어야 합니다.

예#

// Create the EXP Brain
brain Brain = brain();

회원 기능#

brain 클래스는 다음과 같은 멤버 함수를 포함합니다.

  • playSound - 브레인의 내장 사운드 효과 중 하나를 재생합니다.

  • playNote - 특정 시간 동안 음표를 연주합니다.

  • programStop - EXP Brain에서 현재 실행 중인 프로젝트를 중지합니다.

  • timer - 지정된 단위로 브레인의 내부 타이머의 현재 값을 반환합니다.

  • resetTimer - 브레인의 내부 타이머를 0으로 재설정하고 타이밍을 다시 시작합니다.

  • setTimer - 브레인의 내부 타이머를 지정된 값과 시간 단위로 설정합니다.

brain 멤버 함수를 호출하기 전에 아래와 같이 brain 인스턴스를 생성해야 합니다.

// Create the EXP Brain
brain Brain = brain();

소리 재생#

브레인에 내장된 소리 중 하나를 재생합니다.

Available Functions
void playSound(
    soundtype sound,
    uint32_t volume = 50 );

Parameters

매개변수

유형

설명

sound

soundtype

브레인에서 재생할 지정된 소리입니다.

volume

uint32_t

선택 사항입니다. 소리가 재생될 볼륨을 0%에서 100% 사이의 정수로 지정합니다. 기본값은 50%입니다.

소리 이름

소리 재생

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

이 함수는 값을 반환하지 않습니다.

플레이노트#

뇌에서 음표를 연주합니다.

Available Functions

1 - 음표를 연주하세요.

void playNote(
    int32_t octave,
    int32_t note );

2 - 지정된 시간과 음량으로 음을 연주합니다.

void playNote(
    int32_t octave,
    int32_t note,
    int32_t duration,
    int32_t volume = 50 );

Parameters

매개변수

유형

설명

octave

int32_t

해당 음이 연주되는 옥타브를 나타내는 정수:

  • 1 ~ 3 - 저음 옥타브
  • 4 ~ 7 - 고음 옥타브

note

int32_t

연주할 음표:

  • 0 - C
  • 1 - D
  • 2 - E
  • 3 - F
  • 4 - G
  • 5 - A
  • 6 - B

duration

int32_t

선택 사항입니다. 음을 연주할 시간(밀리초)을 최대 500밀리초까지 지정할 수 있습니다. 시간을 지정하지 않으면 기본값인 500밀리초가 사용됩니다.

volume

int32_t

선택 사항입니다. 소리가 재생될 볼륨을 0%에서 100% 사이의 정수로 지정합니다. 기본값은 50%입니다.

Return Values

이 함수는 값을 반환하지 않습니다.

프로그램 중지#

EXP Brain에서 현재 실행 중인 프로젝트를 중지합니다.

Available Functions
void programStop();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Examples
// Stop the project when the Brain screen is pressed
while (true) {
  if (Brain.Screen.pressing()) {
    Brain.programStop();
  }
  wait(20, msec);
}

시간제 노동자#

지정된 단위로 브레인의 내부 타이머의 현재 값을 반환합니다.

Available Functions
double timer(
  timeUnits units );

Parameters

매개변수

유형

설명

units

timeUnits

The unit of time to return:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

프로그램 시작 이후 경과된 시간을 지정된 단위로 나타내는 double 의 double 값을 반환합니다.

Examples
  • 프로젝트가 시작되면 타이머가 자동으로 시작됩니다.

  • 타이머는 resetTimer를 사용하여 재설정할 수 있습니다.

Examples
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
  wait(20, msec);
}

Brain.programStop();

리셋타이머#

뇌의 내부 타이머를 0으로 재설정한 후, 타이머는 즉시 0부터 다시 카운트업을 시작합니다.

Available Functions
void resetTimer();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 타이머는 재설정된 직후 즉시 다시 카운트를 시작합니다.

  • resetTimer 을 호출하면 timer에 대한 후속 호출에서 반환되는 값에 영향을 미칩니다.

Examples
// Reset the timer and measure elapsed time
Brain.resetTimer();

while (Brain.timer(sec) < 5) {
  wait(20, msec);
}

// 5 seconds have elapsed since reset
Brain.Screen.print("5 seconds passed");

타이머 설정#

두뇌의 내부 타이머를 지정된 값과 시간 단위로 설정합니다.

Available Functions
void setTimer(
  double value,
  timeUnits units );

Parameters

매개변수

유형

설명

value

double

타이머를 설정할 시간은 units 매개변수에 제공된 timeUnits 기준으로 합니다.

units

timeUnits

The unit used to interpret the value parameter:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 타이머는 설정 후 계속해서 시간을 카운트합니다.

  • setTimer 을 호출하면 timer에서 반환되는 값이 즉시 변경됩니다.

Examples
// Set the timer to start at 10 seconds
Brain.setTimer(10, sec);

// Wait until the timer is at 3 seconds
while (Brain.timer(sec) < 3) {
  wait(20, msec);
}

// 5 seconds have elapsed since setTimer was called
Brain.Screen.print("5 seconds passed");