I have just started to use Arduino and I read the similar topics here but I couldn't get over the problem. It only gives "redifinion of 'void setup()'"error and says exit status 1. Please help...
And here is my code:
int S0 = 8;
int S1 = 9;
int S2 = 12;
int S3 = 11;
int taosOutPin = 10;
int LED = 13;
void setup() {
TCS3200setup();
Serial.begin(115200);
delay(100);
}
void loop() {
detectColor(taosOutPin);
Serial.print("\n\n\n");
delay(1000);
}
int detectColor(int taosOutPin){
float white = colorRead(taosOutPin,0,1);
float red = colorRead(taosOutPin,1,1);
float blue = colorRead(taosOutPin,2,1);
float green = colorRead(taosOutPin,3,1);
Serial.print("white ");
Serial.println(white);
Serial.print("red ");
Serial.println(red);
Serial.print("blue ");
Serial.println(blue);
Serial.print("green ");
Serial.println(green);
}
float colorRead(int taosOutPin, int color, boolean LEDstate){
taosMode(1);
int sensorDelay = 100;
if(color == 0){
digitalWrite(S3, LOW);
digitalWrite(S2, HIGH);
// Serial.print(" White");
}
else if(color == 1){
digitalWrite(S3, LOW);
digitalWrite(S2, LOW);
// Serial.print(" Red");
}
else if(color == 2){
digitalWrite(S3, HIGH);//blue
digitalWrite(S2, LOW);
// Serial.print(" Blue");
}
else if(color == 3){
digitalWrite(S3, HIGH);
digitalWrite(S2, HIGH);
// Serial.print(" Green");
}
float readPulse;
if(LEDstate == 0){
digitalWrite(LED, LOW);
}
if(LEDstate == 1){
digitalWrite(LED, HIGH);
}
delay(sensorDelay);
readPulse = pulseIn(taosOutPin, LOW, 80000);
if(readPulse < .1){
readPulse = 80000;
}
taosMode(0);
return readPulse;
}
void taosMode(int mode){
if(mode == 0){
digitalWrite(LED, LOW);
digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
// Serial.println("LED off, both channels low");
}else if(mode == 1){
digitalWrite(S0, HIGH);
digitalWrite(S1, HIGH);
// Serial.println("Frequency Scaled at 100%");
}else if(mode == 2){
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
//Serial.println("Frequency Scaled Down to 20%");
}else if(mode == 3){
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
//Serial.println("Frequency Scaled Down to 2%");
}
return;
}
void TCS3200setup(){
pinMode(LED,OUTPUT);
pinMode(S2,OUTPUT);
pinMode(S3,OUTPUT);
pinMode(taosOutPin, INPUT);
pinMode(S0,OUTPUT);
pinMode(S1,OUTPUT);
return;
}