บล็อกเฉพาะสำหรับหุ่นยนต์#

การแนะนำ#

หุ่นยนต์ 123 ประกอบด้วยระบบขับเคลื่อน ไฟ LED ลำโพง เซ็นเซอร์ดวงตา และเซ็นเซอร์ไจโร

บล็อก VR มาตรฐานของ VEXcode ทั้งหมดสามารถใช้งานได้ใน 123 Playspace Playground

ด้านล่างนี้คือรายการบล็อกเฉพาะสำหรับหุ่นยนต์ที่มีให้เลือกใช้งานทั้งหมด:

ระบบขับเคลื่อน - เคลื่อนที่และหมุนหุ่นยนต์

  • การกระทำ

    • drive - เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตลอดไป

    • ขับจนกว่า - เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังจนกว่าจะตรวจพบวัตถุ การชน หรือเส้น

    • ขับไปข้างหน้า - เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนด

    • เลี้ยว - หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตลอดไป

    • หมุน - หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนด

    • หมุนตามทิศทาง - หมุนหุ่นยนต์ให้หันหน้าไปยังทิศทางที่กำหนดตั้งแต่ -359 ถึง 359 องศา หุ่นยนต์จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย

    • หยุดขับ - หยุดการเคลื่อนที่ของหุ่นยนต์

  • การตั้งค่า

  • ค่านิยม

เสียง - เล่นเสียงในตัวผ่านลำโพงของหุ่นยนต์ 123

  • เล่นเสียง - เล่นเอฟเฟกต์เสียงในตัวของหุ่นยนต์หนึ่งรายการ

LED - ควบคุมไฟ LED ตรงกลางของหุ่นยนต์ 123

  • glow - ตั้งค่าสีของไฟ LED

การกระทำ - สั่งให้หุ่นยนต์ 123 ทำงานตามพฤติกรรมที่ตั้งไว้ล่วงหน้า

  • act - แสดงอารมณ์ต่างๆ ออกมา

การตรวจวัด - อ่านค่าจากเซ็นเซอร์ของหุ่นยนต์ 123

ระบบขับเคลื่อน#

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

ระบบขับเคลื่อนสามารถวัดระยะทางได้สองวิธี คือ ขั้น และ มม. (มิลลิเมตร) หนึ่ง ขั้น เท่ากับหนึ่งช่องสี่เหลี่ยมบนสนาม 123

การกระทำ#

ขับ#

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

ขับ [ไปข้างหน้า v]

พารามิเตอร์

คำอธิบาย

ทิศทาง

ทิศทางการเคลื่อนที่ของหุ่นยนต์: ไปข้างหน้า หรือ ถอยหลัง

ตัวอย่าง

เมื่อเริ่มต้น
[Drive for 2 seconds.]
ขับ [ไปข้างหน้า v]
รอ (2) วินาที
หยุดขับ

ขับรถจนถึง#

บล็อกคำสั่ง ขับจนกว่า จะเคลื่อนหุ่นยนต์ไปข้างหน้าจนกว่าเซ็นเซอร์ตรวจจับวัตถุ การชน หรือเส้น

ขับเคลื่อนไปข้างหน้าจนถึง [วัตถุ v]

พารามิเตอร์

คำอธิบาย

เงื่อนไข

เงื่อนไขที่ทำให้หุ่นยนต์หยุดทำงาน:

  • วัตถุ — เซ็นเซอร์ตาตรวจจับวัตถุ
  • ชน — หุ่นยนต์ชนกับวัตถุ
  • เส้น — ตัวตรวจจับเส้นตรวจพบเส้นใต้หุ่นยนต์

ตัวอย่าง

เมื่อเริ่มต้น
[Reverse after a crash.]
ขับเคลื่อนไปข้างหน้าจนถึง [ชน v]
ขับ [ถอยหลัง v] เป็น (1) [ก้าว v]

ขับเพื่อ#

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

ขับ [ไปข้างหน้า v] เป็น (1) [ก้าว v]

พารามิเตอร์

คำอธิบาย

ทิศทาง

ทิศทางการเคลื่อนที่ของหุ่นยนต์: ไปข้างหน้า หรือ ถอยหลัง

ระยะทาง

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

หน่วย

หน่วยวัดระยะทาง: ก้าว หรือ มิลลิเมตร

ตัวอย่าง

เมื่อเริ่มต้น
[Drive back and forth.]
ขับ [ไปข้างหน้า v] เป็น (3) [ก้าว v]
ขับ [ถอยหลัง v] เป็น (3) [ก้าว v]

เปลี่ยน#

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

เลี้ยว [ขวา v]

พารามิเตอร์

