บทที่ 4: การเข้ารหัสเซนเซอร์วัตถุ
ในบทเรียนที่แล้ว คุณจะได้เรียนรู้เกี่ยวกับเซนเซอร์วัตถุและรวบรวมเปอร์เซ็นต์การสะท้อนแสงของดิสก์และลูกบาศก์ ขณะนี้คุณจะใช้ค่าเหล่านั้นเพื่อสร้างโปรเจ็กต์ใน VEXcode เพื่อหยุด Exit Conveyor เมื่อ Object Sensor ตรวจพบดิสก์
ในบทเรียนนี้ คุณจะ:
- กำหนดค่าเซ็นเซอร์วัตถุใน VEXcode
- เรียนรู้วิธีใช้ตัวดำเนินการเปรียบเทียบใน VEXcode
- สร้างโครงการเพื่อย้ายดิสก์จากสายพานลำเลียงเข้าไปยังสายพานลำเลียงออกโดยใช้ข้อเสนอแนะจากเซ็นเซอร์วัตถุ
เมื่อสิ้นสุดบทเรียนนี้ คุณจะสร้างโปรเจ็กต์ต่อจากบทเรียนก่อนหน้าเพื่อหยุดสายพานลำเลียงทางออกเมื่อเซ็นเซอร์วัตถุตรวจพบดิสก์

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

กำหนดค่า Object Sensor ใน VEXcode โดยเปิดหน้าต่างอุปกรณ์และเลือกเพิ่มอุปกรณ์

เลือก 3 สายเพื่อเปิดรายการอุปกรณ์ 3 สาย

จากนั้นเลือก เซนเซอร์วัตถุ

เลือกพอร์ต Aจากนั้นเลือกเสร็จสิ้นเพื่อสิ้นสุดการกำหนดค่า
หมายเหตุ:ตรวจสอบให้แน่ใจว่าเซนเซอร์วัตถุเสียบอยู่ที่พอร์ต A บนสมอง

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

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

เพิ่มบล็อก Reflectivityในช่องเปิดแรกของบล็อกที่มากกว่า

บล็อกที่มากกว่าจะเปรียบเทียบค่าแรกกับค่าที่สอง ขณะนี้บล็อก ที่มากกว่าในโครงการกำลังเปรียบเทียบเปอร์เซ็นต์การสะท้อนแสงที่รายงานโดย Object Sensor กับพารามิเตอร์ '50' ก่อนที่จะประกาศค่าบูลีนเป็นTrueหรือFalse

ลองคิดดูถึงเป้าหมายของโครงการนี้ สายพานลำเลียงทางออกจะต้องหมุนจนกว่าเซ็นเซอร์วัตถุจะตรวจพบวัตถุ จากนั้นสายพานลำเลียงจะต้องหยุด ค่าที่รวบรวมไว้ในบทเรียนก่อนหน้าสามารถนำมาใช้กับบล็อกมากกว่านี้ เพื่อกำหนดเกณฑ์ที่ต้องเกินก่อนที่โครงการจะย้ายไปยังบล็อกถัดไปในสแต็ก
เปลี่ยนพารามิเตอร์ที่สองของบล็อกที่มากกว่าเป็น '9'
ตัวเลขนี้ขึ้นอยู่กับค่าที่เก็บรวบรวมไว้ในกิจกรรมบทเรียนก่อนหน้านี้ ค่าการสะท้อนแสงรายงานเป็น 10% เมื่อดิสก์สีเขียวอยู่ใต้เซ็นเซอร์วัตถุ ดังนั้นค่าใดๆ ก็ตามที่ มากกว่า9% ควรรายงานเป็นจริง

เพิ่มบล็อกStopลงที่ส่วนท้ายของโครงการ ตรวจสอบให้แน่ใจว่าพารามิเตอร์ถูกตั้งค่าเป็น 'ExitConveyor4'

ตรวจสอบให้แน่ใจว่า Brain เชื่อมต่อกับ VEXcode แล้วและดาวน์โหลดโครงการ

อ่านโค้ดและคาดการณ์ว่าสายพานลำเลียงจะทำงานอย่างไรเมื่อดำเนินโครงการ
บันทึกการคาดการณ์ของคุณลงในสมุดบันทึกวิศวกรรมของคุณ

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

กดปุ่ม X บน Brain เพื่อหยุดโครงการเมื่อสายพานลำเลียงเคลื่อนที่เสร็จสิ้น บันทึกการสังเกตของคุณลงในสมุดบันทึกวิศวกรรมของคุณ
สายพานลำเลียงเคลื่อนที่ไปตามที่คุณคาดการณ์ไว้หรือไม่? ดิสก์สีเขียวได้ถูกย้ายไปยัง Exit Conveyor ตามที่ต้องการแล้วหรือยัง? ทำไมหรือทำไมไม่?

การทบทวนโครงการ
มาทบทวนขั้นตอนของโครงการนี้ที่หยุด Exit Conveyor เมื่อ Object Sensor ตรวจพบดิสก์สีเขียว การรอจนกว่าบล็อกที่จะหยุดโครงการไม่ให้เดินหน้าต่อไปจนกว่าจะมีการรายงานเงื่อนไขภายในว่าเป็น TRUE

เนื่องจากบล็อกSpinเป็นบล็อกที่ไม่รอ จึงทำให้ CTE Workcell สามารถหมุนมอเตอร์สายพานลำเลียงต่อไปได้ในขณะที่ตรวจสอบค่าจาก Object Sensor และสภาวะของการสะท้อนแสงที่มากกว่า 9% หลังจากเงื่อนไขในบล็อกรอจนกว่าจะรายงานว่าเป็นTRUE โปรเจ็กต์จะย้ายไปยังบล็อกถัดไปในสแต็ก โดยหยุดมอเตอร์ Exit Conveyor
เพื่อเป็นข้อมูลของคุณ
สามารถใช้ชุดบล็อกอื่นๆ ร่วมกันในโครงการเพื่อหยุด Exit Conveyor เมื่อมีวัตถุอยู่ใต้เซ็นเซอร์วัตถุ สามารถใช้บล็อกเกณฑ์การตรวจจับชุดในตอนเริ่มต้นของโครงการเพื่อตั้งค่าเกณฑ์ เช่นเดียวกับบล็อกชุดที่มากกว่าในโครงการที่สร้างขึ้นด้านบน

เมื่อกำหนดเกณฑ์แล้ว สามารถใช้บล็อกบูลีนตรวจจับวัตถุในบล็อกใดๆ ที่มีช่องว่างหกเหลี่ยมได้ บล็อกนี้จะรายงานว่าเป็น TRUE เมื่อเกณฑ์การตรวจจับที่กำหนดโดยบล็อกตั้งค่าเกณฑ์การตรวจจับสำเร็จ หรือเป็น FALSE เมื่อเปอร์เซ็นต์การสะท้อนแสงต่ำกว่าเกณฑ์ดังกล่าว

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

ตรวจสอบความเข้าใจของคุณ
ก่อนจะไปยังบทเรียนถัดไป ให้แน่ใจว่าคุณเข้าใจแนวคิดในบทเรียนนี้แล้วโดยตอบคำถามต่อไปนี้ในสมุดบันทึกวิศวกรรมของคุณ
ตรวจสอบคำถามความเข้าใจของคุณ > (Google Doc / .docx / .pdf )
เลือก ถัดไป > เพื่อดำเนินการต่อไปยังกิจกรรมการรวบรวมทุกอย่างเข้าด้วยกัน