มอเตอร์และกลุ่มมอเตอร์#

การแนะนำ#

มอเตอร์และกลุ่มมอเตอร์ควบคุมการเคลื่อนที่ของชิ้นส่วนต่างๆ ของหุ่นยนต์ วัตถุ motor ควบคุมมอเตอร์ IQ Smart Motor ที่กำหนดค่าไว้หนึ่งตัว ในขณะที่วัตถุ motor_group ควบคุมมอเตอร์ IQ Smart Motor ที่กำหนดค่าไว้หลายตัวพร้อมกันเพื่อให้เคลื่อนที่ไปพร้อมกัน มอเตอร์และกลุ่มมอเตอร์สามารถใช้เพื่อยกแขน หมุนกรงเล็บ หมุนล้อ หรือเคลื่อนย้ายส่วนอื่นๆ ของโครงสร้าง มอเตอร์สองตัวสามารถทำงานร่วมกันเป็น ระบบขับเคลื่อน เพื่อเคลื่อนย้ายและหมุนหุ่นยนต์ทั้งตัว

แต่ละมอเตอร์หรือกลุ่มมอเตอร์จะได้รับการกำหนดค่าในหน้าต่างอุปกรณ์ ชื่อมอเตอร์และกลุ่มมอเตอร์อาจเปลี่ยนแปลงได้ขึ้นอยู่กับการประกอบ หน้านี้ใช้ชื่อ Motor1 และ MotorGroup1 เป็นตัวอย่าง โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ

ภาพแสดงมอเตอร์ VEX IQ โดยทิศทางการหมุนไปข้างหน้าแสดงด้วยเครื่องหมายบวก และลูกศรแสดงว่ากำลังหมุนไปทางซ้าย หรือทวนเข็มนาฬิกา ภาพแสดงมอเตอร์ VEX IQ ในทิศทางการหมุนย้อนกลับ โดยมีเครื่องหมายลบและลูกศรชี้ทิศทางการหมุนไปทางขวา หรือตามเข็มนาฬิกา

โดยค่าเริ่มต้น forward จะหมุนมอเตอร์ทวนเข็มนาฬิกา และ reverse จะหมุนมอเตอร์ตามเข็มนาฬิกา หากตั้งค่ามอเตอร์ให้หมุนย้อนกลับ ทิศทางการหมุนจะสลับกัน

มอเตอร์#

Class Constructors#

1 — สร้างวัตถุมอเตอร์ motor สำหรับมอเตอร์อัจฉริยะ IQ ที่เชื่อมต่อกับพอร์ตอัจฉริยะที่ระบุ มอเตอร์จะใช้การตั้งค่าเกียร์ภายใน gearSetting ที่ตรวจพบโดยอัตโนมัติ

motor(
  int32_t index );

2 — สร้างวัตถุมอเตอร์ motor บน Smart Port ที่ระบุ และสามารถกลับทิศทางการหมุนได้ มอเตอร์จะใช้การตั้งค่าเกียร์ภายใน gearSetting

motor(
 int32_t index,
 bool    reverse );

3 — สร้างวัตถุมอเตอร์ motor บน Smart Port ที่ระบุด้วยการตั้งค่าเกียร์ gearSetting ที่ระบุ

motor(
 int32_t     index,
 gearSetting gears );

4 — Creates a motor object on the specified Smart Port with the specified gearSetting and optional reversed direction.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

ทำลายวัตถุ motor และปล่อยทรัพยากรที่เกี่ยวข้อง

~motor();

Parameters#

พารามิเตอร์

พิมพ์

คำอธิบาย

index

int32_t

พอร์ตอัจฉริยะที่มอเตอร์เชื่อมต่ออยู่ จะเขียนในรูปแบบ PORTxโดยที่ x คือหมายเลขพอร์ต (ตัวอย่างเช่น PORT1)

reverse

bool

ตั้งค่าว่าจะกลับทิศทางการหมุนของมอเตอร์หรือไม่:

  • false (ค่าเริ่มต้น) — ไม่กลับทิศทางการหมุนของมอเตอร์
  • true — กลับทิศทางการหมุนของมอเตอร์

gears

gearSetting

ระบุอัตราส่วนของตลับเกียร์ภายใน

  • ratio1_1 — อัตราส่วนเกียร์ 1:
  • ratio2_1 — อัตราส่วนเกียร์ 2:
  • ratio3_1 — อัตราส่วนเกียร์ 3:1

Notes#

  • การตั้งค่าเกียร์ควรตรงกับตลับเกียร์ที่ติดตั้งอยู่ในมอเตอร์

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

กลุ่มมอเตอร์#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

ทำลายอ็อบเจ็กต์ motor_group และปล่อยทรัพยากรที่เกี่ยวข้อง

~motor_group();

Parameters#

พารามิเตอร์

พิมพ์

คำอธิบาย

m1

motor &

มอเตอร์ตัวแรกที่ถูกเพิ่มเข้ามาในกลุ่ม