คำอธิบาย

ทิศทาง

ทิศทางที่หุ่นยนต์หมุน: ซ้าย หรือ ขวา

ตัวอย่าง

เมื่อเริ่มต้น
[Turn for 2 seconds.]
เลี้ยว [ขวา v]
รอ (2) วินาที
หยุดขับ

เลี้ยวเพื่อ#

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

เลี้ยว [ขวา v] เป็น (90) องศา

พารามิเตอร์

คำอธิบาย

ทิศทาง

ทิศทางที่หุ่นยนต์หมุน: ซ้าย หรือ ขวา

มุม

จำนวนองศาที่หุ่นยนต์หมุน ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้

ตัวอย่าง

เมื่อเริ่มต้น
[Turn left, then turn around to the right.]
เลี้ยว [ซ้าย v] เป็น (90) องศา
เลี้ยว [ขวา v] เป็น (180) องศา

หันไปที่หัวข้อ#

ทิศทาง (Heading) คือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา บล็อกคำสั่ง turn to heading จะหมุนหุ่นยนต์ให้หันหน้าไปในทิศทางที่กำหนด ตั้งแต่ -359 ถึง 359 องศา หุ่นยนต์จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย

ทิศทางเริ่มต้นของหุ่นยนต์คือ 0 องศา

เลี้ยวไปทิศทาง (90) องศา

พารามิเตอร์

คำอธิบาย

หัวข้อ

ทิศทางที่หุ่นยนต์ควรหันหน้าไป (หน่วยเป็นองศา) สามารถเป็นจำนวนเต็มหรือทศนิยมตั้งแต่ -359 ถึง 359 ได้

ตัวอย่าง

เมื่อเริ่มต้น
[Turn to face the cardinal directions.]
เลี้ยวไปทิศทาง (90) องศา
รอ (2) วินาที
เลี้ยวไปทิศทาง (180) องศา
รอ (2) วินาที
เลี้ยวไปทิศทาง (270) องศา
รอ (2) วินาที
เลี้ยวไปทิศทาง (0) องศา
รอ (2) วินาที

หยุดขับรถ#

บล็อก หยุดการเคลื่อนที่ จะหยุดการเคลื่อนที่ของหุ่นยนต์

หยุดขับ

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Stop driving after 4 seconds.]
ขับ [ไปข้างหน้า v]
รอ [4] วินาที
หยุดขับ

การตั้งค่า#

ตั้งค่าหมดเวลาไดรฟ์#

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

ตั้งหมดเวลาขับเป็น (1) วินาที

พารามิเตอร์

คำอธิบาย

เวลา

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

ตัวอย่าง

เมื่อเริ่มการทำงาน ระบบจะจำกัดเวลาในการขับเคลื่อนไว้ที่ 1 วินาที จากนั้นจะหมุน 90 องศา#
เมื่อเริ่มต้น
[Turn right after driving for 1 second.]
ตั้งหมดเวลาขับเป็น (1) วินาที
ขับ [ไปข้างหน้า v] เป็น (1000) [มม. v]
เลี้ยว [ขวา v] เป็น (90) องศา

ตั้งทิศทางการขับเคลื่อน#

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

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

ตั้งทิศทางขับเป็น (0) องศา

พารามิเตอร์

คำอธิบาย

หัวข้อ

ค่าทิศทาง (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับหุ่นยนต์ ค่านี้สามารถเป็นจำนวนเต็มหรือทศนิยมตั้งแต่ -359 ถึง 359 ได้

ตัวอย่าง

เมื่อเริ่มต้น
[Face the new 0 degree heading.]
ตั้งทิศทางขับเป็น (90) องศา
เลี้ยวไปทิศทาง (0) องศา

ค่านิยม#

การขับรถเสร็จสิ้นแล้ว#

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

  • จริง — หุ่นยนต์เคลื่อนไหวเสร็จแล้ว

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

บล็อกนี้ทำงานร่วมกับบล็อกระบบขับเคลื่อนต่อไปนี้: ขับไปข้างหน้า, ขับไปจนถึง, เลี้ยวไปข้างหน้า, และ เลี้ยวไปตามทิศทาง

<ขับเสร็จแล้ว?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Glow blue after a crash.]
ขับเคลื่อนไปข้างหน้าจนถึง [ชน v]
ทำตลอดไป
ถ้า <ขับเสร็จแล้ว?> แล้ว
เรืองแสง [น้ำเงิน v]
มิฉะนั้น
เรืองแสง [เขียว v]

ทิศทางการขับขี่#

