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

การแนะนำ#

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

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

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

โดยค่าเริ่มต้น 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 (รุ่นที่ 2) 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 ซึ่งแสดงถึงจำนวนมอเตอร์ในกลุ่มมอเตอร์