เดินเอง เลี้ยวเอง นักเลงพอ | กิจกรรม Scratch หุ่นเดินตามเส้น checkpoint #4

ภารกิจสำหรับ checkpoint นี้

แก้ไขโปรแกรมจาก checkpoint #3 ให้สามารถเดินตามเส้นได้โดยอัตโนมัติ

เมื่อไข่มุกสัมผัสกับเส้นสีเทา หุ่นยนต์ไม่จำเป็นต้องพูดแล้ว (แต่อาจทำสิ่งอื่นแทน)

ตัวอย่างผลลัพธ์

ตัวอย่างการทำงานของโปรแกรม

https://youtu.be/WXX96Okbizg

hints

  1. คำสั่งที่จำเป็นต้องใช้ ท่านได้เคยเรียนรู้มาหมดแล้ว
  2. อย่าเพิ่งลบคำสั่ง say __ for 1 seconds ออกไป แต่ให้เปลี่ยนตัวเลขระบุห้วงเวลาเป็นตัวเลขที่น้อยลงแทน เช่น 0.1 หรือ 0.05 seconds จะได้ทดสอบโปรแกรมได้ทันใจมากขึ้น ในขณะที่ยังเห็นคำพูดที่อาจช่วยบ่งบอกสถานะของโปรแกรม
  3. ลองคิดดูว่าใน checkpoint #3 เมื่อหุ่นพูดว่า “มือซ้ายชนเส้น” ท่านต้องกดปุ่มเลี้ยวซ้ายหรือเลี้ยวขวา? ดังนั้นถ้าจะเขียนโค้ดสั่งให้หุ่นเลี้ยวจะต้องใช้คำสั่งใด?
  4. เมื่อได้ผลตามที่ต้องการแล้ว จะลบคำสั่ง say ทิ้งไปก็ได้

ปัญหาที่มักพบ

ถ้าผลลัพธ์ไม่เป็นไปตามคาด ให้ลองทำสิ่งต่อไปนี้

  1. คิดถึงสาเหตุ และจินตนาการดูว่าคำสั่งเลี้ยวซ้าย ขวา อยู่ในที่ที่ควรอยู่หรือไม่
  2. ถ้ามั่นใจว่าเลี้ยวถูกแล้ว แต่หุ่นหลุดออกนอกเส้นอยู่ดี ให้ลองปรับมุมการเลี้ยวให้น้อยลงเป็นสัก 5 องศา
  3. หรือบางกรณีอาจต้องปรับมุมให้มากขึ้น เช่น 15 องศา (ไม่มีสูตรตายตัวเพราะหุ่นและเส้นของแต่ละคนมีขนาดไม่เท่ากัน)
  4. ลองปรับขนาดของหุ่นให้เล็กลงหรือใหญ่ขึ้น หุ่นควรจะคร่อมเส้นได้โดยมีพื้นที่ระหว่างไข่มุกสองเม็ดเล็กน้อย แต่หุ่นไม่ควรจะใหญ่เกินไปจนคับเส้นทางและชนเส้นสองส่วนพร้อมกัน
  5. ลองปรับเส้นให้มีมุมเลี้ยวที่ลดลง แล้วค่อยแก้ให้ซับซ้อนขึ้น
  6. ปรับความเร็วของหุ่นยนต์ให้ช้าลง ในคำสั่ง move ___ steps (ควรเริ่มจากเลข 1 หรือ 2 ก่อนทดลองเลขอื่น)

ชวนคิด

  1. มุมการเลี้ยวมีผลต่อการเดินของหุ่นอย่างไร? ลองปรับให้ต่ำลงและสูงขึ้นแล้วสังเกตผลลัพธ์
  2. ลองปรับหุ่นให้เดินเร็วขึ้นมากๆ แล้วสังเกตสิ่งที่เกิดขึ้น
  3. ลองปรับเส้นทางเดินให้ซับซ้อนขึ้น หรือลองเพิ่มทางแยก คาดเดาการเดินของหุ่นก่อนรันโปรแกรมจริง

เฉลย

วิดีโอลับ [vid90 เฉลย | checkpoint 4 | หุ่นยนต์เดินตามเส้น | Scratch activity]