ทิศทางการเคลื่อนที่ของหุ่นยนต์วัดเป็นองศา บล็อกรายงานทิศทางการเคลื่อนที่ (Drive Heading Reporter Block) จะรายงานทิศทางการเคลื่อนที่ปัจจุบันของหุ่นยนต์ตั้งแต่ 0 ถึง 359 องศา

ทิศทางเริ่มต้นของหุ่นยนต์คือ 0 องศา

(ทิศทางขับในองศา)

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Display the heading after turning.]
เลี้ยว [ขวา v] เป็น (450) องศา
พิมพ์ (ทิศทางขับในองศา) ▶

เสียง#

เล่นเสียง#

บล็อก เล่นเสียง จะเล่นเสียงหนึ่งในเสียงที่ติดตั้งมากับหุ่นยนต์

เล่นเสียง [แตรรถ v]

พารามิเตอร์

คำอธิบาย

เสียง

หนึ่งในเสียงสำเร็จรูปที่แสดงด้านล่างนี้

ชื่อเสียง

เล่นเสียง

บีบแตร

ออด

ชน

สุ่ม

เล่นเสียงแบบสุ่มจาก 3 เสียงข้างต้น

ตัวอย่าง

เมื่อเริ่มแล้ว ให้เล่นเสียงและทำท่าทางมีความสุข#
เมื่อเริ่มต้น :: hat events
[Play the doorbell sound.]
เล่นเสียง [กริ่งประตู v]

นำ#

เรืองแสง#

บล็อก เรืองแสง จะกำหนดสีของแสง LED

เรืองแสง [เขียว v]

พารามิเตอร์

คำอธิบาย

สี

ตั้งค่าสีของไฟ LED:

  • สีเขียว
  • สีน้ำเงิน
  • สีม่วง
  • ปิด

ตัวอย่าง

เมื่อเริ่มต้น :: hat events
[Blink the LED light forever.]
ทำตลอดไป
เรืองแสง [เขียว v]
รอ [0.5] วินาที
เรืองแสง [ปิด v]
รอ [0.5] วินาที

การกระทำ#

กระทำ#

บล็อก act ใช้สำหรับแสดงอารมณ์เศร้า สุข หรือบ้าคลั่ง โดยให้หุ่นยนต์ 123 ทำตามลำดับการขับเคลื่อน การเลี้ยว และการส่งเสียง

แสดงอารมณ์ [เศร้า v]

พารามิเตอร์

คำอธิบาย

อารมณ์

อารมณ์ที่จะแสดงออกมา

  • เศร้า - ขับรถถอยหลัง เลี้ยวซ้าย แล้วเลี้ยวขวา ทำเสียง “อุ๊ย” แล้วขับรถไปข้างหน้าเพื่อแสดงอาการเศร้า
  • มีความสุข - เลี้ยวขวา 360 องศาและทำเสียงหัวเราะเพื่อแสดงอาการมีความสุข
  • บ้าคลั่ง - เลี้ยวซ้ายเป็นวงกลม แล้วเลี้ยวขวาเป็นวงกลม พร้อมกับทำเสียง “เพี้ยน” เพื่อแสดงอาการบ้าคลั่ง
เมื่อเริ่มต้น :: hat events
[Act out a happy behavior.]
แสดงอารมณ์ [มีความสุข v]

การรับรู้#

หุ่นยนต์ 123 เสมือนยังสามารถเข้าถึงบล็อกการตรวจจับมาตรฐาน สมอง และ ระบบขับเคลื่อน ได้อีกด้วย

ไจโร#

หุ่นยนต์ 123 ใช้เซ็นเซอร์ไจโรสโคปในการตรวจจับแรงกระแทกฉับพลัน เช่น การชนกำแพงหรือวัตถุ

ตรวจพบการชน#

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

  • จริง — ตรวจพบการขัดข้อง

  • เท็จ — ไม่พบการขัดข้องใดๆ

<ตรวจพบการชน?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Back up after a crash.]
ขับ [ไปข้างหน้า v]
รอจนกว่า <ตรวจพบการชน?>
ขับ [ถอยหลัง v] เป็น (200) [มม. v]

ดวงตา#

ดวงตาพบวัตถุชิ้นหนึ่ง#

บล็อก Boolean ดวงตาตรวจพบวัตถุ จะรายงานว่าเซ็นเซอร์ดวงตาตรวจพบวัตถุในระยะหรือไม่

  • จริง — เซ็นเซอร์ตรวจจับดวงตาตรวจพบวัตถุ

  • เท็จ — เซ็นเซอร์ดวงตาไม่ตรวจจับวัตถุใดๆ

<ตาพบวัตถุ?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Stop driving after detecting an object.]
ตั้งไฟตา [เปิด v]
ขับ [ไปข้างหน้า v]
รอ (0.1) วินาที
รอจนกว่า <ตาพบวัตถุ?>
หยุดขับ

