สมอง#

การแนะนำ#

ใน VEX V5 C++ นั้น สมองจะถูกแทนด้วยคลาส brain คุณสร้างอ็อบเจ็กต์ Brain (หรือใช้ค่าเริ่มต้นที่โปรเจ็กต์จัดเตรียมไว้ให้) จากนั้นเข้าถึงคุณสมบัติของ Brain ผ่านอ็อบเจ็กต์สมาชิกภายในนั้น

คลาสที่สืบทอดมา#

คลาส brain ทำหน้าที่เป็นคลาสพื้นฐานสำหรับคลาสที่สืบทอดต่อไปนี้:

  • Screen - คลาสนี้ให้การเข้าถึงหน้าจอสัมผัสสีในตัวของ Brain ซึ่งช่วยให้โปรแกรมสามารถแสดงข้อความ กราฟิก และรับอินพุตแบบสัมผัสได้

  • Timer - คลาสนี้มีเครื่องมือจับเวลาความละเอียดสูงสำหรับวัดเวลาที่ผ่านไปและควบคุมพฤติกรรมตามเวลาในโปรแกรม

  • Battery - คลาสนี้อนุญาตให้โปรแกรมตรวจสอบสถานะแบตเตอรี่ของสมอง รวมถึงแรงดันไฟฟ้า กระแสไฟฟ้า ความจุ และอุณหภูมิ

  • ThreeWirePort (triport / พอร์ตสามสาย) - คลาสนี้ให้สิทธิ์เข้าถึงพอร์ตสามสายของ Brain สำหรับเชื่อมต่อและควบคุมเซ็นเซอร์และอุปกรณ์รุ่นเก่า เช่น สวิตช์จำกัด โพเทนชิโอมิเตอร์ และ LED

  • SDcard - คลาสนี้ช่วยให้สามารถอ่านและเขียนข้อมูลลงในการ์ด SD ของ Brain เพื่อจัดเก็บไฟล์ บันทึกข้อมูล และโหลดทรัพยากรภายนอกได้

ตัวสร้างคลาส#

brain();

พารามิเตอร์#

คอนสตรัคเตอร์ brain ไม่ใช้พารามิเตอร์ใดๆ

หมายเหตุ#

  • ควรสร้างอ็อบเจ็กต์ brain เพียงหนึ่งเดียวในโปรเจ็กต์เท่านั้น

ตัวอย่าง#

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

ฟังก์ชันสมาชิก#

คลาส brain ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:

  • programStop - หยุดโปรเจกต์ที่กำลังทำงานอยู่บน V5 Brain

  • timer - ส่งคืนค่าปัจจุบันของตัวจับเวลาภายในของ Brain ในหน่วยที่ระบุ

  • resetTimer - รีเซ็ตตัวจับเวลาภายในของสมองเป็นศูนย์และเริ่มการจับเวลาใหม่

  • setTimer - ตั้งค่าตัวจับเวลาภายในของสมองเป็นค่าและหน่วยเวลาที่ระบุ

ก่อนเรียกใช้ฟังก์ชันสมาชิก brain ใดๆ จะต้องสร้างอินสแตนซ์ brain ก่อน ดังแสดงด้านล่าง:

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

โปรแกรมหยุด#

หยุดโปรเจ็กต์ที่กำลังทำงานอยู่บน V5 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);
}

ตัวจับเวลา#

ส่งคืนค่าปัจจุบันของตัวจับเวลาภายในของ Brain ในหน่วยที่ระบุ

Available Functions
double timer(
  timeUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

timeUnits

หน่วยเวลาในการกลับมา:

  • seconds / sec - วินาที
  • msec - มิลลิวินาที

Return Values

ส่งคืนค่า double ซึ่งแสดงถึงเวลาที่ผ่านไปนับตั้งแต่โปรแกรมเริ่มต้น ในหน่วยที่ระบุ

Examples
  • ตัวจับเวลาจะเริ่มทำงานโดยอัตโนมัติเมื่อโครงการเริ่มต้นขึ้น

  • สามารถรีเซ็ตตัวจับเวลาได้โดยใช้ resetTimer

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

Brain.programStop();

รีเซ็ตตัวจับเวลา#

รีเซ็ตตัวจับเวลาภายในของสมองให้เป็นศูนย์ จากนั้นตัวจับเวลาจะเริ่มนับขึ้นใหม่จากศูนย์ทันที

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

เวลาที่จะตั้งค่าตัวจับเวลา โดยอิงจากค่า timeUnits ที่ระบุในพารามิเตอร์ units

units

timeUnits

หน่วยที่ใช้ในการตีความค่า value :

  • seconds / sec - วินาที
  • msec - มิลลิวินาที

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");