Não#

Giới thiệu#

Trong VEX EXP C++, bộ não được biểu diễn bởi lớp brain Bạn tạo (hoặc sử dụng đối tượng Brain mặc định do dự án cung cấp) và sau đó truy cập các tính năng của Brain thông qua các đối tượng thành viên của nó.

Lớp dẫn xuất#

Lớp brain đóng vai trò là lớp cơ sở cho các lớp dẫn xuất sau:

  • Screen - Lớp này cung cấp quyền truy cập vào màn hình cảm ứng màu tích hợp của Brain, cho phép các chương trình hiển thị văn bản, đồ họa và nhận đầu vào cảm ứng.

  • Timer - Lớp này cung cấp các tiện ích định thời có độ phân giải cao để đo thời gian đã trôi qua và kiểm soát hành vi dựa trên thời gian trong các chương trình.

  • Battery - Lớp này cho phép các chương trình theo dõi trạng thái pin của Brain, bao gồm điện áp, dòng điện, dung lượng và nhiệt độ.

  • Button - Lớp này cho phép các chương trình tương tác với các nút của Brain.

  • ThreeWirePort (triport / Cổng 3 dây) - Lớp này cung cấp quyền truy cập vào các cổng 3 dây của Brain để kết nối và điều khiển các cảm biến và thiết bị cũ như công tắc giới hạn, chiết áp và đèn LED.

  • SDcard - Lớp này cho phép đọc và ghi vào thẻ SD của Brain để lưu trữ tệp, ghi nhật ký dữ liệu và tải tài nguyên bên ngoài.

Hàm tạo lớp#

brain();

Thông số#

Hàm khởi tạo brain không sử dụng tham số nào.

Ghi chú#

  • Chỉ nên tạo một đối tượng brain duy nhất trong một dự án.

Ví dụ#

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

Chức năng thành viên#

Lớp brain bao gồm các hàm thành viên sau:

  • playSound - Phát một trong những hiệu ứng âm thanh tích hợp sẵn của Brain.

  • playNote - Phát một nốt nhạc trong một khoảng thời gian cụ thể.

  • programStop - Dừng dự án hiện đang chạy trên EXP Brain.

  • timer - Trả về giá trị hiện tại của bộ đếm thời gian bên trong của Brain theo đơn vị được chỉ định.

  • resetTimer - Đặt lại bộ đếm thời gian bên trong của Brain về 0 và khởi động lại thời gian.

  • setTimer - Đặt bộ hẹn giờ bên trong của Brain thành một giá trị và đơn vị thời gian được chỉ định.

Trước khi gọi bất kỳ hàm thành viên nào brain , cần phải tạo một thể hiện brain , như được hiển thị bên dưới:

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

phát âm thanh#

Phát một trong những âm thanh tích hợp sẵn của bộ não.

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

Parameters

Thông số

Kiểu

Sự miêu tả

sound

soundtype

Âm thanh được chỉ định để phát ra từ bộ não.

volume

uint32_t

Tùy chọn. Âm lượng phát ra được thể hiện dưới dạng số nguyên từ 0% đến 100%. Mặc định là 50%.

Tên âm thanh

Phát âm thanh

alarm

alarm2

doorClose

fillup

headlightsOff

headlightsOn

powerDown

ratchet

ratchet2

siren

siren2

tada

tollBooth

wrench

wrongWay

wrongWaySlow

Return Values

Hàm này không trả về giá trị nào.

playNote#

Phát ra một nốt nhạc từ não bộ.

Available Functions

1 - Chơi một nốt nhạc.

void playNote(
    int32_t octave,
    int32_t note );

2 - Phát một nốt nhạc trong khoảng thời gian và âm lượng đã xác định.

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

Parameters

Thông số

Kiểu

Sự miêu tả

octave

int32_t

Số nguyên biểu thị quãng tám của nốt nhạc:

  • 1 đến 3 - quãng tám thấp
  • 4 đến 7 - quãng tám cao

note

int32_t

Các nốt cần chơi:

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

duration

int32_t

Tùy chọn. Thời lượng phát nốt nhạc (tính bằng mili giây), tối đa là 500 mili giây. Nếu không cung cấp thời lượng, thời lượng mặc định là 500 mili giây.

volume

int32_t

Tùy chọn. Âm lượng phát ra được thể hiện dưới dạng số nguyên từ 0% đến 100%. Mặc định là 50%.

Return Values

Hàm này không trả về giá trị nào.

chương trìnhDừng#

Dừng dự án đang chạy trên EXP Brain.

Available Functions
void programStop();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Hàm này không trả về giá trị nào.

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

hẹn giờ#

Trả về giá trị hiện tại của bộ đếm thời gian nội bộ của Brain theo đơn vị được chỉ định.

Available Functions
double timer(
  timeUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

timeUnits

The unit of time to return:

  • seconds / sec - seconds
  • msec - milliseconds

Return Values

Hàm trả về một giá trị kiểu double biểu thị thời gian đã trôi qua kể từ khi chương trình bắt đầu, tính bằng đơn vị được chỉ định.

Examples
  • Bộ đếm thời gian sẽ tự động khởi động khi dự án bắt đầu.

  • Bộ hẹn giờ có thể được đặt lại bằng cách sử dụng resetTimer .

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

Brain.programStop();

đặt lại bộ hẹn giờ#

Thao tác này đặt lại bộ đếm thời gian bên trong của não về 0. Sau đó, bộ đếm thời gian sẽ ngay lập tức bắt đầu đếm ngược lại từ 0.

Available Functions
void resetTimer();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Bộ đếm thời gian sẽ bắt đầu đếm lại ngay sau khi được đặt lại.

  • Việc gọi resetTimer ảnh hưởng đến giá trị được trả về bởi các lần gọi tiếp theo tới 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");

đặt bộ hẹn giờ#

Thiết lập bộ đếm thời gian bên trong của não bộ thành một giá trị và đơn vị thời gian cụ thể.

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

Parameters

Tham số

Kiểu

Sự miêu tả

value

double

Thời gian cần đặt cho bộ hẹn giờ, dựa trên timeUnits được cung cấp trong tham số units.

units

timeUnits

Đơn vị dùng để diễn giải giá trị value :

  • seconds / sec - giây
  • msec - mili giây

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Bộ đếm thời gian sẽ tiếp tục đếm ngược sau khi được thiết lập.

  • Gọi setTimer ngay lập tức thay đổi giá trị được trả về bởi 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");