รู้เบื้องต้นเกี่ยวกับเซ็นเซอร์สี RGB TCS3200

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





TCS3200 เป็นชิปแปลงแสงเป็นความถี่สีซึ่งสามารถตั้งโปรแกรมผ่านไมโครคอนโทรลเลอร์ โมดูลนี้สามารถใช้สำหรับตรวจจับแสงสีขาวทั้ง 7 สีโดยใช้ไมโครคอนโทรลเลอร์ในตัวเช่น Arduino

ในโพสต์นี้เราจะมาดูเซ็นเซอร์สี RGB TCS3200 เราจะเข้าใจว่าเซ็นเซอร์สีทำงานอย่างไรและเราจะทดสอบเซ็นเซอร์ TCS3200 กับ Arduino และดึงข้อมูลที่เป็นประโยชน์ออกมา



ความสำคัญของการจดจำสี

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

แต่ที่เราเห็นมากกว่าสีแดงสีน้ำเงินและสีเขียวนั่นเป็นเพราะสมองของเราสามารถผสมสีตั้งแต่สองสีขึ้นไปและได้สีใหม่ออกมา



ความสามารถในการมองเห็นสีที่แตกต่างกันช่วยให้อารยธรรมมนุษย์โบราณรอดพ้นจากอันตรายที่คุกคามถึงชีวิตเช่นสัตว์และยังช่วยระบุสิ่งของที่กินได้เช่นผลไม้เมื่อเจริญเติบโตที่เหมาะสมซึ่งจะเป็นที่พอใจที่จะบริโภค

ผู้หญิงจะจดจำเฉดสีที่แตกต่างกันได้ดีกว่าผู้ชาย แต่ผู้ชายจะติดตามวัตถุที่เคลื่อนไหวเร็วและตอบสนองได้ดีกว่า

งานวิจัยหลายชิ้นชี้ให้เห็นว่าเป็นเพราะในสมัยโบราณผู้ชายออกล่าสัตว์เพราะความแข็งแกร่งทางร่างกายที่เหนือกว่าผู้หญิง

ผู้หญิงได้รับเกียรติจากงานที่มีความเสี่ยงน้อยเช่นการเก็บผลไม้และของกินอื่น ๆ จากพืชและต้นไม้

การรวบรวมสิ่งของที่กินได้จากพืชในช่วงการเจริญเติบโตที่เหมาะสม (สีของผลไม้มีบทบาทอย่างมาก) เป็นสิ่งสำคัญมากสำหรับการย่อยอาหารที่ดีซึ่งช่วยมนุษย์จากปัญหาสุขภาพที่อ่าว

ความแตกต่างของความสามารถในการมองเห็นในผู้ชายและผู้หญิงยังคงมีอยู่แม้ในยุคปัจจุบัน

เอาล่ะทำไมคำอธิบายข้างต้นสำหรับเซ็นเซอร์สีอิเล็กทรอนิกส์? เนื่องจากเซ็นเซอร์สีถูกสร้างขึ้นโดยอิงจากแบบจำลองสีของดวงตามนุษย์ไม่ใช่แบบจำลองสีตาของสัตว์อื่น

ตัวอย่างเช่นกล้องคู่ในสมาร์ทโฟนกล้องตัวใดตัวหนึ่งผลิตขึ้นโดยเฉพาะสำหรับการจดจำสี RGB และกล้องอื่น ๆ สำหรับการถ่ายภาพปกติ การผสมผสานภาพ / ข้อมูลทั้งสองนี้เข้ากับอัลกอริธึมที่รอบคอบจะทำให้เกิดสีที่ถูกต้องของวัตถุจริงบนหน้าจอซึ่งมนุษย์เท่านั้นที่สามารถรับรู้ได้

หมายเหตุ: กล้องคู่บางตัวไม่ทำงานในลักษณะเดียวกับที่กล่าวไว้ข้างต้นบางตัวใช้สำหรับการซูมออปติคอลบางตัวใช้สำหรับสร้างเอฟเฟกต์ฟิลด์เชิงลึกเป็นต้น

ตอนนี้เรามาดูกันว่าเซ็นเซอร์สี TCS3200 ถูกสร้างขึ้นอย่างไร

ภาพประกอบของเซ็นเซอร์ TCS3200:

เซ็นเซอร์ TCS3200

มีไฟ LED สีขาวในตัว 4 ดวงสำหรับส่องสว่างวัตถุ มี 10 พินสองพิน Vcc และ GND (ใช้สองตัวนี้) ฟังก์ชั่นของ S0, S1, S2, S3, S4 และพิน 'out' จะได้รับการอธิบายในไม่ช้า

หากตรวจสอบเซ็นเซอร์อย่างใกล้ชิดเราจะเห็นบางอย่างดังภาพประกอบด้านล่าง:

มีเซ็นเซอร์สี 8 x 8 อาร์เรย์รวมทั้งหมด 64 ตัวบล็อกเซ็นเซอร์ภาพถ่ายมีเซ็นเซอร์สีแดงสีน้ำเงินและสีเขียว เซ็นเซอร์สีที่แตกต่างกันเกิดขึ้นจากการใช้ฟิลเตอร์สีที่ต่างกันบนเซ็นเซอร์ จาก 64 ตัวมีเซ็นเซอร์สีน้ำเงิน 16 ตัวสีเขียว 16 ตัวสีแดง 16 ตัวและเซ็นเซอร์ภาพ 16 ตัวที่ไม่มีฟิลเตอร์สีใด ๆ