m2

motor &

มีการเพิ่มมอเตอร์เพิ่มเติมเข้าไปในกลุ่ม โดยกลุ่มมอเตอร์หนึ่งกลุ่มจะมีมอเตอร์ได้สูงสุดสี่ตัว

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

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

มีหลายวิธีในการเขียนโค้ดสำหรับมอเตอร์และกลุ่มมอเตอร์ ด้านล่างนี้คือรายการฟังก์ชันสมาชิกทั้งหมดของมอเตอร์ motor และมอเตอร์ motor_group:

การดำเนินการ — หยุดและหมุนมอเตอร์และกลุ่มมอเตอร์

  • spin — หมุนมอเตอร์หรือกลุ่มมอเตอร์ไปข้างหน้าหรือถอยหลังตลอดไป

  • spinFor — หมุนมอเตอร์หรือกลุ่มมอเตอร์เป็นระยะทางหรือระยะเวลาที่กำหนด

  • spinToPosition — หมุนมอเตอร์หรือกลุ่มมอเตอร์ไปยังตำแหน่งที่กำหนด

  • stop — หยุดมอเตอร์หรือกลุ่มมอเตอร์ไม่ให้หมุน

ตัวปรับแต่ง — ปรับการตั้งค่ามอเตอร์และกลุ่มมอเตอร์

  • setVelocity — บอกมอเตอร์หรือกลุ่มมอเตอร์ว่าจะหมุนเร็วแค่ไหน

  • setMaxTorque — กำหนดว่ามอเตอร์หรือกลุ่มมอเตอร์สามารถผลักได้แรงแค่ไหนในขณะที่หมุน

  • setPosition — เปลี่ยนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์เป็นค่าใหม่

  • setStopping — กำหนดวิธีการหยุดการเคลื่อนที่ของมอเตอร์หรือกลุ่มมอเตอร์: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง

  • setTimeout — ตั้งค่าระยะเวลาที่มอเตอร์หรือกลุ่มมอเตอร์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น

ตัวตรวจสอบสถานะมอเตอร์ — ตรวจสอบสถานะของมอเตอร์และกลุ่มมอเตอร์

  • isDone — ส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์เคลื่อนที่เสร็จแล้วหรือไม่

  • isSpinning — ส่งคืนว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนอยู่หรือไม่ ในรูปแบบค่าบูลีน

  • position — ส่งคืนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

  • velocity — ส่งคืนความเร็วในการหมุนของมอเตอร์หรือกลุ่มมอเตอร์

  • current — ส่งคืนกระแสไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้

  • power — ส่งคืนกำลังไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้

  • torque — ส่งคืนค่าแรงบิดที่มอเตอร์หรือกลุ่มมอเตอร์ใช้

  • efficiency — ส่งคืนประสิทธิภาพการใช้พลังงานของมอเตอร์หรือกลุ่มมอเตอร์

  • temperature — ส่งคืนอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์

  • voltage — ส่งคืนแรงดันไฟฟ้าที่จ่ายให้กับมอเตอร์หรือกลุ่มมอเตอร์

  • direction — ส่งคืนทิศทางที่มอเตอร์หรือกลุ่มมอเตอร์กำลังหมุน

  • installed — ส่งคืนว่ามอเตอร์หรือกลุ่มมอเตอร์เชื่อมต่อกับสมองหรือไม่

  • count — ส่งคืนจำนวนมอเตอร์ในกลุ่มมอเตอร์

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

/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

การกระทำ#

spin#

คำสั่ง spin จะหมุนมอเตอร์หรือกลุ่มมอเตอร์ไปข้างหน้าหรือถอยหลังอย่างไม่มีที่สิ้นสุด มอเตอร์หรือกลุ่มมอเตอร์จะหมุนต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น หมุนไปในทิศทางอื่นหรือหยุด

Available Functions

1 — หมุนมอเตอร์หรือกลุ่มมอเตอร์โดยใช้ความเร็วของมอเตอร์ที่ตั้งค่าไว้ในปัจจุบัน

void spin(
 directionType dir );

2 — หมุนมอเตอร์หรือกลุ่มมอเตอร์ด้วยความเร็วที่กำหนด

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3__ — หมุนมอเตอร์หรือกลุ่มมอเตอร์โดยใช้แรงดันไฟฟ้าที่กำหนด

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

dir

directionType

ทิศทางการหมุนของมอเตอร์หรือกลุ่มมอเตอร์: forward หรือ reverse

velocity

double

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ percent

units

velocityUnits

หน่วยที่ใช้แสดงความเร็ว:

  • percent pct เปอร์เซ็นต์
  • rpm รอบต่อนาที
  • dps องศาต่อวินาที

voltage

double

แรงดันไฟฟ้าที่ใช้ในการหมุน ค่าลบจะหมุนไปในทิศทางตรงกันข้ามกับค่าที่กำหนด dir

units

voltageUnits

