カラーセンサーのテスト
今日はカラーセンサーの動作確認をします。後々柿の種選別マシーンを作りたくカラーセンサーを購入していました。しかし、動作確認を行ったところRed、Blue、Greenいずれも0反応。壊れているのか?と思い別途数個購入していました。先日そのカラーセンサーが届きましたので、動作確認を行いたいと思います。
最初に申しておきますが、今回のテストは失敗です。なぜかどれも0反応でした。さすがに全部壊れていることはないと思いますので、私の何かが間違っているのだと思います。
テストの配線は以下です。
上記に下のcodeを書き込みます。
/* This code works with GY-31 TCS3200 TCS230 color sensor module
* It select a photodiode set and read its value (Red Set/Blue set/Green set) and displays it on the Serial monitor
* Refer to www.surtrtech.com for more details
*/
#define s0 8 //Module pins wiring
#define s1 9
#define s2 10
#define s3 11
#define out 12
int data=0; //This is where we're going to stock our values
void setup()
{
pinMode(s0,OUTPUT); //pin modes
pinMode(s1,OUTPUT);
pinMode(s2,OUTPUT);
pinMode(s3,OUTPUT);
pinMode(out,INPUT);
Serial.begin(9600); //intialize the serial monitor baud rate
digitalWrite(s0,HIGH); //Putting S0/S1 on HIGH/HIGH levels means the output frequency scalling is at 100% (recommended)
digitalWrite(s1,HIGH); //LOW/LOW is off HIGH/LOW is 20% and LOW/HIGH is 2%
}
void loop() //Every 2s we select a photodiodes set and read its data
{
digitalWrite(s2,LOW); //S2/S3 levels define which set of photodiodes we are using LOW/LOW is for RED LOW/HIGH is for Blue and HIGH/HIGH is for green
digitalWrite(s3,LOW);
Serial.print("Red value= ");
GetData(); //Executing GetData function to get the value
digitalWrite(s2,LOW);
digitalWrite(s3,HIGH);
Serial.print("Blue value= ");
GetData();
digitalWrite(s2,HIGH);
digitalWrite(s3,HIGH);
Serial.print("Green value= ");
GetData();
Serial.println();
delay(2000);
}
void GetData(){
data=pulseIn(out,LOW); //here we wait until "out" go LOW, we start measuring the duration and stops when "out" is HIGH again
Serial.print(data); //it's a time duration measured, which is related to frequency as the sensor gives a frequency depending on the color
Serial.print("\t"); //The higher the frequency the lower the duration
delay(20);
}
これで、ArduinoIDのシリアルモニターで、色の数値がわかるはずですが、0行進です。
同じもの載せても意味がないので、割愛しますが、no.1からno.5まで全く同じでした。これは、あれですね。私が間違ってますね。
失礼しました。わかる方教えて頂けませんでしょうか。
この記事が気に入ったらサポートをしてみませんか?