voilà je dois interprété des données ( taux de CO2 ) et les mètres sous formes de couleurs voici mon programme qui marche parfaitement
char mot[4];
int i=0;
int val[4];
int co2=0;
int ledRouge=11;
int ledVert=10;
int ledBleu=9;
void setup() {
Serial.begin(9600);
pinMode (ledVert,OUTPUT);
pinMode (ledRouge,OUTPUT);
pinMode (ledBleu, OUTPUT);
}
void loop() {
while(Serial.available() > 0 && i <= 4)
{
mot[i] = Serial.read();
delay(20);
i++;
}
//mot[i] = '\0';
i=0;
val[0]=mot[0]-48;
val[1]=mot[1]-48;
val[2]=mot[2]-48;
val[3]=mot[3]-48;
co2=(val[0]*1000)+(val[1]*100)+(val[2]*10)+(val[3]
if (co2 < 1000 ){
analogWrite (ledRouge, 0);
analogWrite (ledVert, 255);
analogWrite (ledBleu, 0);}
else if (co2 >= 1000 && co2 <= 1500){
analogWrite (ledRouge, 255);
analogWrite (ledVert, 130);
analogWrite (ledBleu, 0);}
else if (co2 > 1500){
analogWrite (ledRouge, 255);
analogWrite (ledVert, 0);
analogWrite (ledBleu, 0);}
}
mais la couleur change brusquement et ce n'est pas trés joli, aurait vous une idée pour faire une couleur en fondu ?
Merci et bonne programmation !