หน่วยที่ใช้แทนแรงดันไฟฟ้า:

  • volt — โวลต์
  • voltageUnits::mV — มิลลิโวลต์

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • ฟังก์ชันนี้ไม่ต้องรอ และโปรเจ็กต์จะดำเนินการต่อทันทีหลังจากเรียกใช้ฟังก์ชันเสร็จสิ้น

  • มอเตอร์หรือกลุ่มมอเตอร์จะหมุนต่อไปจนกว่าจะมีการเรียก stop หรือมีการเรียกใช้ฟังก์ชันการเคลื่อนไหวอื่น

  • ฟังก์ชันต่างๆ เช่น isDone และ isSpinning ไม่สามารถนำไปใช้กับการหมุน spinได้ เนื่องจากไม่ได้ใช้การเคลื่อนที่ตามเป้าหมาย (ไม่มีพารามิเตอร์การหมุน rotation หรือเวลา time)

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

คำสั่ง spinFor จะหมุนมอเตอร์หรือกลุ่มมอเตอร์เป็นระยะทางหรือระยะเวลาที่กำหนด การหมุนจะสัมพันธ์กับตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์ โดยค่าเริ่มต้น โปรเจ็กต์จะรอจนกว่ามอเตอร์หรือกลุ่มมอเตอร์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน

Available Functions

1 — หมุนเป็นระยะทางที่กำหนดด้วยความเร็วที่ระบุไว้ในการเรียกใช้ฟังก์ชัน

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — รับพารามิเตอร์ทิศทางและหมุนเป็นระยะทางที่กำหนดด้วยความเร็วที่ระบุในการเรียกใช้ฟังก์ชัน

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — หมุนเป็นระยะทางที่กำหนดโดยใช้ ความเร็วของมอเตอร์ที่กำหนดค่าไว้ในปัจจุบัน

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — รับพารามิเตอร์ทิศทางและหมุนเป็นระยะทางที่กำหนดโดยใช้ ความเร็วของมอเตอร์ที่กำหนดค่าไว้ในปัจจุบัน

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — หมุนเป็นระยะเวลาที่กำหนดด้วยความเร็วที่ระบุไว้ในการเรียกใช้ฟังก์ชัน

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — รับพารามิเตอร์ทิศทางและหมุนเป็นระยะเวลาที่กำหนดด้วยความเร็วที่ระบุในการเรียกใช้ฟังก์ชัน

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — หมุนเป็นระยะเวลาที่กำหนดโดยใช้ ความเร็วของมอเตอร์ที่กำหนดค่าไว้ในปัจจุบัน

bool spinFor(
 double    time,
 timeUnits units );

8 — รับพารามิเตอร์ทิศทางและหมุนเป็นระยะเวลาที่กำหนดโดยใช้ ความเร็วของมอเตอร์ที่กำหนดค่าไว้ในปัจจุบัน

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

dir

directionType

ทิศทางการหมุนของมอเตอร์หรือกลุ่มมอเตอร์: forward หรือ reverse

rotation

double

ระยะทางที่มอเตอร์หรือกลุ่มมอเตอร์หมุน

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

time

double

ระยะเวลาที่มอเตอร์หรือกลุ่มมอเตอร์หมุน

units

timeUnits

หน่วยของเวลา:

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

velocity

double

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ percent

units_v

velocityUnits

หน่วยที่ใช้แทนความเร็ว velocity:

  • percent / pct — เปอร์เซ็นต์
  • rpm — รอบต่อนาที
  • dps — องศาต่อวินาที

waitForCompletion

bool

​

  • true (ค่าเริ่มต้น) — ทำให้โปรเจ็กต์รอจนกว่ามอเตอร์หรือกลุ่มมอเตอร์จะหยุดหมุนก่อนที่โค้ดบรรทัดถัดไปจะทำงาน
  • false — ทำให้โค้ดบรรทัดถัดไปทำงานทันที

Return Values

ส่งคืนค่าบูลีนที่แสดงว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นถึงค่าเป้าหมายหรือไม่

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • การดำเนินการฟังก์ชันการเคลื่อนไหวของมอเตอร์อื่น (เช่น spin หรือ stop) ในขณะที่ spinFor กำลังดำเนินการอยู่ จะขัดจังหวะการเคลื่อนไหวปัจจุบัน

  • เนื่องจาก spinFor เป็นแบบกำหนดเป้าหมาย (ใช้พารามิเตอร์ rotation หรือ time ) ฟังก์ชันต่างๆ เช่น isDone และ isSpinning จึงทำงานร่วมกับ spinFor

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition หมุนมอเตอร์หรือกลุ่มมอเตอร์ไปยังตำแหน่งที่กำหนด

ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์คือระยะที่หมุน โดยวัดเป็น degrees หรือ turnsหนึ่งรอบเท่ากับ 360 องศา ในตอนเริ่มต้นโครงการ ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์จะถูกตั้งค่าเป็น 0 องศา นอกจากนี้ยังสามารถตั้งค่าตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์ได้โดยใช้ฟังก์ชัน setPosition

