ตัวควบคุม#
การแนะนำ#
ตัวควบคุม V5 ประกอบด้วยปุ่มกด จอยสติ๊กสองอัน มอเตอร์สั่น และหน้าจอ บล็อกของตัวควบคุมสามารถใช้ตรวจสอบการกดปุ่ม อ่านการเคลื่อนไหวของจอยสติ๊ก สั่นตัวควบคุม เปิดหรือปิดการใช้งานการทำงานที่กำหนดค่าไว้ของตัวควบคุม เรียกใช้บล็อกเมื่อเกิดเหตุการณ์ของตัวควบคุม หรือแสดงข้อความบนหน้าจอของตัวควบคุม
การทำงานของคอนโทรลเลอร์ที่กำหนดค่าไว้ คือพฤติกรรมของคอนโทรลเลอร์ที่ตั้งไว้ในเมนูอุปกรณ์ ใช้บล็อก เปิด/ปิดใช้งานคอนโทรลเลอร์ เพื่อเปิดหรือปิดใช้งานการทำงานที่กำหนดค่าไว้เหล่านั้นชั่วคราวในระหว่างโครงการ
ด้านล่างนี้คือรายการบล็อกที่มีให้เลือก:
ค่าต่างๆ — ตรวจสอบสถานะปุ่มควบคุมหรืออ่านตำแหน่งจอยสติ๊ก
มีการกดปุ่มควบคุมหรือไม่? — ตรวจสอบว่าปุ่มควบคุมที่เลือกไว้ถูกกดอยู่หรือไม่
ตำแหน่งตัวควบคุม — ส่งคืนตำแหน่งจอยสติ๊กตามแกนที่เลือก
การกระทำ — สั่นตัวควบคุม เปิด/ปิดการทำงานของตัวควบคุมที่ตั้งค่าไว้ หรือเรียกใช้บล็อกเมื่อมีการเปลี่ยนแปลงอินพุตของตัวควบคุม
เล่นการสั่นบนคอนโทรลเลอร์ — เล่นรูปแบบการสั่นบนคอนโทรลเลอร์
เปิด/ปิดใช้งานตัวควบคุม — เปิดใช้งานหรือปิดใช้งานการทำงานของตัวควบคุมที่กำหนดค่าไว้ในเมนูอุปกรณ์สำหรับตัวควบคุมที่เชื่อมต่อทั้งหมด
เมื่อกดปุ่มควบคุม — เรียกใช้สแต็กที่แนบมาเมื่อกดหรือปล่อยปุ่มที่เลือก
เมื่อแกนควบคุมเปลี่ยน — เรียกใช้สแต็กที่แนบมาเมื่อตำแหน่งของจอยสติ๊กเปลี่ยนไปตามแกนที่เลือก
หน้าจอ — แสดงข้อความและตัวเลขบนหน้าจอควบคุม
พิมพ์บนตัวควบคุม — แสดงข้อความ ตัวเลข หรือค่าตัวแปรบนหน้าจอตัวควบคุม
ตั้งเคอร์เซอร์ไปที่แถวและคอลัมน์บนคอนโทรลเลอร์ — ย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอคอนโทรลเลอร์
ตั้งเคอร์เซอร์ไปที่แถวถัดไปบนหน้าจอควบคุม — ย้ายเคอร์เซอร์ไปที่แถวถัดไปบนหน้าจอควบคุม
ตั้งค่าความแม่นยำในการพิมพ์บนตัวควบคุม — ตั้งค่าจำนวนตำแหน่งทศนิยมที่จะแสดงเมื่อพิมพ์ตัวเลขบนหน้าจอตัวควบคุม
clear controller — ล้างทุกแถวบนหน้าจอ Controller
ล้างแถวบนตัวควบคุม — ล้างหนึ่งแถวบนหน้าจอตัวควบคุม
ค่านิยม#
กดปุ่มควบคุมใช่ไหม?#
บล็อก Boolean Controller pressed? จะส่งคืนค่าว่าปุ่ม Controller ที่เลือกไว้นั้นถูกกดอยู่หรือไม่

<[Controller1 v] [▲ v] ถูกกด?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ปุ่ม |
ปุ่มสำหรับตรวจสอบ:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward while X is pressed.]
ทำตลอดไป
ถ้า <[Controller1 v] [X v] ถูกกด?> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
fine
ตำแหน่งตัวควบคุม#
บล็อกรายงานตำแหน่ง Controller position จะส่งคืนค่าตำแหน่งของจอยสติ๊กตามแกนที่เลือกเป็นตัวเลขตั้งแต่ -100 ถึง 100

