Arduino குறியீட்டைக் கொண்ட கலர் டிடெக்டர் சுற்று

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





இந்த இடுகையில், வண்ணத்தைக் கண்டறிந்து அந்தந்த ஒதுக்கப்பட்ட ரிலேக்களைத் தூண்டக்கூடிய ஒரு சுற்று ஒன்றை உருவாக்க உள்ளோம். இந்த திட்டம் TCS3200 வண்ண சென்சார் மற்றும் Arduino போர்டைப் பயன்படுத்தி நிறைவேற்றப்படுகிறது.

TCS3200 வழங்கிய வண்ண உணர்வு

முந்தைய கட்டுரையை நீங்கள் படிக்கவில்லை என்றால், நாங்கள் விவாதித்த இடத்திற்குச் செல்லுங்கள் TCS3200 ஐப் பயன்படுத்தி வண்ண உணர்வின் அடிப்படைகள்



வண்ணங்களின் அடிப்படையில் ஒரு சுற்று நடவடிக்கை எடுக்க விரும்பினால், முன்மொழியப்பட்ட திட்டம் பயனுள்ளதாக இருக்கும். பல்வேறு தொழில்துறை துறைகளில் வண்ணக் கண்டறிதலின் அடிப்படையில் பயன்பாடுகளின் பெருங்கடல்கள் உள்ளன.

இந்த திட்டம் வெவ்வேறு வண்ணங்களைக் கண்டறிந்து ரிலேக்களைத் தூண்டுவதற்கு வண்ண சென்சாரை எவ்வாறு நிரல் செய்யலாம் என்பதைப் பற்றிய நுண்ணறிவை வழங்கும்.



முதன்மை வண்ணங்களை நாங்கள் பரிசீலிக்கப் போகிறோம்: இந்த திட்டத்திற்கான சிவப்பு, பச்சை மற்றும் நீலம். இந்த திட்டம் இந்த மூன்று வண்ணங்களுக்கிடையில் வேறுபடுத்தி ரிலேக்களைத் தூண்டும், ஒவ்வொரு வண்ணத்திற்கும் ஒவ்வொரு ரிலே.

TCS3200 ஆனது எத்தனை வண்ணங்களைக் கண்டறிய முடியும், ஆனால் திட்டத்தை புரிந்துகொள்ள வைப்பதற்கும் நிரல் குறியீட்டை எளிமையாக வைத்திருப்பதற்கும், நாங்கள் முதன்மை வண்ணங்களில் மட்டுமே கவனம் செலுத்துகிறோம்.

சுற்று வரைபடம்:

Arduino மற்றும் TCS3200 வண்ண சென்சார் இடைமுகப்படுத்துகிறது

மேலேயுள்ள திட்டமானது Arduino மற்றும் TCS3200 வண்ண சென்சாரை இடைமுகப்படுத்துவதாகும்.

ரிலே இணைப்புகள்:

ரிலே இணைப்புகள் Arduino மற்றும் TCS3200 வண்ண சென்சார்

குறைந்தது 500 எம்ஏ உடன் 9 வி அடாப்டருடன் அர்டுயினோவை இயக்கவும். Arduino இன் GPIO ஊசிகளால் ரிலேவுக்கு போதுமான மின்னோட்டத்தை வழங்க முடியாது என்பதால் டிரான்சிஸ்டர் ரிலேக்கான பெருக்கியாக செயல்படுகிறது.

டையோடு 1N4007 ரிலே சுருளிலிருந்து உயர் மின்னழுத்த கூர்முனைகளை உறிஞ்சி, மீதமுள்ள குறைக்கடத்தி கூறுகளை பாதுகாக்கும்.

அது வன்பொருள் முடிவடைகிறது.

இப்போது குறியீட்டை எவ்வாறு பதிவேற்றுவது மற்றும் உங்கள் தேவைகளுக்கு சென்சார் அளவீடு செய்வது எப்படி என்று பார்ப்போம்.
வண்ண உணர்திறன் தொகுதிக்கு தொகுதிக்கு மாறுபடும் மற்றும் சுற்றுப்புற ஒளி வண்ண உணர்திறனை கடுமையாக மாற்றும்.