ค่าตำแหน่งเป็นค่าสัมบูรณ์ ซึ่งหมายความว่าทิศทางการหมุนขึ้นอยู่กับตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

ตัวอย่างเช่น หากมอเตอร์หรือกลุ่มมอเตอร์เริ่มต้นที่ 0 องศาและหมุนไปที่ตำแหน่ง 720 องศา มันจะหมุนไปข้างหน้าสองรอบ หากจากนั้นหมุนไปที่ตำแหน่ง 360 องศา มันจะหมุนถอยหลังหนึ่งรอบ เพราะ 360 น้อยกว่า 720

Available Functions

1 — หมุนไปยังตำแหน่งที่กำหนดด้วยความเร็วที่ระบุไว้ในการเรียกใช้ฟังก์ชัน

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — หมุนไปยังตำแหน่งที่กำหนดโดยใช้ ความเร็วของมอเตอร์ที่กำหนดค่าไว้ในปัจจุบัน

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

rotation

double

ค่าตำแหน่งที่มอเตอร์หรือกลุ่มมอเตอร์จะหมุนไปถึง

units

rotationUnits

The rotation unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

velocity

double

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ percent

units_v

velocityUnits

หน่วยที่ใช้แทนความเร็ว velocity:

  • pct — เปอร์เซ็นต์
  • rpm — รอบต่อนาที
  • dps — องศาต่อวินาที

waitForCompletion

bool

​

  • true (ค่าเริ่มต้น) — ทำให้โปรเจ็กต์รอจนกว่ามอเตอร์หรือกลุ่มมอเตอร์จะหยุดหมุนก่อนที่โค้ดบรรทัดถัดไปจะทำงาน
  • false — ทำให้โค้ดบรรทัดถัดไปทำงานทันที

Return Values

ส่งคืนค่าบูลีนที่แสดงว่ามอเตอร์หรือกลุ่มมอเตอร์เป็นผู้เริ่มต้นการเคลื่อนไหวตามเป้าหมายที่ร้องขอหรือไม่

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • การดำเนินการฟังก์ชันการเคลื่อนไหวของมอเตอร์อื่น (เช่น spin หรือ spinFor) ในขณะที่ spinToPosition กำลังดำเนินการอยู่ จะขัดจังหวะการเคลื่อนไหวปัจจุบัน

  • เนื่องจาก spinToPosition เป็นแบบกำหนดเป้าหมาย (ใช้พารามิเตอร์การหมุน rotation ) ฟังก์ชันต่างๆ เช่น isDone และ isSpinning จึงทำงานร่วมกับ spinToPosition

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop หยุดมอเตอร์หรือกลุ่มมอเตอร์ไม่ให้หมุน

Available Functions

1 — หยุดมอเตอร์หรือกลุ่มมอเตอร์โดยใช้ โหมดเบรกที่กำหนดค่าไว้ในปัจจุบัน

void stop();

2 — หยุดมอเตอร์หรือกลุ่มมอเตอร์โดยใช้โหมดเบรกที่ระบุไว้ในการเรียกใช้ฟังก์ชัน

void stop(
  brakeType mode );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

mode

brakeType

ตัวเลือกเสริม วิธีการหยุดมอเตอร์หรือกลุ่มมอเตอร์:

  • coast — ชะลอความเร็วจนหยุด
  • brake — หยุดทันที
  • hold — หยุดทันทีและคงตำแหน่งมอเตอร์หรือกลุ่มมอเตอร์ไว้

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • การกดปุ่ม stop จะหยุดการเคลื่อนไหวของมอเตอร์หรือกลุ่มมอเตอร์ใดๆ ที่กำลังทำงานอยู่ทันที

  • หากไม่ได้ระบุโหมดเบรก มอเตอร์หรือกลุ่มมอเตอร์จะใช้ โหมดเบรกที่กำหนดค่าไว้ในปัจจุบัน

  • stop ขัดจังหวะการเคลื่อนไหวตามเป้าหมายที่ใช้งานอยู่ (เช่น spinFor หรือ spinToPosition)

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

ตัวกลายพันธุ์#

setVelocity#

คำสั่ง setVelocity จะบอกมอเตอร์หรือกลุ่มมอเตอร์ว่าควรหมุนเร็วแค่ไหน ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนเร็วขึ้น และค่าเปอร์เซ็นต์ที่ต่ำลงจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนช้าลง

ทุกโปรเจกต์เริ่มต้นด้วยมอเตอร์แต่ละตัวหรือกลุ่มมอเตอร์หมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น

หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนเร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้มอเตอร์หรือกลุ่มมอเตอร์หมุนช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

velocity

double

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% เมื่อใช้ percent

units

velocityUnits

หน่วยที่ใช้แทนความเร็ว velocity:

  • percent / pct — เปอร์เซ็นต์
  • rpm — รอบต่อนาที
  • dps — องศาต่อวินาที

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • ฟังก์ชันการเคลื่อนไหวของมอเตอร์ใดๆ ในภายหลัง (เช่น spin, spinFor, หรือ spinToPosition) ที่ไม่ได้ระบุความเร็วอย่างชัดเจนจะใช้ค่านี้

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

แรงบิดแสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์สามารถผลักหรือดึงได้แรงแค่ไหนขณะที่มันหมุน

setMaxTorque กำหนดแรงบิดสูงสุดที่มอเตอร์หรือกลุ่มมอเตอร์สามารถใช้งานได้

ค่าเปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หรือกลุ่มมอเตอร์ออกแรงมากขึ้น เช่น เมื่อยกของหนัก ในขณะที่ค่าเปอร์เซ็นต์ที่ต่ำลงจะจำกัดแรงที่มอเตอร์หรือกลุ่มมอเตอร์สามารถออกแรงได้ ซึ่งจะช่วยป้องกันหุ่นยนต์ได้หากมอเตอร์หรือกลุ่มมอเตอร์ติดขัดหรือเคลื่อนที่ไปถึงขีดจำกัดสูงสุด

ทุกโครงการจะเริ่มต้นด้วยแรงบิดของมอเตอร์แต่ละตัวหรือกลุ่มมอเตอร์ที่ 50% เป็นค่าเริ่มต้น

Available Functions

1 — ตั้งค่าแรงบิดสูงสุดเป็นเปอร์เซ็นต์ของแรงบิดที่กำหนดของมอเตอร์หรือกลุ่มมอเตอร์

void setMaxTorque(
 double       value,
 percentUnits units );

2 — กำหนดแรงบิดสูงสุดโดยใช้หน่วยแรงบิดทางกายภาพ

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — กำหนดแรงบิดสูงสุดโดยการจำกัดกระแสไฟฟ้าของมอเตอร์

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

double

แรงบิดสูงสุดที่มอเตอร์หรือกลุ่มมอเตอร์สามารถใช้งานได้

units

percentUnits

Specifies torque as a percentage: percent / pct — percent

units

torqueUnits

ระบุแรงบิดในหน่วยทางกายภาพ เช่น:

  • Nm — นิวตันเมตร
  • InLb — นิ้วปอนด์

units

currentUnits

ระบุแรงบิดโดยการจำกัดกระแสไฟฟ้าของมอเตอร์:

  • amp

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • เมื่อใช้หน่วยกระแสไฟฟ้า currentUnitsแรงบิดจะถูกจำกัดโดยการจำกัดปริมาณกระแสไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์สามารถใช้ได้

setPosition#

ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์คือระยะที่หมุนไป โดยวัดเป็น degrees หรือ turnsหนึ่งรอบเท่ากับ 360 องศา setPosition จะเปลี่ยนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์เป็นค่าใหม่

ตัวอย่างเช่น หากมอเตอร์หรือกลุ่มมอเตอร์หมุนไปถึง 180 องศา การตั้งตำแหน่งเป็น 0 องศาจะรีเซ็ตตำแหน่งนั้นจาก 180 องศาเป็น 0 องศา จากนั้นมอเตอร์หรือกลุ่มมอเตอร์จะสามารถหมุนไปยังตำแหน่งต่างๆ ตามค่าใหม่นั้นได้

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

value

double

ค่าตำแหน่งที่จะตั้งให้กับมอเตอร์หรือกลุ่มมอเตอร์

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • หลังจากเรียก setPositionแล้ว การเรียก spinToPosition ครั้งถัดไปจะใช้ตำแหน่งที่อัปเดตแล้วเป็นข้อมูลอ้างอิง

setStopping#

setStopping กำหนดวิธีการหยุดการเคลื่อนที่ของมอเตอร์หรือกลุ่มมอเตอร์: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง

Available Functions
void setStopping(
  brakeType mode );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

mode

brakeType

วิธีการที่มอเตอร์หรือกลุ่มมอเตอร์จะหยุด:

  • brake — หยุดทันที
  • coast — ชะลอความเร็วจนหยุด
  • hold — หยุดทันทีและคงตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์ไว้

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • การเรียกใช้ stop ครั้งถัดไปโดยไม่มีโหมดเบรกที่ระบุจะใช้ค่านี้

setTimeout#

setTimeout กำหนดเวลาที่มอเตอร์หรือกลุ่มมอเตอร์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น หากมอเตอร์หรือกลุ่มมอเตอร์ไม่สามารถทำการเคลื่อนไหวให้เสร็จสิ้นได้ภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบรรทัดโค้ดถัดไป ซึ่งจะช่วยป้องกันไม่ให้มอเตอร์หรือกลุ่มมอเตอร์ติดอยู่กับการเคลื่อนไหวใดๆ

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

time

int32_t

ระยะเวลาที่มอเตอร์หรือกลุ่มมอเตอร์สามารถพยายามทำการเคลื่อนไหวให้เสร็จสิ้น ค่านี้ต้องเป็นจำนวนเต็มบวก

units

timeUnits

