เซ็นเซอร์สีใช้แสงสะท้อนเพื่อตรวจจับสี ค่าเฉดสี ค่าระดับสีเทา ความสว่าง และความใกล้เคียงของวัตถุ
เซ็นเซอร์สี VEX IQ รวมอยู่ใน VEX IQ Super Kit และสามารถซื้อได้ ที่นี่
คำอธิบายของเซ็นเซอร์สี
เซ็นเซอร์สี VEX IQ มีหลายโหมด ซึ่งช่วยให้สามารถเก็บข้อมูลประเภทต่างๆ จากสภาพแวดล้อมได้ ข้อมูลที่รวบรวมจะได้รับผลกระทบจากสภาพแสงของสภาพแวดล้อมตลอดจนระยะห่างระหว่างเซ็นเซอร์กับวัตถุหรือพื้นผิวที่อ่านค่า
เซ็นเซอร์สีทำงานอย่างไร
Color Sensor สามารถตรวจจับได้ทั้งสีและความใกล้เคียง
การตรวจจับสี
เมื่ออยู่ในโหมดความสว่าง เซ็นเซอร์สีจะถูกใช้เพื่อตรวจจับความเข้มของแสงทั้งหมดในสภาพแวดล้อมของหุ่นยนต์ ยิ่งแสงเข้าถึงเซ็นเซอร์สีในขณะที่ทำงานมาก ค่าเปอร์เซ็นต์ที่ส่งไปยัง Robot Brain ก็จะยิ่งสูงขึ้น
หากเปอร์เซ็นต์ความสว่างที่ตรวจพบต่ำหรือไม่น่าเชื่อถือ คุณสามารถเปิดหลอดไฟของเซ็นเซอร์สีได้หรือสามารถเพิ่มเปอร์เซ็นต์ความสว่างของหลอดไฟได้โดยใช้แสงที่ตั้งไว้ต่อไปนี้เพื่อปิดกั้น:
เซนเซอร์สีสามารถรายงานสีที่เห็นเป็นค่าสีหรือค่าเฉดสีได้
ค่าสีมี 14 สีที่แสดงไว้ซึ่งเซ็นเซอร์สีสามารถตรวจจับได้ สีที่หายไปจากภาพของบล็อก ได้แก่ แดง เขียว น้ำเงิน ขาว และเหลือง
ค่าฮิวค่า Hue ก็เหมือนกับค่าสีแต่เป็นตัวเลข ค่าเฉดสีอยู่ระหว่าง 0 ถึง 360 เช่น องศา ค่าสีที่แสดงไว้ด้านบนมีช่วงค่าเฉดสีที่เทียบเท่ากัน
สิ่งสำคัญในการตรวจจับสีและเฉดสีคือ เซนเซอร์สีมีปริมาณแสงที่เหมาะสมในการตรวจจับสี อย่าลืมทดสอบหรือที่เรียกว่าการปรับเทียบเซ็นเซอร์สีของคุณในระดับแสงที่แตกต่างกันและตั้งค่าหลอดไฟไว้ที่ระดับต่างๆ เพื่อพิจารณาว่าการตั้งค่าใดน่าเชื่อถือที่สุดสำหรับเซ็นเซอร์สีของหุ่นยนต์ของคุณ
การตรวจจับความใกล้ชิด
เซ็นเซอร์สีประกอบด้วยตัวส่งสัญญาณอินฟราเรด ตัวปล่อยอินฟราเรดจะส่องแสงที่มองไม่เห็นแล้วตรวจจับการสะท้อนของมัน หากแสงอินฟราเรดส่วนใหญ่สะท้อนกลับไปยังเซ็นเซอร์ แสงจะบอก Robot Brain ว่ามีวัตถุอยู่ใกล้
การใช้งานทั่วไปของเซนเซอร์สี
เซ็นเซอร์สีถูกนำมาใช้ในการใช้งานเทคโนโลยีหลายอย่างซึ่งการมีสีเฉพาะบนจอแสดงผลหรือผลิตภัณฑ์เป็นสิ่งสำคัญ
การใช้งานทั่วไปบางประการในชีวิตประจำวัน ได้แก่ :
- เครื่องมือปรับเทียบสีจะตรวจสอบว่าหน้าจอดิจิทัลแสดงสีที่ถูกต้องหรือไม่ จากนั้นปรับการตั้งค่าการแสดงผลตามต้องการ เป็นสิ่งสำคัญสำหรับศิลปินกราฟิกและนักออกแบบที่ทำงานเกี่ยวกับสีบนหน้าจอดิจิทัลเพื่อให้สามารถเห็นสีที่ถูกต้องที่แสดงออกมาได้อย่างแม่นยำ ความเข้าใจผิดและการสูญเสียทรัพยากรส่งผลให้สีไม่ถูกต้อง
- กล้องและกล้องวิดีโอใช้เซ็นเซอร์สีเพื่อปรับการตั้งค่าตามสภาพแสง เพื่อปรับปรุงภาพถ่ายและวิดีโอโดยการเพิ่มระดับแสงให้สูงสุด และปรับปรุงสีที่หมองคล้ำ เซ็นเซอร์เหล่านี้ยังช่วยให้ช่างภาพโฟกัสไปที่สีเฉพาะในภาพถ่ายของตนได้
- บางครั้งมีการใช้เซ็นเซอร์สีในการผลิตเพื่อตรวจสอบอย่างรวดเร็วว่าผลิตภัณฑ์มีสีที่ถูกต้องหรือไม่ก่อนที่จะจัดส่งให้กับลูกค้า เช่น ผักและผลไม้ที่เปลี่ยนสีเมื่อสุกหรือพร้อมรับประทานสามารถสแกนเพื่อให้แน่ใจว่ามีสีที่ถูกต้องเพื่อส่งสู่ตลาด
การใช้งานทั่วไปบางอย่างกับ VEX IQ Robot ได้แก่:
- เซ็นเซอร์นี้สามารถใช้เพื่อตรวจจับสีของวัตถุได้
- เซ็นเซอร์นี้สามารถใช้เพื่อตรวจจับและ/หรือติดตามเส้นได้
- เซ็นเซอร์นี้สามารถตรวจจับได้ว่ามีวัตถุอยู่ใกล้หรือไม่
เซ็นเซอร์สีบนหุ่นยนต์แข่งขัน
โปรดจำไว้ว่า สิ่งสำคัญในการตรวจจับสีและเฉดสีคือ เซนเซอร์สีมีปริมาณแสงที่เหมาะสมในการตรวจจับสี อย่าลืมทดสอบหรือที่เรียกว่าการปรับเทียบเซ็นเซอร์สีของคุณทุกครั้งที่คุณมาถึงสถานที่แข่งขันแห่งใหม่ เนื่องจากระดับแสงที่แตกต่างกันอาจส่งผลต่อการทำงานของเซ็นเซอร์สีของคุณได้ ทดสอบโครงการของคุณด้วยชุดหลอดไฟในระดับต่างๆ เพื่อพิจารณาว่าการตั้งค่าใดน่าเชื่อถือที่สุดสำหรับเซ็นเซอร์สีของหุ่นยนต์ของคุณ
ข้อมูลที่รวบรวมโดยเซนเซอร์สีมีประโยชน์สำหรับการเขียนโปรแกรมหุ่นยนต์แข่งขันให้ตอบสนองต่อสภาวะต่างๆ เซ็นเซอร์สีสามารถทำให้หุ่นยนต์แข่งขันดีขึ้นได้ด้วยวิธีต่อไปนี้:
- ช่วยให้หุ่นยนต์ตรวจจับสีของวัตถุใกล้กับเซ็นเซอร์ สิ่งนี้มีประโยชน์ถ้าคุณต้องการให้หุ่นยนต์จัดเรียงวัตถุที่มีสีต่างกัน ขับขึ้นไปบนวัตถุที่มีสีเฉพาะ หรือตรวจจับสีของวัตถุขณะที่พวกมันผ่านเซ็นเซอร์
- ช่วยให้หุ่นยนต์ตรวจจับได้ว่าแสงสะท้อนกลับเข้าสู่เซ็นเซอร์มากน้อยเพียงใด สิ่งนี้ทำให้หุ่นยนต์ของคุณขับเคลื่อนไปจนถึงเส้นบนพื้นผิวหรือแม้กระทั่งตามเส้น
- ช่วยให้หุ่นยนต์รู้ว่าวัตถุหรือพื้นผิวอยู่ใกล้หรือไม่ สิ่งนี้มีประโยชน์ในการพิจารณาว่าสีที่ตรวจพบนั้นเป็นค่าที่อ่านได้จากวัตถุใกล้เคียงหรืออาจเป็นการอ่านค่าพื้นผิวหรือแสงที่อยู่ห่างไกลอย่างผิดปกติ
การเข้ารหัสเซ็นเซอร์สีในบล็อก
บล็อก <Found an object> คือบล็อกผู้รายงานบูลีนที่รายงานเงื่อนไขว่าเป็นจริงหรือเท็จ บล็อกบูลีน เช่น บล็อก <Found an object> จะพอดีกับบล็อกที่มีอินพุตหกเหลี่ยม (หกด้าน) สำหรับบล็อกอื่นๆ
บล็อกบูลีน <Found an object> จะรายงาน 'จริง' หาก 'จริง' หากเซ็นเซอร์สีตรวจพบวัตถุ และ 'เท็จ' หากเซ็นเซอร์ไม่ตรวจพบ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับบล็อกบูลีน โปรดไปที่บทความ Help หรือบทความ Block Shapes and Meaning
ในตัวอย่างนี้ บล็อก <Found an object> ถูกใช้เพื่อตรวจจับความใกล้ชิดพร้อมกับบล็อก [รอจนกระทั่ง] เพื่อให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกระทั่งวัตถุถูกตรวจพบ
บล็อก <Color detects> ยังเป็นบล็อกผู้รายงานบูลีนที่รายงานเงื่อนไขว่าเป็นจริงหรือเท็จ บล็อก <Color detects> จะรายงาน 'จริง' หากเป็น 'จริง' หากเซ็นเซอร์สีตรวจพบสีที่เลือก และ 'เท็จ' หากเซ็นเซอร์ตรวจพบสีอื่น หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับบล็อกบูลีน โปรดไปที่บทความ Help หรือบทความ Block Shapes and Meaning
ในตัวอย่างนี้ บล็อก <Color detects> ถูกใช้พร้อมกับบล็อก [รอจนกระทั่ง] เพื่อทำให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกระทั่งเซ็นเซอร์สีตรวจพบวัตถุสีเขียว หุ่นยนต์จะหยุดการขับขี่ นี่คือตัวอย่างในวิดีโอแรกด้านบน
บล็อก (ความสว่าง) รายงานปริมาณแสงที่เซนเซอร์สีตรวจพบ เป็นบล็อกนักข่าวที่ใช้ภายในบล็อกอื่นที่มีช่องว่างเป็นวงกลม
บล็อก (ความสว่าง) รายงานช่วง 0% ถึง 100%
ในตัวอย่างนี้ บล็อก (ความสว่างของ) ถูกใช้เพื่อให้หุ่นยนต์ตรวจจับและตามเส้น ดังที่แสดงในวิดีโอที่สองด้านบน
บล็อก (เฉดสี) รายงานเฉดสีที่เซนเซอร์สีตรวจพบ เป็นบล็อกนักข่าวที่ใช้ภายในบล็อกอื่นที่มีช่องว่างเป็นวงกลม
บล็อก (ความสว่าง) รายงานช่วง 0 ถึง 360
ในตัวอย่างนี้ บล็อก (Hue of) ถูกใช้เพื่อให้หุ่นยนต์ตรวจสอบช่วงของค่าเฉดสีที่สอดคล้องกับสีแดง และเลี้ยวขวา 90 องศาหากเซ็นเซอร์ตรวจพบค่าเหล่านั้น หากตรวจพบค่าเฉดสีอื่นๆ หุ่นยนต์จะเลี้ยวซ้าย 90 องศา
บล็อก (เฉดสี) จะมีประโยชน์เมื่อจำเป็นสำหรับหุ่นยนต์ในการตรวจจับสีบางสีเมื่อสภาพแสงโดยรอบอาจไม่สอดคล้องกัน
การเข้ารหัสเซ็นเซอร์สีใน Python
หมายเหตุ:หากต้องการเขียนโค้ดสวิตช์กันชน VEX IQ (รุ่นที่ 1) ใน Python จะต้องเชื่อมต่อกับ VEX IQ (รุ่นที่ 2) Brain VEX IQ (รุ่นที่ 1) Brain ไม่รองรับ Python
คำสั่ง color.is_near_object รายงาน True เมื่อเซ็นเซอร์สีตรวจจับวัตถุหรือพื้นผิวใกล้กับด้านหน้าของเซ็นเซอร์ และ False เมื่อเซ็นเซอร์สี ไม่ใช่ ตรวจจับวัตถุหรือพื้นผิวใกล้กับด้านหน้าของเซ็นเซอร์ เซ็นเซอร์
หมายเหตุ:ชื่อของเซนเซอร์สีที่ปรากฏในคำสั่งสอดคล้องกับชื่อที่กำหนดในการกำหนดค่า
ในตัวอย่างนี้ ลูปWhile ที่มีเงื่อนไข ไม่ใช่ ถูกใช้กับคำสั่ง color.is_near_object เพื่อให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกระทั่ง Color Sensor ตรวจพบวัตถุใกล้กับด้านหน้าของ เซ็นเซอร์
คำสั่ง color.color รายงานสีที่เซนเซอร์ สีตรวจพบในปัจจุบัน
ในตัวอย่างนี้ ลูปWhile ที่มีเงื่อนไข ไม่ใช่ ถูกนำมาใช้กับคำสั่ง color.color เพื่อให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกว่าเซ็นเซอร์สีจะตรวจพบวัตถุสีเขียว หุ่นยนต์จะหยุดการขับขี่ นี่คือตัวอย่างในวิดีโอแรกด้านบน
คำสั่ง color.brightness รายงานปริมาณแสงที่เซนเซอร์สีตรวจพบ รายงานช่วงของค่าตั้งแต่ 0% - 100%
ในตัวอย่างนี้ คำสั่ง color.brightness ถูกใช้เพื่อให้หุ่นยนต์ตรวจจับและเดินตามเส้น ดังที่แสดงในวิดีโอที่สองด้านบน
คำสั่ง color.hue รายงานเฉดสีที่เซนเซอร์สีตรวจพบ โดยจะรายงานช่วงของค่าเฉดสีตั้งแต่ 0 ถึง 360
ในตัวอย่างนี้ คำสั่ง color.hue ถูกใช้เพื่อให้หุ่นยนต์ตรวจสอบช่วงของค่าเฉดสีที่สอดคล้องกับสีแดง และเลี้ยวขวา 90 องศา หากเซ็นเซอร์ตรวจพบค่าเหล่านั้น หากตรวจพบค่าเฉดสีอื่นๆ หุ่นยนต์จะเลี้ยวซ้าย 90 องศา
คำสั่ง color.hue จะมีประโยชน์เมื่อจำเป็นสำหรับหุ่นยนต์ในการตรวจจับสีบางสีเมื่อสภาพแสงโดยรอบอาจไม่สอดคล้องกัน