அனைத்து டி.சி.எஸ் .3200 சென்சார்களும் புனையும்போது சில மாறுபாடுகளைக் கொண்டுள்ளன, நீங்கள் தற்போது வைத்திருக்கும் சென்சாருக்கான வண்ண அளவுருக்களை நீங்கள் அளவிட வேண்டும், இதனால் அந்த அளவுருக்கள் குறியீட்டில் வண்ணத்தை இன்னும் துல்லியமாகக் கண்டறிய பயன்படுத்தலாம்.

உங்கள் சென்சார் பின்தொடர்வதற்கான அளவீடுகளை அளவீடு செய்ய மற்றும் மேம்படுத்த, படிகள் துல்லியமாக:

படி 1: பூர்த்தி செய்யப்பட்ட வன்பொருள் அமைப்புடன் பின்வரும் குறியீட்டைப் பதிவேற்றவும்.

//-----Program Developed by R.GIRISH-----// const int Red_relay = 9 const int Green_relay = 10 const int Blue_relay = 11 const int s0 = 4 const int s1 = 5 const int s2 = 6 const int s3 = 7 const int out = 8 int var = 25 int red = 0 int green = 0 int blue = 0 int state = LOW int state1 = LOW int state2 = HIGH //-----------Enter Values--------// //For RED Colour: int Rx1 = 92 int Gx1 = 240 int Bx1 = 53 //For GREEN Colour: int Rx2 = 228 int Gx2 = 163 int Bx2 = 64 //For BLUE Colour: int Rx3 = 300 int Gx3 = 144 int Bx3 = 45 //----------------------------// void setup() { Serial.begin(9600) pinMode(Red_relay, OUTPUT) pinMode(Green_relay, OUTPUT) pinMode(Blue_relay, OUTPUT) digitalWrite(Red_relay, LOW) digitalWrite(Green_relay, LOW) digitalWrite(Blue_relay, LOW) 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() { int redH1 = Rx1 + var int redL1 = Rx1 - var int redH2 = Rx2 + var int redL2 = Rx2 - var int redH3 = Rx3 + var int redL3 = Rx3 - var int blueH1 = Bx1 + var int blueL1 = Bx1 - var int blueH2 = Bx2 + var int blueL2 = Bx2 - var int blueH3 = Bx3 + var int blueL3 = Bx3 - var int greenH1 = Gx1 + var int greenL1 = Gx1 - var int greenH2 = Gx2 + var int greenL2 = Gx2 - var int greenH3 = Gx3 + var int greenL3 = Gx3 - var //-----Sensing RED colour-----// digitalWrite(s2, state1) digitalWrite(s3, state1) red = pulseIn(out, state) delay(100) //------Sensing Green colour----// digitalWrite(s2, state2) digitalWrite(s3, state2) green = pulseIn(out, state) delay(100) //------Sensing Blue colour----// digitalWrite(s2, state1) digitalWrite(s3, state2) blue = pulseIn(out, state) delay(400) if(red = redL1) { if(green = greenL1) { if(blue = blueL1) { Serial.println('Detected Colour: RED') Serial.println('') digitalWrite(Red_relay, HIGH) delay(1000) } } } if(red = redL2) { if(green = greenL2) { if(blue = blueL2) { Serial.println('Detected Colour: Green') Serial.println('') digitalWrite(Green_relay, HIGH) delay(1000) } } } if(red = redL3) { if(green = greenL3) { if(blue = blueL3) { Serial.println('Detected Colour: Blue') Serial.println('') digitalWrite(Blue_relay, HIGH) delay(1000) } } } } //------Program Developed by R.GIRISH--------//

படி 2: சீரியல் மானிட்டரைத் திறக்கவும், இது போன்ற வண்ண அளவுருக்களைக் காண்பீர்கள்:

சிவப்பு, நீலம் மற்றும் பச்சை வண்ண பொருளை (வண்ண காகிதம் விரும்பப்படுகிறது) கொண்டு வாருங்கள்.

படி 3:

S சிவப்பு வண்ண காகிதத்தை TCS3200 சென்சாருக்கு அருகில் வைக்கவும்.
Color நீங்கள் சிவப்பு வண்ண காகிதத்தை வைக்கும்போது ஆர், ஜி, பி அளவீடுகளை (மூன்று வண்ணங்களையும்) கவனியுங்கள்.
• இதேபோல் பச்சை மற்றும் நீல வண்ண ஆவணங்களுக்கான ஆர், ஜி, பி வாசிப்பைக் கவனியுங்கள்.

