Arduino + Flash, pilotage de leds RVB

J’utilise l’exemple de Kasper Kamperman (http://www.arduino.cc/playground/Interfacing/Flash) pour allumer des leds via PWM depuis flash.
J’envoi une string sous la forme “255,255,255” a arduino.
ensuite je prends les trois premiers caractère de mon tableau et les stocks dans un tableau de caracteres puis de atoi ce tableau pour en faire un entier et enfin je fais mon analogWrite sur mon pin.

En résumé dans mon IDE arduino cela donne a peu pres ca :

char tempStringRed[4];

char valpwmRed;

char serInString[20]; 

int ledRed = 9 ;
int ledGreen = 10 ;
int ledBlue = 11 ;

void readSerialString (char *strArray) 
{
 int i = 0;      
  if(serialAvailable())        
  { while (serialAvailable())     
      { strArray[i] = serialRead();      
        i++;     
      }      
  }      
} 

boolean isStringEmpty(char *strArray) 
{ if (strArray[0] == 0) return true;
  else                           return false;
}



void setup() 
{ 
  
  Serial.begin(57600);       // start serial port
  
  pinMode(ledRed, OUTPUT);
  pinMode(ledGreen, OUTPUT);
  pinMode(ledBlue, OUTPUT);
   
}

void loop () 
{

  readSerialString(serInString); // stock data recu dans un tableau de caracteres

  if(isStringEmpty(serInString) == false)  // si le tableau precedent n'est pas vide...
  { 
      
         tempStringRed[0] = serInString[0] ;
         tempStringRed[1] = serInString[1] ;
         tempStringRed[2] = serInString[2] ;
         tempStringRed[3] = 0; // dans l'exemple, le tab et de taille 4 est le dernier emplacement est setté à 0 si quelqu'un peut m'expliker... en tt ca a l'air d'encore moins marcher sans ca
       
         valpwmRed = atoi(tempStringRed);
          
         analogWrite(ledRed,valpwmRed);

  } 

  for (int i=0; i <= 100; i++)
  { 
       serInString[i]=0;  //nettoyage du tableau
  }
  
  delay(50); // attends 50ms
}

Voilà.

Bon.
Cette solution ne marche pas. Quelqu’un saurait il pourquoi et mieux, saurait il comment faire m

char valpwmRed; ne devrait t il pas être int valpwmRed;