สมอง#
การแนะนำ#
ใน VEX V5 C++ นั้น สมองจะถูกแทนด้วยคลาส brain คุณสร้างอ็อบเจ็กต์ Brain (หรือใช้ค่าเริ่มต้นที่โปรเจ็กต์จัดเตรียมไว้ให้) จากนั้นเข้าถึงคุณสมบัติของ Brain ผ่านอ็อบเจ็กต์สมาชิกภายในนั้น
คลาสที่สืบทอดมา#
คลาส brain ทำหน้าที่เป็นคลาสพื้นฐานสำหรับคลาสที่สืบทอดต่อไปนี้:
Screen- คลาสนี้ให้การเข้าถึงหน้าจอสัมผัสสีในตัวของ Brain ซึ่งช่วยให้โปรแกรมสามารถแสดงข้อความ กราฟิก และรับอินพุตแบบสัมผัสได้Timer- คลาสนี้มีเครื่องมือจับเวลาความละเอียดสูงสำหรับวัดเวลาที่ผ่านไปและควบคุมพฤติกรรมตามเวลาในโปรแกรมBattery- คลาสนี้อนุญาตให้โปรแกรมตรวจสอบสถานะแบตเตอรี่ของสมอง รวมถึงแรงดันไฟฟ้า กระแสไฟฟ้า ความจุ และอุณหภูมิThreeWirePort(triport/ พอร์ตสามสาย) - คลาสนี้ให้สิทธิ์เข้าถึงพอร์ตสามสายของ Brain สำหรับเชื่อมต่อและควบคุมเซ็นเซอร์และอุปกรณ์รุ่นเก่า เช่น สวิตช์จำกัด โพเทนชิโอมิเตอร์ และ LEDSDcard- คลาสนี้ช่วยให้สามารถอ่านและเขียนข้อมูลลงในการ์ด SD ของ Brain เพื่อจัดเก็บไฟล์ บันทึกข้อมูล และโหลดทรัพยากรภายนอกได้
ตัวสร้างคลาส#
brain();
พารามิเตอร์#
คอนสตรัคเตอร์ brain ไม่ใช้พารามิเตอร์ใดๆ
หมายเหตุ#
ควรสร้างอ็อบเจ็กต์
brainเพียงหนึ่งเดียวในโปรเจ็กต์เท่านั้น
ตัวอย่าง#
// Create the V5 Brain
brain Brain = brain();
ฟังก์ชันสมาชิก#
คลาส brain ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
programStop- หยุดโปรเจกต์ที่กำลังทำงานอยู่บน V5 Braintimer- ส่งคืนค่าปัจจุบันของตัวจับเวลาภายในของ Brain ในหน่วยที่ระบุresetTimer- รีเซ็ตตัวจับเวลาภายในของสมองเป็นศูนย์และเริ่มการจับเวลาใหม่setTimer- ตั้งค่าตัวจับเวลาภายในของสมองเป็นค่าและหน่วยเวลาที่ระบุ
ก่อนเรียกใช้ฟังก์ชันสมาชิก brain ใดๆ จะต้องสร้างอินสแตนซ์ brain ก่อน ดังแสดงด้านล่าง:
// Create the V5 Brain
brain Brain = brain();
โปรแกรมหยุด#
หยุดโปรเจ็กต์ที่กำลังทำงานอยู่บน V5 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 );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หน่วยเวลาในการกลับมา:
|
ส่งคืนค่า 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");
ตั้งเวลา#
ตั้งค่าตัวจับเวลาภายในของสมองให้เป็นค่าและหน่วยเวลาที่กำหนดไว้
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");