เฉื่อย#
การแนะนำ#
สมองมีเซ็นเซอร์วัดการเคลื่อนไหวในตัว เซ็นเซอร์นี้สามารถวัดการเคลื่อนไหวหรือการหมุนของสมองได้
เซ็นเซอร์วัดแรงเฉื่อยใช้ส่วนประกอบสองส่วนในการทำงานนี้ ไจโรสโคปจะวัดการหมุน เช่น ทิศทางที่สมองหันไปและระยะที่หมุนไป ส่วนมาตรวัดความเร่งจะวัดการเปลี่ยนแปลงของการเคลื่อนที่ เช่น การเร่งความเร็ว การลดความเร็ว หรือการหยุดกะทันหันระหว่างการชน
บล็อกตรวจจับแรงเฉื่อยสามารถใช้ติดตามการเลี้ยว รีเซ็ตค่าทิศทางหรือการหมุน ตรวจจับการชน และรายงานความเร่งได้
มีหลายวิธีในการเขียนโค้ดสำหรับเซ็นเซอร์วัดแรงเฉื่อย ด้านล่างนี้คือรายการบล็อกทั้งหมดที่เกี่ยวข้องกับเซ็นเซอร์วัดแรงเฉื่อย:
การตั้งค่า — ปรับเทียบหรือตั้งค่าเซ็นเซอร์
ปรับเทียบไจโร — ปรับเทียบเซ็นเซอร์ความเฉื่อยในตัวของสมอง
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)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แกน |
แกนที่ใช้วัดความเร่ง:
|
ตัวอย่าง
เมื่อเริ่มต้น :: 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) ▶