หน่วยของเวลา:

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

ค่าที่ส่งคืน

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • การตั้งค่าหมดเวลาของมอเตอร์หรือกลุ่มมอเตอร์นั้นใช้เพื่อป้องกันไม่ให้การเคลื่อนไหวที่ไม่ถึงตำแหน่งเป้าหมายไปขัดขวางการทำงานของคำสั่งอื่นๆ ในสแต็ก

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

  • การหมดเวลาใช้กับฟังก์ชันที่มีค่าเป้าหมาย เช่น spinFor และ spinToPosition

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

ผู้รับ#

isDone#

isDone จะส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์เคลื่อนที่เสร็จแล้วหรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของมอเตอร์หรือกลุ่มมอเตอร์ได้

  • true — มอเตอร์หรือกลุ่มมอเตอร์หยุดเคลื่อนที่แล้ว

  • false — มอเตอร์หรือกลุ่มมอเตอร์ยังคงเคลื่อนที่อยู่

This function works together with the following Motion functions that have the waitForCompletion parameter: spinFor and spinToPosition.

Available Functions
bool isDone();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์เคลื่อนที่เสร็จแล้วหรือไม่

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone ทำงานร่วมกับฟังก์ชัน Motion ต่อไปนี้ที่มีพารามิเตอร์ waitForCompletion : spinFor และ spinToPosition

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

isSpinning จะส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนอยู่หรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของมอเตอร์หรือกลุ่มมอเตอร์ได้

  • true — มอเตอร์หรือกลุ่มมอเตอร์กำลังหมุน

  • false — มอเตอร์หรือกลุ่มมอเตอร์ไม่หมุน

ฟังก์ชันนี้ทำงานร่วมกับฟังก์ชันการเคลื่อนที่ Motion เช่น spin, spinFor และ spinToPosition

Available Functions
bool isSpinning();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่าบูลีนว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนอยู่หรือไม่

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes
  • isSpinning ทำงานร่วมกับฟังก์ชันการเคลื่อนที่ Motion เช่น spin, spinFor และ spinToPosition

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์คือระยะที่หมุนไป โดยวัดเป็น degrees หรือ turnsหนึ่งรอบเท่ากับ 360 องศา position ส่งคืนตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์

ในตอนเริ่มต้นโครงการ ตำแหน่งของมอเตอร์หรือกลุ่มมอเตอร์จะถูกตั้งค่าไว้ที่ 0 องศา หากมอเตอร์หรือกลุ่มมอเตอร์หมุนไปข้างหน้าหนึ่งรอบ ตำแหน่งจะเปลี่ยนเป็น 360 องศา หรือ 1 รอบ หากมอเตอร์หรือกลุ่มมอเตอร์หมุนไปในทิศทางตรงกันข้าม ตำแหน่งจะเปลี่ยนเป็นค่าลบ

