脳#
導入#
VEX EXP C++では、脳は brain クラスで表されます。Brainオブジェクトを作成するか(またはプロジェクトにデフォルトで用意されているものを使用する)、そのメンバオブジェクトを介してBrainの機能にアクセスします。
派生クラス#
brain クラスは、以下の派生クラスの基底クラスとして機能します。
Screen- このクラスは、Brain の内蔵カラータッチスクリーンへのアクセスを提供し、プログラムがテキストやグラフィックを表示したり、タッチ入力を受け取ったりできるようにします。Timer- このクラスは、プログラム内の経過時間を計測し、時間ベースの動作を制御するための高解像度タイミングユーティリティを提供します。Battery- このクラスを使用すると、プログラムは電圧、電流、容量、温度など、Brain のバッテリーの状態を監視できます。Button- このクラスを使用すると、プログラムが Brain のボタンとやり取りできます。ThreeWirePort(triport/ 3-Wire Port) - このクラスは、Brain の 3-Wire ポートへのアクセスを提供し、リミットスイッチ、ポテンショメータ、LED などの従来のセンサーやデバイスを接続および制御します。SDcard- このクラスは、ファイルの保存、データロギング、外部リソースの読み込みのために、Brain の SD カードへの読み書きを可能にします。
クラスコンストラクタ#
brain();
パラメータ#
brain コンストラクタはパラメータを使用しません。
注記#
プロジェクト内で作成できる
brainオブジェクトは1つだけです。
例#
// Create the EXP Brain
brain Brain = brain();
メンバーの機能#
brain クラスには、以下のメンバ関数が含まれています。
playSound- Brain に組み込まれているサウンドエフェクトの 1 つを再生します。playNote- 特定の時間だけ音符を演奏します。programStop- EXP Brain 上で現在実行中のプロジェクトを停止します。timer- Brain の内部タイマーの現在の値を指定された単位で返します。resetTimer- Brain の内部タイマーをゼロにリセットし、タイミングを再開します。setTimer- Brain の内部タイマーを、指定された値と時間単位に設定します。
brain メンバー関数を呼び出す前に、以下に示すように brain インスタンスを作成する必要があります。
// Create the EXP Brain
brain Brain = brain();
サウンドを再生#
Brainに内蔵されているサウンドの一つを再生します。
Available Functionsvoid playSound(
soundtype sound,
uint32_t volume = 50 );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
Brainから再生する指定されたサウンド。 |
|
|
オプション。再生される音量を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);
}
タイマー#
Brainの内部タイマーの現在の値を、指定された単位で返します。
Available Functionsdouble timer(
timeUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
The unit of time to return:
|
プログラム開始からの経過時間を、指定された単位で表す double 倍精度浮動小数点数を返します。
プロジェクトが開始されると、タイマーは自動的に作動します。
タイマーは
resetTimerを使用してリセットできます。
// Stop the project after 3 seconds
while (Brain.timer(seconds) < 3) {
wait(20, msec);
}
Brain.programStop();
リセットタイマー#
脳の内部タイマーをゼロにリセットします。その後、タイマーは直ちにゼロから再びカウントアップを開始します。
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");
タイマーを設定#
Brainの内部タイマーを、指定された値と時間単位に設定します。
Available Functionsvoid setTimer(
double value,
timeUnits units );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
タイマーを設定する時間。これは、 |
|
|
|
この関数は値を返しません。
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");