TE குறிப்பு: டி.சி.எஸ் .3200 க்கு முன்னால் 3 வண்ணங்களில் ஏதேனும் ஒன்றை நீங்கள் வைக்கும்போது, ​​ஒவ்வொரு வண்ணத் தாளுக்கும் சிவப்பு, நீலம் மற்றும் பச்சை அளவீடுகள் அனைத்தையும் கீழே வைக்கவும், அவை முக்கிய வண்ணக் கண்டறிதல் திட்டத்தில் நீங்கள் நுழைய வேண்டும்.

படி 4: படி 5 ஐப் படித்து கீழே உள்ள முக்கிய குறியீட்டைப் பதிவேற்றுக (வண்ணக் கண்டறிதல் நிரல்)

//-- -- -- -- Enter Values-- -- --// //For RED Colour: int Rx1 = 92 int Gx1 = 240 int Bx1 = 53 //For GREEN Colour: int Rx2 = 228 int Gx2 = 163 int Bx2 = 64 //For BLUE Colour: int Rx3 = 300 int Gx3 = 144 int Bx3 = 45 //-- -- -- -- -- -- -- -- -- -- -- //

படி 5: மேலே உள்ள குறியீட்டில் நீங்கள் சமீபத்தில் குறிப்பிட்ட மதிப்புகளை உங்கள் மதிப்புகளுடன் மாற்றவும்:

//--------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---------//

நீங்கள் சென்சாரில் சிவப்பு வண்ண காகிதத்தை வைத்தபோது, ​​உங்களுக்கு மூன்று அளவீடுகள் கிடைத்திருக்கும், எடுத்துக்காட்டாக R = 56 | ஜி = 78 | பி = 38.

56, 78, 38 மதிப்புகளை இதுபோன்று வைக்கவும்:

// சிவப்பு நிறத்திற்கு:
int Rx1 = 56
int Gx1 = 78
int Bx1 = 38

இதேபோல், மற்ற இரண்டு வண்ணங்களுக்கும் குறியீட்டைப் பதிவேற்றவும்.

படி 6:

Monit சீரியல் மானிட்டரைத் திறந்து மூன்று வண்ணங்களில் ஏதேனும் ஒன்றை சென்சார் முன் வைக்கவும்.
Monit சீரியல் மானிட்டரில் ஒரே நேரத்தில் வண்ணங்களைக் கண்டறிவதை நீங்கள் காண்பீர்கள், அதனுடன் தொடர்புடைய வண்ண ரிலே செயல்படுத்தப்படுகிறது.

The ரிலேவை செயலிழக்க Arduino போர்டில் மீட்டமை பொத்தானை அழுத்தவும்.

குறிப்பு 1: அளவுத்திருத்தத்திற்குப் பிறகு, சிவப்பு, பச்சை, நீல வண்ண பொருள் / காகிதத்தின் சற்றே வித்தியாசமான நிழல் / சாயலை வைத்தால், சுற்று வண்ணங்களைக் கண்டறிய முடியாது. வேறு வார்த்தைகளில் கூறுவதானால், வண்ணங்களைக் கண்டறிவதற்கும் ரிலேவைத் தூண்டுவதற்கும் நீங்கள் ஒரே வண்ண பொருள் / காகிதத்தைப் பயன்படுத்த வேண்டும்.

குறிப்பு 2: சுற்றுப்புற ஒளி வண்ணக் கண்டறிதலைப் பாதிக்கும், எனவே அளவீடு செய்யும் போது சென்சார் அருகே ஒரு நிலையான ஒளியைப் பராமரிக்கவும், வண்ணங்களைக் கண்டறியவும்.

ஆசிரியரின் முன்மாதிரி:

Arduino வண்ண சென்சார் முன்மாதிரி

இந்த திட்டம் தொடர்பாக ஏதேனும் கேள்விகள் இருந்தால், தயவுசெய்து கருத்துப் பிரிவில் வெளிப்படுத்தவும், நீங்கள் விரைவான பதிலைப் பெறலாம்.




முந்தைய: தனிப்பயனாக்கப்பட்ட அதிர்வெண்களுடன் TSOP17XX சென்சார்களைப் பயன்படுத்துதல் அடுத்து: டம்ப் மின்தேக்கியைப் பயன்படுத்தி பல பேட்டரி சார்ஜர் சுற்று