Available Functions
double position(
  rotationUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

rotationUnits

The unit to return the motor or motor group position in:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

ส่งคืนค่า double ซึ่งแสดงตำแหน่งปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยที่ระบุ

Notes
  • การเรียก setPosition จะเปลี่ยนจุดอ้างอิงสำหรับค่านี้

  • ค่าที่ส่งกลับมานั้นสะท้อนถึงค่าที่อ่านได้จากตัวเข้ารหัสในปัจจุบัน และไม่ได้บ่งชี้ว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังเคลื่อนที่อยู่หรือไม่

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนตำแหน่งของมอเตอร์ตัวแรกในกลุ่ม

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

ค่า velocity จะแสดงความเร็วในการหมุนของมอเตอร์หรือกลุ่มมอเตอร์

ค่าบวกหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังหมุนไปข้างหน้า ค่าลบหมายความว่ากำลังหมุนย้อนกลับ

Available Functions
double velocity(
    velocityUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

velocityUnits

หน่วยที่ใช้แสดงความเร็ว:

  • percent pct เปอร์เซ็นต์
  • rpm รอบต่อนาที
  • dps องศาต่อวินาที

Return Values

ส่งคืนค่า double ซึ่งแสดงถึงความเร็วในการหมุนของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยที่ระบุ

หมายเหตุ

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนความเร็วของมอเตอร์ตัวแรกในกลุ่มนั้น

current#

ค่ากระแสไฟฟ้า current จะแสดงปริมาณกระแสไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้ กระแสไฟฟ้าคือปริมาณไฟฟ้าที่ไหลผ่านมอเตอร์หรือกลุ่มมอเตอร์ เมื่อแสดงค่าเป็นแอมป์ ค่ากระแสไฟฟ้าจะอยู่ระหว่าง 0.0 ถึง 1.2 แอมป์

ค่ากระแสไฟฟ้าที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังใช้กระแสไฟฟ้ามากขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์หรือกลุ่มมอเตอร์กำลังยกของหนัก ผลักวัตถุ หรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้ตรวจสอบได้ว่ามอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักเกินไปขณะเคลื่อนไหวหรือไม่ หากกระแสไฟฟ้าสูงต่อเนื่อง มอเตอร์อาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพ

Available Functions

1 — ส่งคืนค่ากระแสไฟฟ้าของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยแอมป์

double current(
  currentUnits units = amp );

2 — ส่งคืนกระแสไฟฟ้าของมอเตอร์หรือกลุ่มมอเตอร์เป็นเปอร์เซ็นต์ของกระแสไฟฟ้าสูงสุดที่กำหนด

double current(
  percentUnits units );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

units

currentUnits

หน่วยที่ใช้แทนกระแสไฟฟ้า:amp (ค่าเริ่มต้น) — แอมแปร์

units

percentUnits

แสดงกระแสไฟฟ้าเป็นเปอร์เซ็นต์ของกระแสไฟฟ้าสูงสุดที่มอเตอร์รับได้:percent pct เปอร์เซ็นต์

Return Values

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

หมายเหตุ

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนกระแสไฟฟ้ารวมของมอเตอร์ทั้งหมดในกลุ่มนั้น

power#

ค่า power แสดงกำลังไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้ในหน่วยวัตต์ ค่า Power ยังแสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์ใช้พลังงานเร็วแค่ไหนด้วย

ค่ากำลังไฟฟ้าที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังใช้พลังงานเร็วขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์หรือกลุ่มมอเตอร์กำลังยกของหนัก ผลักวัตถุ หรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้สิ่งนี้เพื่อเปรียบเทียบการเคลื่อนไหวหรือตรวจสอบว่ามอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักเกินไปหรือไม่ หากกำลังไฟสูงอยู่ตลอดเวลา มอเตอร์อาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพมากขึ้น

Available Functions
double power(
  powerUnits units = watt );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

units

powerUnits

หน่วยที่ใช้แสดงกำลังมอเตอร์:

  • watt (ค่าเริ่มต้น) — วัตต์

ค่าที่ส่งคืน

ส่งคืนค่า double ซึ่งแสดงถึงกำลังไฟฟ้าที่มอเตอร์หรือกลุ่มมอเตอร์ใช้ในหน่วยวัตต์

หมายเหตุ

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนกำลังไฟฟ้าของมอเตอร์ตัวแรกในกลุ่ม

torque#

แรงบิดแสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นบิด ผลัก หรือดึงมากแค่ไหนขณะที่มันหมุน

ค่าแรงบิด torque ใช้งานอยู่

ค่าแรงบิดที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังผลักหรือดึงแรงขึ้น ซึ่งอาจเกิดขึ้นเมื่อมอเตอร์หรือกลุ่มมอเตอร์กำลังยกของหนัก ผลักกับวัตถุ หรือพยายามเคลื่อนย้ายเมื่อติดอยู่

สามารถใช้ตรวจสอบได้ว่ามอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักเกินไปหรือไม่ หรือเพื่อเปรียบเทียบว่าการเคลื่อนไหวแต่ละแบบต้องการแรงผลักมากแค่ไหน

ในการตั้งค่าแรงบิดของมอเตอร์หรือกลุ่มมอเตอร์ ให้ใช้ setMaxTorque

Available Functions
double torque(
  torqueUnits units = Nm );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

units

torqueUnits

หน่วยที่ใช้แสดงแรงบิดของมอเตอร์:

  • Nm (ค่าเริ่มต้น) — นิวตันเมตร
  • InLb — นิ้วปอนด์

ค่าที่ส่งคืน

ส่งคืนค่า double ซึ่งแสดงถึงแรงบิดที่มอเตอร์หรือกลุ่มมอเตอร์ใช้ในหน่วยที่ระบุ

หมายเหตุ

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนแรงบิดเอาต์พุตเชิงกลของมอเตอร์ตัวแรกในกลุ่ม

efficiency#

ค่าประสิทธิภาพ efficiency เป็นเปอร์เซ็นต์ตั้งแต่ 0% ถึง 100%

ประสิทธิภาพแสดงให้เห็นว่าพลังงานของมอเตอร์หรือกลุ่มมอเตอร์นั้นถูกนำไปใช้ในการเคลื่อนที่มากน้อยเพียงใด ค่าประสิทธิภาพที่สูงขึ้นหมายความว่าพลังงานของมอเตอร์หรือกลุ่มมอเตอร์ถูกนำไปใช้ในการเคลื่อนที่มากขึ้น ค่าประสิทธิภาพที่ต่ำลงอาจเกิดขึ้นได้เมื่อมอเตอร์หรือกลุ่มมอเตอร์ทำงานหนักแต่เคลื่อนที่ได้ไม่มาก เช่น เมื่อมันติดขัดหรือดันกับวัตถุ

สามารถใช้เพื่อเปรียบเทียบการเคลื่อนไหว หรือตรวจสอบว่ามอเตอร์หรือกลุ่มมอเตอร์กำลังสูญเสียพลังงานแทนที่จะนำไปใช้ในการเคลื่อนไหวหรือไม่

Available Functions
double efficiency(
  percentUnits units = percent );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

units

percentUnits

หน่วยที่ใช้แสดงประสิทธิภาพของมอเตอร์:

  • percent / percentUnits::pct (ค่าเริ่มต้น) — เปอร์เซ็นต์

ค่าที่ส่งคืน

ส่งคืนค่า double ซึ่งแสดงถึงประสิทธิภาพการใช้พลังงานของมอเตอร์หรือกลุ่มมอเตอร์ในรูปเปอร์เซ็นต์

หมายเหตุ

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนค่าประสิทธิภาพของมอเตอร์ตัวแรกในกลุ่ม

temperature#

temperature returns the temperature of the motor or motor group.

อุณหภูมิของมอเตอร์แสดงให้เห็นว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นร้อนแค่ไหน อุณหภูมิที่สูงขึ้นหมายความว่ามอเตอร์หรือกลุ่มมอเตอร์นั้นร้อนขึ้นขณะทำงาน มอเตอร์ควรมีอุณหภูมิต่ำกว่า 55°C เพื่อให้ทำงานได้อย่างเต็มประสิทธิภาพ

หากมอเตอร์หรือกลุ่มมอเตอร์ร้อนเกินไป มันจะลดกระแสสูงสุดลงเพื่อป้องกันตัวเอง ที่ 70°C°C มอเตอร์จะหยุดทำงานจนกว่าจะเย็นลง

สามารถใช้ตรวจสอบได้ว่ามอเตอร์หรือกลุ่มมอเตอร์ร้อนเกินไปหรือไม่ ในระหว่างการเคลื่อนไหวซ้ำๆ การทำงานต่อเนื่องเป็นเวลานาน หรือเมื่อมีการดันกับวัตถุ

Available Functions

1 — แสดงอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์เป็นเปอร์เซ็นต์ของอุณหภูมิการทำงานสูงสุด

double temperature(
  percentUnits units = percent );

2 — ส่งคืนอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยอุณหภูมิทางกายภาพ

double temperature(
  temperatureUnits units );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

units

percentUnits

หน่วยที่ใช้แสดงอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์เป็นเปอร์เซ็นต์:

  • percent / percentUnits::pct (ค่าเริ่มต้น) — เปอร์เซ็นต์

units

temperatureUnits

หน่วยที่ใช้แสดงอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยองศา:

  • celsius — องศาเซลเซียส
  • fahrenheit — องศาฟาเรนไฮต์

ค่าที่ส่งคืน

ส่งคืนค่า double ซึ่งแสดงถึงอุณหภูมิของมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยที่ระบุ

หมายเหตุ

  • ช่วงอุณหภูมิการทำงานของมอเตอร์โดยประมาณคือ 20°C (68°F) ถึง 70°C (158°F)

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนอุณหภูมิของมอเตอร์ตัวแรกในกลุ่ม

voltage#

voltage คือแรงดันไฟฟ้าที่จ่ายให้กับมอเตอร์หรือกลุ่มมอเตอร์

Available Functions
double voltage(
  voltageUnits units = volt );

พารามิเตอร์

พารามิเตอร์

พิมพ์

คำอธิบาย

units

voltageUnits

หน่วยที่ใช้แสดงแรงดันไฟฟ้า:

  • volt (ค่าเริ่มต้น)
  • voltageUnits::mV — มิลลิโวลต์

ค่าที่ส่งคืน

ส่งคืนค่า double ซึ่งแสดงถึงแรงดันไฟฟ้าที่จ่ายให้กับมอเตอร์หรือกลุ่มมอเตอร์ในหน่วยที่ระบุ

หมายเหตุ

  • เมื่อเรียกใช้ฟังก์ชันนี้กับ motor_groupที่มีค่า ฟังก์ชันจะส่งคืนค่าแรงดันไฟฟ้าของมอเตอร์ตัวแรกในกลุ่ม

direction#

direction ส่งคืนทิศทางที่มอเตอร์หรือกลุ่มมอเตอร์หมุน

Available Functions
directionType direction();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน

ส่งคืนค่า directionType directionType ทิศทางปัจจุบันของมอเตอร์หรือกลุ่มมอเตอร์:

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed ส่งคืนว่ามอเตอร์หรือกลุ่มมอเตอร์เชื่อมต่อกับ IQ (รุ่นที่ 1) Brain หรือไม่

Available Functions
bool installed();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน

ส่งคืนค่าบูลีน bool เพื่อระบุว่ามอเตอร์หรือกลุ่มมอเตอร์เชื่อมต่ออยู่หรือไม่

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count ส่งคืนจำนวนมอเตอร์ในกลุ่มมอเตอร์

Available Functions
int32_t count();

พารามิเตอร์

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ค่าที่ส่งคืน

ส่งคืนค่า int32_t ซึ่งแสดงถึงจำนวนมอเตอร์ในกลุ่มมอเตอร์