Otak#

Perkenalan#

Dalam VEX EXP C++, Brain direpresentasikan oleh kelas brain Anda membuat (atau menggunakan objek Brain yang disediakan proyek secara default) dan kemudian mengakses fitur Brain melalui objek anggotanya.

Kelas Turunan#

Kelas brain berfungsi sebagai kelas dasar untuk kelas-kelas turunan berikut:

  • Screen - Kelas ini menyediakan akses ke layar sentuh berwarna bawaan Brain, memungkinkan program untuk menampilkan teks, grafik, dan menerima input sentuhan.

  • Timer - Kelas ini menyediakan utilitas pengaturan waktu beresolusi tinggi untuk mengukur waktu yang telah berlalu dan mengontrol perilaku berbasis waktu dalam program.

  • Battery - Kelas ini memungkinkan program untuk memantau status baterai Otak, termasuk tegangan, arus, kapasitas, dan suhu.

  • Button - Kelas ini memungkinkan program untuk berinteraksi dengan tombol-tombol Otak.

  • ThreeWirePort (triport / 3-Wire Port) - Kelas ini menyediakan akses ke port 3-Wire Brain untuk menghubungkan dan mengontrol sensor dan perangkat lama seperti sakelar batas, potensiometer, dan LED.

  • SDcard - Kelas ini memungkinkan pembacaan dan penulisan ke kartu SD Brain untuk penyimpanan file, pencatatan data, dan pemuatan sumber daya eksternal.

Konstruktor Kelas#

brain();

Parameter#

Konstruktor brain tidak menggunakan parameter apa pun.

Catatan#

  • Hanya satu objek brain yang boleh dibuat dalam sebuah proyek.

Contoh#

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

Fungsi Keanggotaan#

Kelas brain mencakup fungsi anggota berikut:

  • playSound - Memainkan salah satu efek suara bawaan Brain.

  • playNote - Memainkan nada musik untuk durasi tertentu.

  • programStop - Menghentikan proyek yang sedang berjalan di EXP Brain.

  • timer - Mengembalikan nilai timer internal Brain saat ini dalam satuan yang ditentukan.

  • resetTimer - Mengatur ulang timer internal Brain ke nol dan memulai kembali penghitungan waktu.

  • setTimer - Mengatur timer internal Brain ke nilai dan satuan waktu yang ditentukan.

Sebelum memanggil fungsi anggota brain apa pun, sebuah instance brain harus dibuat, seperti yang ditunjukkan di bawah ini:

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

Putar suara#

Memainkan salah satu suara bawaan Brain.

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

Parameters

Parameter

Jenis

Keterangan

sound

soundtype

Suara yang ditentukan untuk diputar dari Otak.

volume

uint32_t

Opsional. Volume suara yang akan diputar berupa bilangan bulat dari 0% hingga 100%. Nilai default adalah 50%.

Nama Suara

Putar Suara

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Fungsi ini tidak mengembalikan nilai.

playNote#

Memainkan nada musik dari Otak.

Available Functions

1 - Mainkan sebuah nada musik.

void playNote(
    int32_t octave,
    int32_t note );

2 - Memainkan nada dengan durasi dan volume yang ditentukan.

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

Parameters

Parameter

Jenis

Keterangan

octave

int32_t

Bilangan bulat yang mewakili oktaf nada yang dimainkan:

  • 1 sampai 3 - oktaf rendah
  • 4 sampai 7 - oktaf tinggi

note

int32_t

Nada yang harus dimainkan:

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

duration

int32_t

Opsional. Durasi dalam milidetik untuk memainkan nada, hingga maksimum 500 milidetik. Jika durasi tidak ditentukan, durasi default adalah 500 milidetik.

volume

int32_t

Opsional. Volume suara yang akan diputar berupa bilangan bulat dari 0% hingga 100%. Nilai default adalah 50%.

Return Values

Fungsi ini tidak mengembalikan nilai.

programStop#

Menghentikan proyek yang sedang berjalan di EXP Brain.

Available Functions
void programStop();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Fungsi ini tidak mengembalikan nilai.

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

pengatur waktu#

Mengembalikan nilai terkini dari pengatur waktu internal Brain dalam satuan yang ditentukan.

Available Functions
double timer(
  timeUnits units );

Parameters

Parameter

Jenis

Keterangan

units

timeUnits

Satuan waktu kembali:

  • seconds detik sec
  • mdetikmsec milidetik

Return Values

Mengembalikan nilai double yang mewakili waktu yang telah berlalu sejak program dimulai, dalam satuan yang ditentukan.

Examples
  • Penghitung waktu akan mulai berjalan secara otomatis saat proyek dimulai.

  • Timer dapat direset dengan menggunakan resetTimer .

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

Brain.programStop();

Atur ulang pengatur waktu#

Mengatur ulang penghitung waktu internal otak ke nol. Setelah itu, penghitung waktu segera mulai menghitung lagi dari nol.

Available Functions
void resetTimer();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Penghitung waktu akan mulai menghitung lagi segera setelah diatur ulang.

  • Memanggil resetTimer mempengaruhi nilai yang dikembalikan oleh panggilan berikutnya ke 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");

aturTimer#

Mengatur pengatur waktu internal Brain ke nilai dan satuan waktu yang ditentukan.

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

Parameters

Parameter

Jenis

Keterangan

value

double

Waktu untuk mengatur timer, berdasarkan timeUnits yang diberikan dalam parameter units.

units

timeUnits

Satuan yang digunakan untuk menginterpretasikan nilai value :

  • seconds / sec - detik
  • msec - milidetik

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Pengatur waktu terus menghitung maju setelah diatur.

  • Memanggil setTimer segera mengubah nilai yang dikembalikan oleh 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");