ฟิลเตอร์สีฟ้าจะอนุญาตให้เฉพาะแสงสีฟ้าเท่านั้นที่มากระทบเซ็นเซอร์และปฏิเสธส่วนที่เหลือของความยาวคลื่น (สี) ซึ่งจะเหมือนกันสำหรับเซ็นเซอร์สองสีอื่น ๆ

หากคุณส่องแสงสีน้ำเงินบนฟิลเตอร์สีแดงหรือฟิลเตอร์สีเขียวแสงที่มีความเข้มน้อยกว่าจะผ่านฟิลเตอร์สีเขียวหรือสีแดงเมื่อเทียบกับฟิลเตอร์สีน้ำเงิน ดังนั้นเซ็นเซอร์กรองแสงสีน้ำเงินจะได้รับแสงมากกว่าเมื่อเทียบกับอีกสองตัว

ดังนั้นเราสามารถใส่เซ็นเซอร์สีที่มีฟิลเตอร์ RGB ไว้ในบล็อกและส่องแสงสีใดก็ได้และเซ็นเซอร์สีที่เกี่ยวข้องจะได้รับแสงมากกว่าอีกสองตัว

โดยการวัดความเข้มของแสงที่ได้รับที่เซ็นเซอร์สามารถเปิดเผยสีของแสงที่ส่องออกมา

ในการเชื่อมต่อสัญญาณจากเซ็นเซอร์ไปยังไมโครคอนโทรลเลอร์จะทำด้วยความเข้มของแสงเป็นตัวแปลงความถี่

แผนภาพวงจร

พิน“ out” คือเอาต์พุต ความถี่ของขาออกคือรอบการทำงาน 50% ขา S2 และ S3 เป็นเส้นเลือกสำหรับโฟโต้เซนเซอร์

คุณเข้าใจดีขึ้นโดยดูตาราง:

ขา S2 และ S3 เป็นเส้นเลือกสำหรับโฟโต้เซนเซอร์

การใช้สัญญาณต่ำกับพิน S2 และ S3 จะเลือกเซ็นเซอร์สีแดงและวัดความเข้มของความยาวคลื่นสีแดง

ในทำนองเดียวกันให้ทำตามตารางด้านบนสำหรับสีที่เหลือ

โดยทั่วไปเซ็นเซอร์สีแดงสีน้ำเงินและสีเขียวจะถูกวัดโดยปล่อยให้เซ็นเซอร์หนึ่งตัวไม่มีตัวกรอง

S0 และ S1 เป็นหมุดปรับความถี่:

S0 และ S1 คือหมุดปรับความถี่

S0 และ S1 เป็นหมุดปรับความถี่เพื่อปรับขนาดความถี่เอาต์พุต การปรับความถี่ใช้เพื่อเลือกความถี่เอาต์พุตที่เหมาะสมจากเซ็นเซอร์ไปยังไมโครคอนโทรลเลอร์ ในกรณีของ Arduino 20% แนะนำให้ใช้ S0 'HIGH' และ S1 'LOW'

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

ดังนั้นสิ่งที่อ่านบนจอมอนิเตอร์แบบอนุกรมจะแสดงให้เห็นอย่างน้อยที่สุดว่าจะต้องเป็นสีที่อยู่ด้านหน้าเซ็นเซอร์

การดึงข้อมูลจากเซ็นเซอร์สี

ตอนนี้มาลองใช้จริงและดึงข้อมูลจากเซ็นเซอร์:

วิธีดึงข้อมูลจากเซ็นเซอร์สีโดยใช้วงจร Arduino

รหัสโปรแกรม:

//--------------Program Developed by R.GIRISH--------------//
const int s0 = 4
const int s1 = 5
const int s2 = 6
const int s3 = 7
const int out = 8
int frequency1 = 0
int frequency2 = 0
int frequency3 = 0
int state = LOW
int state1 = LOW
int state2 = HIGH
void setup()
{
Serial.begin(9600)
pinMode(s0, OUTPUT)
pinMode(s1, OUTPUT)
pinMode(s2, OUTPUT)
pinMode(s3, OUTPUT)
pinMode(out, INPUT)
//----Scaling Frequency 20%-----//
digitalWrite(s0, state2)
digitalWrite(s1, state1)
//-----------------------------//
}
void loop()
')
delay(100)
//------Sensing Blue colour----//
digitalWrite(s2, state1)
digitalWrite(s3, state2)
frequency3 = pulseIn(out, state)
Serial.print(' Blue = ')
Serial.println(frequency3)
delay(100)
Serial.println('---------------------------------------')
delay(400)

//--------------Program Developed by R.GIRISH--------------//

เอาต์พุตของจอภาพอนุกรม:

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

หากคุณมีคำถามใด ๆ เกี่ยวกับเซ็นเซอร์สี RGB TCS3200 โดยใช้บทความ Arduino โปรดแสดงความคิดเห็นในส่วนความคิดเห็น คุณอาจได้รับการตอบกลับอย่างรวดเร็ว

นอกจากนี้ยังสามารถใช้เซ็นเซอร์สีที่อธิบายไว้ข้างต้นได้ ทริกเกอร์แกดเจ็ตภายนอกผ่านรีเลย์ สำหรับการดำเนินการที่ต้องการ




คู่ของ: สวิตช์เปิด / ปิดไฟ AC ที่ควบคุมด้วยรหัสผ่าน ถัดไป: การใช้เซนเซอร์ TSOP17XX กับความถี่ที่กำหนดเอง