Étape 2: codage
Profitez de:)
int ledArray [] = {2,3,4} ;
balanceSet booléen = false ;
rouge int = 0 ;
vert int = 0 ;
bleu int = 0 ;
float [] colourArray = {0,0,0} ;
float [] whiteArray = {0,0,0} ;
float [] blackArray = {0,0,0} ;
int avgRead ;
void setup() {}
Serial.Begin(9600) ; pinMode(2,OUTPUT) ;
pinMode(3,OUTPUT) ;
pinMode(4,OUTPUT) ; }
void loop() {}
checkBalance() ;
checkColour() ;
printColour() ;
}
void checkBalance() {}
if(balanceSet == false) {}
setBalance() ;
}
}
void setBalance() {}
Delay(7000) ;
pour (int i = 0; i < = 2; i ++) {}
digitalWrite(ledArray[i],HIGH) ;
Delay(100) ;
getReading(5) ;
whiteArray [i] = avgRead ;
digitalWrite(ledArray[i],LOW) ;
Delay(100) ;
}
Delay(7000) ;
pour (int i = 0; i < = 2; i ++) {}
digitalWrite(ledArray[i],HIGH) ;
Delay(100) ;
getReading(5) ;
blackArray [i] = avgRead ;
digitalWrite(ledArray[i],LOW) ;
Delay(100) ;
}
balanceSet = true ;
Delay(5000) ;
}
void checkColour() {}
pour (int i = 0; i < = 2; i ++) {}
digitalWrite(ledArray[i],HIGH) ;
Delay(100) ;
getReading(5) ;
colourArray [i] = avgRead ;
float greyDiff = whiteArray [i] - blackArray [i] ;
colourArray [i] = (colourArray [i] - blackArray [i]) / (greyDiff) * 255 ;
digitalWrite(ledArray[i],LOW) ;
Delay(100) ;
}
}
void getReading (int fois) {}
int de lecture ;
tally int = 0 ;
pour (int i = 0; i < fois; i ++) {
lire = analogRead(0) ;
Tally = lecture + pointage ;
Delay(10) ;
}
avgRead = (pointage) / times ;
}
void printColour() {Serial.print ("R =") ;
Serial.println(int(colourArray[0])) ;
Serial.Print ("G =") ;
Serial.println(int(colourArray[1])) ;
Serial.Print ("B =") ;
Serial.println(int(colourArray[2])) ;
}
Narzan Q.