뇌#
소개#
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 Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
브레인에서 재생할 지정된 소리입니다. |
|
|
선택 사항입니다. 소리가 재생될 볼륨을 0%에서 100% 사이의 정수로 지정합니다. 기본값은 50%입니다. |
소리 이름 |
소리 재생 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
이 함수는 값을 반환하지 않습니다.
플레이노트#
뇌에서 음표를 연주합니다.
Available Functions1 - 음표를 연주하세요.
void playNote( int32_t octave, int32_t note );
Parameters2 - 지정된 시간과 음량으로 음을 연주합니다.
void playNote( int32_t octave, int32_t note, int32_t duration, int32_t volume = 50 );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
해당 음이 연주되는 옥타브를 나타내는 정수:
|
|
|
연주할 음표:
|
|
|
선택 사항입니다. 음을 연주할 시간(밀리초)을 최대 500밀리초까지 지정할 수 있습니다. 시간을 지정하지 않으면 기본값인 500밀리초가 사용됩니다. |
|
|
선택 사항입니다. 소리가 재생될 볼륨을 0%에서 100% 사이의 정수로 지정합니다. 기본값은 50%입니다. |
이 함수는 값을 반환하지 않습니다.
프로그램 중지#
EXP Brain에서 현재 실행 중인 프로젝트를 중지합니다.
Available Functionsvoid programStop();
이 함수는 매개변수를 받지 않습니다.
Return Values이 함수는 값을 반환하지 않습니다.
Examples// Stop the project when the Brain screen is pressed
while (true) {
if (Brain.Screen.pressing()) {
Brain.programStop();
}
wait(20, msec);
}
시간제 노동자#
지정된 단위로 브레인의 내부 타이머의 현재 값을 반환합니다.
Available Functionsdouble timer(
timeUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
The unit of time to return:
|
프로그램 시작 이후 경과된 시간을 지정된 단위로 나타내는 double 의 double 값을 반환합니다.
프로젝트가 시작되면 타이머가 자동으로 시작됩니다.
타이머는
resetTimer를 사용하여 재설정할 수 있습니다.
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
wait(20, msec);
}
Brain.programStop();
리셋타이머#
뇌의 내부 타이머를 0으로 재설정한 후, 타이머는 즉시 0부터 다시 카운트업을 시작합니다.
Available Functionsvoid resetTimer();
이 함수는 매개변수를 받지 않습니다.
Return Values이 함수는 값을 반환하지 않습니다.
Notes타이머는 재설정된 직후 즉시 다시 카운트를 시작합니다.
resetTimer을 호출하면timer에 대한 후속 호출에서 반환되는 값에 영향을 미칩니다.
// 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 Functionsvoid setTimer(
double value,
timeUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
타이머를 설정할 시간은 |
|
|
The unit used to interpret the
|
이 함수는 값을 반환하지 않습니다.
Notes타이머는 설정 후 계속해서 시간을 카운트합니다.
setTimer을 호출하면timer에서 반환되는 값이 즉시 변경됩니다.
// 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");