ดวงตาตรวจจับสี#

บล็อก Boolean ดวงตาตรวจจับสี จะรายงานว่าเซ็นเซอร์ดวงตาตรวจจับสีที่ระบุหรือไม่ โดยพิจารณาจากค่าเฉดสีที่ตรวจพบ

  • จริง – เซ็นเซอร์ดวงตาตรวจจับสีที่ระบุได้

  • เท็จ – เซ็นเซอร์ดวงตาไม่ตรวจพบสีที่ระบุ

เพื่อตรวจสอบค่าเฉดสีที่ตรวจจับได้โดยเซ็นเซอร์ตาอย่างแม่นยำ ให้ใช้บล็อกรายงาน eye hue

<ตาตรวจจับ [แดง v]?>

พารามิเตอร์

คำอธิบาย

สี

สีที่ต้องการตรวจจับ:

  • สีแดง - ค่าเฉดสีที่ตรวจพบอยู่ระหว่าง 340°-20°
  • สีเขียว - ค่าเฉดสีที่ตรวจพบอยู่ระหว่าง 80°-145°
  • สีน้ำเงิน - ค่าเฉดสีที่ตรวจพบอยู่ระหว่าง 160°-250°

ตัวอย่าง

เมื่อเริ่มต้น
[Stop driving after detecting a green object.]
ตั้งไฟตา [เปิด v]
ขับ [ไปข้างหน้า v]
รอ (0.1) วินาที
รอจนกว่า <ตาตรวจจับ [เขียว v]?>
หยุดขับ

สีตา#

ส่วนรายงานค่าสีตาจะแสดงค่าสีที่ตรวจจับได้โดยเซ็นเซอร์ตาเป็นตัวเลขตั้งแต่ 0 ถึง 359 องศา

เฉดสี คือวิธีการอธิบายสีโดยใช้ตัวเลขรอบวงล้อสี

วงล้อสีวงกลมที่แสดงเฉดสีครบทุกเฉดพร้อมระบุค่าองศาไว้รอบขอบ โดยเพิ่มขึ้นทีละ 30 องศาจาก 0° ที่ด้านบนถึง 360°

(เฉดสีตาในองศา)

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Display if an object is pink.]
ทำตลอดไป
ล้างทุกแถว
ถ้า <[290] [math_less_than v] (เฉดสีตาในองศา) [math_less_than v] [350]> แล้ว
พิมพ์ [Pink!] ▶
รอ (0.1) วินาที
มิฉะนั้น
พิมพ์ [Not pink!] ▶
รอ (0.1) วินาที

วัตถุที่สว่างตา#

บล็อก Boolean eye bright object จะรายงานว่าวัตถุที่เซ็นเซอร์ตาตรวจพบนั้นสว่างหรือไม่

วัตถุจะถือว่าสว่างเมื่อสะท้อนความสว่างกลับไปยังเซ็นเซอร์ตรวจจับดวงตามากกว่า 70%

  • จริง — วัตถุที่ตรวจพบสะท้อนความสว่างมากกว่า 70%

  • เท็จ — วัตถุที่ตรวจพบมีความสว่าง 70% หรือน้อยกว่า

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

<ตาพบวัตถุสว่าง?>

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Display whether a detected object is bright.]
ตั้งกำลังไฟตาเป็น (100) %
ขับ [ไปข้างหน้า v]
รอจนกว่า <ตาพบวัตถุ?>
รอ (0.1) วินาที
ถ้า <ตาพบวัตถุสว่าง?> แล้ว
พิมพ์ [Bright object!] ▶
มิฉะนั้น
พิมพ์ [Object not bright.] ▶

ความสว่างของดวงตา#

ส่วนรายงาน ความสว่างของดวงตา จะรายงานปริมาณแสงที่สะท้อนกลับไปยังเซ็นเซอร์ดวงตาเป็นเปอร์เซ็นต์ตั้งแต่ 0% ถึง 100%

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

(ความสว่างตาใน %)

พารามิเตอร์

คำอธิบาย

บล็อกนี้ไม่มีพารามิเตอร์

ตัวอย่าง

เมื่อเริ่มต้น
[Display whether a detected object is bright.]
ตั้งกำลังไฟตาเป็น (100) %
ขับ [ไปข้างหน้า v]
รอจนกว่า <ตาพบวัตถุ?>
รอ (0.1) วินาที
ถ้า <(ความสว่างตาใน %) [math_less_than v] [70]> แล้ว
พิมพ์ [Object not bright.] ▶
มิฉะนั้น
พิมพ์ [Bright object!] ▶