([Controller1 v] [1 v] position :: sensing)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
แกน |
แกนจอยสติ๊กที่จะรายงาน:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward while the left joystick is pushed up.]
ทำตลอดไป
ถ้า <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
fine
การกระทำ#
เล่นโหมดสั่นบนคอนโทรลเลอร์#
บล็อก เล่นการสั่นบนคอนโทรลเลอร์ จะเล่นรูปแบบการสั่นบนคอนโทรลเลอร์
เล่นการสั่น [ยาว v] บน [Controller1 v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ลวดลาย |
รูปแบบการสั่นที่จะเล่นบนคอนโทรลเลอร์:
|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ตัวอย่าง
เมื่อ[Controller1 v] ปุ่ม [R1 v] [กด v] :: hat events
เล่นการสั่น [สั้น v] บน [Controller1 v]
การเปิด/ปิดใช้งานตัวควบคุม#
บล็อกสแต็ก เปิด/ปิดใช้งานคอนโทรลเลอร์ จะเปิดหรือปิดใช้งานการทำงานที่กำหนดค่าไว้ของคอนโทรลเลอร์จากเมนูอุปกรณ์สำหรับคอนโทรลเลอร์ที่เชื่อมต่อทั้งหมด
คอนโทรลเลอร์ [ปิดใช้งาน v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สถานะ |
สถานะการทำงานที่กำหนดค่าไว้ในคอนโทรลเลอร์: ปิดใช้งาน หรือ เปิดใช้งาน |
ตัวอย่าง
เมื่อเริ่มต้น
[Disable Controller configured actions until the drive movement is done.]
คอนโทรลเลอร์ [ปิดใช้งาน v]
ขับ [ไปข้างหน้า v] เป็น (6) [นิ้ว v] ▶
คอนโทรลเลอร์ [เปิดใช้งาน v]
เมื่อแกนควบคุมมีการเปลี่ยนแปลง#
บล็อก Hat เมื่อแกนควบคุมมีการเปลี่ยนแปลง จะเรียกใช้สแต็กที่แนบมาเมื่อตำแหน่งของจอยสติ๊กเปลี่ยนแปลงไปตามแกนที่เลือก

when [Controller1 v] axis [1 v] is changed :: hat events
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
แกน |
แกนจอยสติ๊กที่ต้องตรวจสอบ:
|
ตัวอย่าง
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ▶
หน้าจอ#
พิมพ์บนตัวควบคุม#
บล็อกคำสั่ง print on controller จะแสดงข้อความ ตัวเลข หรือค่าตัวแปรบนหน้าจอ Controller ณ ตำแหน่งเคอร์เซอร์ปัจจุบัน
พิมพ์ [VEXcode] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ค่า |
ข้อความ ตัวเลข หรือค่าตัวแปรที่จะแสดงบนหน้าจอ Controller |
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ลูกศรขยาย |
ขยายบล็อกให้รวม และตั้งเคอร์เซอร์ไปที่แถวถัดไป ซึ่งจะย้ายเคอร์เซอร์ไปยังแถวถัดไปหลังจากพิมพ์ค่าแล้ว หากไม่ได้ใช้ตัวเลือกนี้ ค่าที่พิมพ์ถัดไปจะปรากฏต่อจากค่าก่อนหน้าในแถวเดียวกันทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Display a message on the Controller screen.]
พิมพ์ [Hello, robot!] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งเคอร์เซอร์ไปที่แถวหรือคอลัมน์บนตัวควบคุม#
บล็อกสแต็ก set cursor to row column on controller จะย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอ Controller ค่าที่พิมพ์ถัดไปจะปรากฏที่ตำแหน่งนั้น
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บน [Controller1 v] :: custom-controller-inertial-timer
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แถว |
แถวที่จะย้ายเคอร์เซอร์ไปบนหน้าจอควบคุม |
คอลัมน์ |
คอลัมน์ที่จะย้ายเคอร์เซอร์ไปบนหน้าจอควบคุม |
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display a message on row 2.]
ตั้งเคอร์เซอร์ไปแถว [2] คอลัมน์ [1] บน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ [Ready] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งเคอร์เซอร์ไปที่แถวถัดไปบนตัวควบคุม#
บล็อกสแต็ก set cursor to next row on controller จะย้ายเคอร์เซอร์ไปยังคอลัมน์ที่ 1 ในแถวถัดไปของหน้าจอ Controller ค่าที่พิมพ์ถัดไปจะปรากฏในแถวนั้น
ตั้งเคอร์เซอร์ไปแถวถัดไปบน [Controller1 v] :: custom-controller-inertial-timer
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display two rows of text.]
พิมพ์ [Row 1] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งเคอร์เซอร์ไปแถวถัดไปบน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ [Row 2] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งค่าความแม่นยำในการพิมพ์บนตัวควบคุม#
บล็อก set print precision on controller จะตั้งค่าจำนวนทศนิยมที่จะแสดงเมื่อพิมพ์ตัวเลขบนหน้าจอ Controller การตั้งค่านี้จะมีผลกับตัวเลขที่พิมพ์หลังจากใช้บล็อกนี้แล้ว
ตั้งความละเอียดการพิมพ์เป็น [0.1 v] บน [Controller1 v] :: custom-controller-inertial-timer
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ความแม่นยำ |
ระดับความแม่นยำในการพิมพ์ที่ใช้:
|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display 1/3 with two decimals.]
ตั้งความละเอียดการพิมพ์เป็น [0.01 v] บน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ ([1] [math_division v] [3]) บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตัวควบคุมที่ชัดเจน#
บล็อกคำสั่ง clear controller จะล้างแถวทั้งหมดบนหน้าจอ Controller และย้ายเคอร์เซอร์กลับไปยังแถวแรก
ล้าง [Controller1 v] :: custom-controller-inertial-timer
พารามิเตอร์ |
คำอธิบาย |
|---|---|
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Clear the Controller screen after printing.]
พิมพ์ [This will disappear...] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
รอ [2] วินาที
ล้าง [Controller1 v] :: custom-controller-inertial-timer
ล้างแถวบนคอนโทรลเลอร์#
บล็อกสแต็ก clear row on controller จะล้างแถวเดียวบนหน้าจอ Controller
ล้างแถว [1] บน [Controller1 v] :: custom-controller-inertial-timer
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แถว |
แถวที่จะล้างบนหน้าจอ Controller |
อุปกรณ์ |
ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Clear one row on the Controller screen.]
พิมพ์ [Row 1] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งเคอร์เซอร์ไปแถวถัดไปบน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ [Row 2] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
รอ [2] วินาที
ล้างแถว [1] บน [Controller1 v] :: custom-controller-inertial-timer