เซ็นเซอร์สีใช้แสงสะท้อนเพื่อตรวจจับสี ค่าเฉดสี ค่าระดับสีเทา ความสว่าง และความใกล้เคียงของวัตถุ
เซ็นเซอร์สี VEX IQ รวมอยู่ในชุด VEX IQ Super Kit และสามารถซื้อได้ที่
ใช้หุ่นยนต์ VEX IQ รุ่นที่ 2 ใช่หรือไม่? ดูภาพรวมของเซ็นเซอร์รุ่นที่ 2 ได้ที่นี่และข้อมูลเกี่ยวกับเซ็นเซอร์ออปติคอลเป็นเซ็นเซอร์สีรุ่นที่ 2
คำอธิบายของเซ็นเซอร์สี
เซ็นเซอร์สี VEX IQ มีโหมดการทำงานหลายโหมด ซึ่งช่วยให้สามารถเก็บข้อมูลประเภทต่างๆ จากสภาพแวดล้อมได้ ข้อมูลที่อุปกรณ์รวบรวมได้นั้นได้รับผลกระทบจากสภาพแสงในสภาพแวดล้อม รวมถึงระยะห่างระหว่างเซ็นเซอร์กับวัตถุหรือพื้นผิวที่กำลังอ่านค่า
เซ็นเซอร์สีทำงานอย่างไร
เซ็นเซอร์สีสามารถตรวจจับได้ทั้งสีและระยะใกล้
การตรวจจับสี
เมื่ออยู่ในโหมดความสว่าง เซ็นเซอร์สีจะถูกใช้เพื่อตรวจจับความเข้มของแสงทั้งหมดในสภาพแวดล้อมของหุ่นยนต์ ยิ่งแสงเข้าถึงเซ็นเซอร์สีในขณะที่ทำงานมาก ค่าเปอร์เซ็นต์ที่ส่งไปยัง Robot Brain ก็จะยิ่งสูงขึ้น
หากเปอร์เซ็นต์ความสว่างที่ตรวจพบต่ำหรือไม่น่าเชื่อถือ คุณสามารถเปิดหลอดไฟของเซ็นเซอร์สีได้หรือสามารถเพิ่มเปอร์เซ็นต์ความสว่างของหลอดไฟได้โดยใช้แสงที่ตั้งไว้ต่อไปนี้เพื่อปิดกั้น:
เซนเซอร์สีสามารถรายงานสีที่เห็นเป็นค่าสีหรือค่าเฉดสีได้
ค่าสีมี 14 สีที่แสดงไว้ซึ่งเซ็นเซอร์สีสามารถตรวจจับได้ สีที่หายไปจากภาพของบล็อก ได้แก่ แดง เขียว น้ำเงิน ขาว และเหลือง
ค่าเฉดสีค่าเฉดสีคล้ายกับค่าสี แต่เป็นตัวเลข ค่าเฉดสีอยู่ระหว่าง 0 ถึง 360 เช่น องศา ค่าสีที่แสดงไว้ด้านบนมีช่วงค่าเฉดสีที่เทียบเท่ากัน
ในการตรวจจับสีและเฉดสี เซ็นเซอร์สีจำเป็นต้องได้รับแสงในปริมาณที่เหมาะสม อย่าลืมทดสอบหรือปรับเทียบเซ็นเซอร์สีของคุณในระดับแสงที่แตกต่างกัน และปรับระดับแสงของหลอดไฟในระดับต่างๆ เพื่อหาสภาพการใช้งานที่เชื่อถือได้มากที่สุดสำหรับเซ็นเซอร์สีของหุ่นยนต์ของคุณ
การตรวจจับความใกล้ชิด
เซ็นเซอร์สีประกอบด้วยตัวส่งสัญญาณเซ็นเซอร์อินฟราเรด ตัวส่งสัญญาณอินฟราเรดจะปล่อยแสงที่มองไม่เห็นออกมา จากนั้นจะตรวจจับแสงสะท้อนนั้น หากแสงอินฟราเรดส่วนใหญ่สะท้อนกลับไปยังเซ็นเซอร์ มันจะบอกให้สมองหุ่นยนต์รู้ว่ามีวัตถุอยู่ใกล้
การใช้งานทั่วไปของเซนเซอร์สี
เซ็นเซอร์สีถูกนำไปใช้ในแอปพลิเคชันทางเทคโนโลยีมากมาย ซึ่งการแสดงสีที่เฉพาะเจาะจงบนหน้าจอหรือผลิตภัณฑ์มีความสำคัญ
ตัวอย่างการใช้งานทั่วไปในชีวิตประจำวัน ได้แก่:
- เครื่องมือปรับเทียบสีจะตรวจสอบว่าหน้าจอดิจิทัลแสดงสีที่ถูกต้องหรือไม่ จากนั้นปรับการตั้งค่าการแสดงผลตามต้องการ เป็นสิ่งสำคัญสำหรับศิลปินกราฟิกและนักออกแบบที่ทำงานเกี่ยวกับสีบนหน้าจอดิจิทัลเพื่อให้สามารถเห็นสีที่ถูกต้องที่แสดงออกมาได้อย่างแม่นยำ ความเข้าใจผิดและการสูญเสียทรัพยากรส่งผลให้สีไม่ถูกต้อง
- กล้องและกล้องวิดีโอใช้เซ็นเซอร์สีเพื่อปรับการตั้งค่าตามสภาพแสง เพื่อปรับปรุงภาพถ่ายและวิดีโอโดยการเพิ่มระดับแสงให้สูงสุด และปรับปรุงสีที่หมองคล้ำ เซ็นเซอร์เหล่านี้ยังช่วยให้ช่างภาพโฟกัสไปที่สีเฉพาะในภาพถ่ายของตนได้
- บางครั้งมีการใช้เซ็นเซอร์สีในการผลิตเพื่อตรวจสอบอย่างรวดเร็วว่าผลิตภัณฑ์มีสีที่ถูกต้องหรือไม่ก่อนที่จะจัดส่งให้กับลูกค้า เช่น ผักและผลไม้ที่เปลี่ยนสีเมื่อสุกหรือพร้อมรับประทานสามารถสแกนเพื่อให้แน่ใจว่ามีสีที่ถูกต้องเพื่อส่งสู่ตลาด
การใช้งานทั่วไปบางอย่างของหุ่นยนต์ VEX IQ ได้แก่:
- เซ็นเซอร์นี้สามารถใช้เพื่อตรวจจับสีของวัตถุได้ ดูแอนิเมชันนี้เพื่อดูหุ่นยนต์ขับไปข้างหน้าจนกระทั่งเซ็นเซอร์สีตรวจพบลูกบาศก์สีเขียว
- เซ็นเซอร์นี้สามารถใช้เพื่อตรวจจับและ/หรือติดตามเส้นได้ ดูแอนิเมชันนี้เพื่อดูหุ่นยนต์ที่ใช้เซ็นเซอร์สีเพื่อขับไปตามเส้นที่ทำเครื่องหมายไว้
- เซ็นเซอร์นี้สามารถตรวจจับได้ว่ามีวัตถุอยู่ใกล้หรือไม่
เซ็นเซอร์สีบนหุ่นยนต์แข่งขัน
โปรดจำไว้ว่า สิ่งสำคัญในการตรวจจับสีและเฉดสีคือ เซ็นเซอร์สีต้องได้รับแสงในปริมาณที่เหมาะสม อย่าลืมทดสอบหรือปรับเทียบเซ็นเซอร์สีของคุณทุกครั้งที่ไปถึงสถานที่แข่งขันแห่งใหม่ เพราะระดับแสงที่แตกต่างกันอาจส่งผลต่อประสิทธิภาพการทำงานของเซ็นเซอร์สีของคุณ ทดสอบโปรเจ็กต์ของคุณโดยปรับระดับแสงให้แตกต่างกัน เพื่อหาว่าการตั้งค่าใดให้ผลลัพธ์ที่เชื่อถือได้มากที่สุดสำหรับเซ็นเซอร์สีของหุ่นยนต์ของคุณ
ข้อมูลที่รวบรวมได้จากเซ็นเซอร์สีมีประโยชน์สำหรับการตั้งโปรแกรมหุ่นยนต์แข่งขันให้ตอบสนองต่อสภาวะต่างๆ ได้ เซ็นเซอร์สีสามารถเพิ่มประสิทธิภาพให้กับหุ่นยนต์แข่งขันได้ในหลายด้านดังนี้:
- ช่วยให้หุ่นยนต์ตรวจจับสีของวัตถุใกล้กับเซ็นเซอร์ สิ่งนี้มีประโยชน์ถ้าคุณต้องการให้หุ่นยนต์จัดเรียงวัตถุที่มีสีต่างกัน ขับขึ้นไปบนวัตถุที่มีสีเฉพาะ หรือตรวจจับสีของวัตถุขณะที่พวกมันผ่านเซ็นเซอร์
- ช่วยให้หุ่นยนต์ตรวจจับได้ว่าแสงสะท้อนกลับเข้าสู่เซ็นเซอร์มากน้อยเพียงใด สิ่งนี้ทำให้หุ่นยนต์ของคุณขับเคลื่อนไปจนถึงเส้นบนพื้นผิวหรือแม้กระทั่งตามเส้น
- ช่วยให้หุ่นยนต์รู้ว่าวัตถุหรือพื้นผิวอยู่ใกล้หรือไม่ สิ่งนี้มีประโยชน์ในการพิจารณาว่าสีที่ตรวจพบนั้นเป็นค่าที่อ่านได้จากวัตถุใกล้เคียงหรืออาจเป็นการอ่านค่าพื้นผิวหรือแสงที่อยู่ห่างไกลอย่างผิดปกติ
การเข้ารหัสเซ็นเซอร์สีในบล็อก
บล็อก <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) ชิปประมวลผล VEX IQ (รุ่นที่ 1) ไม่รองรับภาษา Python
color_3.is_near_object()คำสั่ง color.is_near_object รายงาน True เมื่อเซ็นเซอร์สีตรวจจับวัตถุหรือพื้นผิวใกล้กับด้านหน้าของเซ็นเซอร์ และ False เมื่อเซ็นเซอร์สี ไม่ใช่ ตรวจจับวัตถุหรือพื้นผิวใกล้กับด้านหน้าของเซ็นเซอร์ เซ็นเซอร์
หมายเหตุ:ชื่อของเซนเซอร์สีที่ปรากฏในคำสั่งสอดคล้องกับชื่อที่กำหนดในการกำหนดค่า
|
| ในตัวอย่างนี้ ลู Whileมีเงื่อนไข not จะถูกใช้ร่วมกับคำสั่ง color.is_near_object เพื่อให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกว่าเซ็นเซอร์สีจะตรวจพบวัตถุ ใกล้ด้านหน้าของเซ็นเซอร์ |
สี_3.สี()คำสั่ง color.color จะรายงานสีที่เซ็นเซอร์สีตรวจจับได้ในปัจจุบัน
|
| ในตัวอย่างนี้ ลู Whileมีเงื่อนไข not จะถูกใช้ ให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าจนกว่าเซ็นเซอร์สีจะตรวจพบวัตถุสีเขียว จากนั้นหุ่นยนต์จะหยุดขับเคลื่อน ตัวอย่างนี้แสดงให้เห็นได้ในวิดีโอแรกด้านบน |
ความสว่างสี_3()คำสั่ง color.brightness จะรายงานปริมาณแสงที่ตรวจจับได้โดยเซ็นเซอร์สี รายงานนี้แสดงค่าเป็นช่วงตั้งแต่ 0% ถึง 100%
|
| ในตัวอย่างนี้ คำสั่ง color.brightness ถูกใช้เพื่อให้หุ่นยนต์ตรวจจับและเดินตามเส้น ดังที่แสดงในวิดีโอที่สองด้านบน |
สี_3.เฉดสี()คำสั่ง color.hue รายงานเฉดสีที่เซนเซอร์สีตรวจพบ โดยจะรายงานช่วงของค่าเฉดสีตั้งแต่ 0 ถึง 360
|
|
ในตัวอย่างนี้ คำสั่ง color.hue ถูกใช้เพื่อให้หุ่นยนต์ตรวจสอบช่วงของค่าเฉดสีที่สอดคล้องกับสีแดง และเลี้ยวขวา 90 องศา หากเซ็นเซอร์ตรวจพบค่าเหล่านั้น หากตรวจพบค่าเฉดสีอื่นๆ หุ่นยนต์จะเลี้ยวซ้าย 90 องศา คำสั่ง color.hue จะมีประโยชน์เมื่อจำเป็นสำหรับหุ่นยนต์ในการตรวจจับสีบางสีเมื่อสภาพแสงโดยรอบอาจไม่สอดคล้องกัน |