เฉื่อย#

การแนะนำ#

สมองมีเซ็นเซอร์วัดการเคลื่อนไหวในตัว เซ็นเซอร์นี้สามารถวัดการเคลื่อนไหวหรือการหมุนของสมองได้

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

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

มีหลายวิธีในการเขียนโค้ดสำหรับเซ็นเซอร์วัดแรงเฉื่อย ด้านล่างนี้คือรายการบล็อกทั้งหมดที่เกี่ยวข้องกับเซ็นเซอร์วัดแรงเฉื่อย:

การตั้งค่า — ปรับเทียบหรือตั้งค่าเซ็นเซอร์

  • ปรับเทียบไจโร — ปรับเทียบเซ็นเซอร์ความเฉื่อยในตัวของสมอง

  • set heading — กำหนดหัวข้อปัจจุบันของ Brain เป็นค่าหัวข้อใหม่

  • ตั้งค่าการหมุน — ตั้งค่าการหมุนปัจจุบันของสมองเป็นค่าการหมุนใหม่

ค่าต่างๆ — ตรวจสอบข้อมูลจากเซ็นเซอร์

  • heading — รายงานทิศทางปัจจุบันของสมองตั้งแต่ 0 ถึง 359 องศา

  • การหมุน — รายงานการหมุนปัจจุบันของสมอง

  • ตรวจพบการชน — รายงานว่าสมองตรวจพบการชนอย่างกะทันหันหรือไม่

  • ความเร่ง — รายงานว่าสมองเร่งความเร็วหรือชะลอความเร็วลงเร็วแค่ไหนในแกนที่เลือก

ปรับเทียบไจโรสโคป#

บล็อก calibrate gyro จะทำการปรับเทียบส่วนไจโรของเซ็นเซอร์วัดความเฉื่อยในตัวของสมอง

การปรับเทียบช่วยให้เซ็นเซอร์วัดแรงเฉื่อยวัดการเลี้ยวได้อย่างถูกต้อง ให้วางตัวควบคุม (Brain) นิ่งๆ ประมาณ 2 วินาทีในระหว่างการปรับเทียบ หากตัวควบคุมขยับในระหว่างการปรับเทียบ ค่าทิศทางและการหมุนอาจวัดการเลี้ยวไม่ถูกต้อง

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

ปรับเทียบไจโร

พารามิเตอร์

คำอธิบาย

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

ตั้งหัวข้อ#

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

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

ตั้งทิศทางเป็น [0] องศา

พารามิเตอร์

คำอธิบาย

หัวข้อ

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

ตั้งค่าการหมุน#

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

ตัวอย่างเช่น หากสมองหมุนไปทางขวาครบสองรอบ ค่าการหมุนของมันจะเป็น 720 องศา การตั้งค่าการหมุนเป็น 0 องศาจะรีเซ็ตค่าการหมุนจาก 720 เป็น 0 องศา จากนั้นสมองจะสามารถติดตามการหมุนโดยใช้ค่าใหม่นั้นได้

ตั้งการหมุนเป็น [0] องศา

พารามิเตอร์

คำอธิบาย

การหมุน

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

หัวข้อ#

ทิศทาง (Heading) คือทิศทางที่สมองหันไป โดยวัดเป็นองศา บล็อกรายงานทิศทาง (Heading reporter block) จะรายงานทิศทางตั้งแต่ 0 ถึง 359 องศา

ทิศทางเริ่มต้นคือ 0 องศา หากสมองหมุนเกิน 359 องศา ทิศทางจะวนกลับมาที่ 0 องศา

(ทิศทางในองศา)

พารามิเตอร์

คำอธิบาย

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

การหมุน#

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

การหมุนไปทางขวาจะเพิ่มมุมการหมุน และการหมุนไปทางซ้ายจะลดมุมการหมุน ตัวอย่างเช่น การหมุนไปทางขวาครบสองรอบจะแสดงค่าการหมุน 720 องศา การหมุนไปทางซ้ายครบหนึ่งรอบจาก 0 องศาจะแสดงค่าการหมุน -360 องศา

(การหมุนในองศา)

พารามิเตอร์

คำอธิบาย

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

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

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

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

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

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

พารามิเตอร์

คำอธิบาย

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

ตัวอย่าง

เมื่อเริ่มต้น :: hat events
[Build Used: Super Code Base 2.0]
[Back up and turn after crashing.]
ตั้งความเร็วขับเป็น (100) %
ขับ [ไปข้างหน้า v]
รอจนกว่า <ตรวจพบการชน?>
ขับ [ถอยหลัง v] เป็น [100] [มม. v] ▶
เลี้ยว [ขวา v] เป็น [90] องศา ▶

ความเร่ง#

ความเร่ง คือ อัตราเร็วที่สมองหมุนเร็วขึ้นหรือช้าลง บล็อกรายงานความเร่งจะรายงานความเร่งของสมองบนแกนที่เลือก ตั้งแต่ -4.0 G ถึง 4.0 G

G เป็นหน่วยที่ใช้วัดความเร่ง 1 G คือความเร่งประมาณที่คุณรู้สึกจากแรงโน้มถ่วงขณะนั่งอยู่เฉยๆ

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

(ความเร่งของแกน [x v] ในหน่วย g)

พารามิเตอร์

คำอธิบาย

แกน

แกนที่ใช้วัดความเร่ง:

  • x
  • y
  • z

ตัวอย่าง

เมื่อเริ่มต้น :: hat events
[Build Used: Super Code Base 2.0]
[Display the acceleration after moving.]
ตั้งความละเอียดการพิมพ์เป็น [ทุกหลัก v]
ตั้งความเร็วขับเป็น (100) %
พิมพ์ [Resting: ] ▶
พิมพ์ (ความเร่งของแกน [x v] ในหน่วย g) ▶
ตั้งเคอร์เซอร์ไปแถวถัดไป
รอ [1] วินาที
ขับ [ไปข้างหน้า v] เป็น [500] [มม. v] ◀ และไม่รอ
รอ [0.2] วินาที
พิมพ์ [Startup: ] ▶
พิมพ์ (ความเร่งของแกน [x v] ในหน่วย g) ▶