ตัวควบคุมและลูป
ตัวควบคุมและลูป
ในการแข่งขันทีมจะใช้ตัวควบคุมเพื่อควบคุมหุ่นยนต์แบบไร้สาย ตัวควบคุมถูกตั้งโปรแกรมให้อัปเดตหุ่นยนต์ตามอินพุตจากผู้ใช้ ลูปถูกใช้ในโครงการเพื่อให้หุ่นยนต์ตรวจสอบข้อมูลอินพุตที่อัปเดตซ้ำๆ ลูปช่วยให้โครงการสามารถตรวจสอบได้อย่างรวดเร็วว่ามีการกดปุ่มใดหรือกดจอยสติ๊กไกลแค่ไหน เมื่อตรวจสอบแล้วข้อมูลนี้จะถูกส่งต่อไปยังหุ่นยนต์อย่างรวดเร็วเพื่อให้ตอบสนองต่อคำสั่งของตัวควบคุมได้อย่างรวดเร็ว
ภาพด้านบนแสดงโครงการตัวอย่าง Clawbot Control จาก VEXcode IQ ห่วงตลอดไปในโครงการนี้จะตรวจสอบตำแหน่งของแกน A และ D ตลอดไปเพื่อตั้งค่าความเร็วของมอเตอร์
ลูปมีความสำคัญแม้สำหรับการเขียนโปรแกรมอัตโนมัติโดยไม่มีตัวควบคุม ลูปช่วยลดความซับซ้อนและจัดระเบียบคำสั่งซ้ำๆภายในโครงการ
สร้างแรงจูงใจในการอภิปราย - พฤติกรรมการ วนซ้ำ
ทบทวนเกมการแข่งขัน vex IQ กับนักเรียนในปีนี้โดยคลิกที่ลิง ก์นี้ หรือพูดคุยเกี่ยวกับเกมในปีก่อนๆดังต่อไปนี้
ถาม: พฤติกรรม ใดที่หุ่นยนต์มีแนวโน้มที่จะทำซ้ำในระหว่างการแข่งขัน
ตอบ: นักเรียนมีแนวโน้มที่จะตอบสนองทันทีด้วยการเคลื่อนไหวแต่โครงการมีแนวโน้มที่จะใช้ลูปสำหรับการเคลื่อนไหวน้อยกว่าการใช้ลูปสำหรับการตรวจสอบเซ็นเซอร์
ถาม: คุณ จะทำให้พฤติกรรมซ้ำๆเหล่านี้เป็นวังวนได้อย่างไร?
ตอบ: ไม่ว่าพฤติกรรมจะทำซ้ำการลากบล็อกภายในลูปเป็นขั้นตอนที่จำเป็น นักเรียนต้องสบายใจที่จะทำบล็อกซ้อนด้านในของบล็อกห่วง
ถาม: ถามนักเรียนว่าบล็อกใดใน VEXcode IQ ที่จะช่วยให้พวกเขาตั้งโปรแกรมให้หุ่นยนต์ทำงานหลังจากกดปุ่มตัวควบคุมเพียงปุ่มเดียว นอกจากนี้ให้ถามว่าบล็อกนั้นเป็นส่วนหนึ่งของกลุ่มใด
ตอบ: บล็อก นั้นเรียกว่าบล็อกปุ่มตัวควบคุมเมื่อใดและอยู่ภายใต้บล็อกเหตุการณ์ใน VEXcode IQ
ขยายการเรียนรู้ของคุณ - การ ทบทวนโครงการตัวอย่าง
หากต้องการขยายกิจกรรมนี้ขอให้นักเรียนสำรวจความแตกต่างระหว่างการควบคุมอาร์เคดและการควบคุมรถถัง นักเรียนสามารถทำตามโครงการตัวอย่างที่พบใน VEXcode IQ มีสี่โครงการตัวอย่าง: อาร์เคดซ้ายอาร์เคดขวาอาร์เคดแยกและไดรฟ์รถถัง
อภิปรายว่าลูปภายในโปรแกรมทำงานอย่างไรรวมถึงข้อดีและข้อเสียของการควบคุมแต่ละประเภท
หากต้องการเชื่อมโยงกิจกรรมนี้กับคณิตศาสตร์ให้ใช้โครงการอาร์เคดซ้าย/ขวา (หนึ่งจอยสติ๊ก) และโครงการอาร์เคด/รถถังแยก (ทั้งสองจอยสติ๊ก) ด้านบนเพื่อหารือเกี่ยวกับบทบาทของแกน X และ Y ภายในโครงการ การอ่านค่าของตำแหน่งแกน X จับการเคลื่อนไหวซ้าย - ขวาในแนวนอนของจอยสติ๊กในขณะที่การอ่านค่าจากตำแหน่งแกน Y จับการเคลื่อนไหวขึ้น - ลงในแนวตั้งของจอยสติ๊ก