Convertir string to int

Bonjour,

Il y a quelque temps je me suis mis en tête de faire une veilleuse pour la chambre de ma fille. J'ai un capteur de couleur (ColorPal) me permettant de choisir la couleur et suivant la couleur choisi j'allume une led RVG (j'en mettrai 4 au final).

J'ai réussi jusqu'à présent à capter la couleur en appuyant sur un bouton pour activer la capteur et à allumer la led. Jusqu'ici ça fonctionne impec. Ce que je voudrai faire maintenant, c'est vérifier la couleur capter pour exécuter l'action de baisser le niveau des différentes couleurs.

Exemple: Si je capte 00 -> je baisse la couleur rouge Si je capte 100 -> je baisse la couleur bleu Si je capte 200 -> je baisse la couleur vert

Le souci, c'est que le capteur me renvoi un string sous cette forme: XXX Exemple pour les 3 couleurs. Je récupère les valeurs avec sscanf:

sscanf(rByte, "%x %x %x", &xx, &yy, &zz)
Serial.print(xx);
Serial.print(" ");
Serial.print(yy);
Serial.print(" ");
Serial.print(zz);
Serial.print("\n");

ce code affichera par exmple sur la console: 54 02 241

Comment puis-je gérer le traitement avant d'envoyer les valeurs à la led ?

J'espère que vous pourrez m'aider. Je ne suis pas encore ultra performant en programmation.

Bonjour, bon cava ton problème n'à rien de sorcier, si j'ai bien compris tu a xx yy et zz en format string et tu veux les récupérer en int?

Skizo !

voila =)

String inString = "";    // string to hold input

void setup() {
  // Initialize serial communications:
  Serial.begin(2400);
}

void loop() {

    String inString ="380";



      Serial.print("Value:");
      Serial.println(inString.toInt());
      Serial.print("String: ");
      Serial.println(inString);

}

adaptation d'un programme exemple de IDE 1.0, regarde d’abord les exemples avant ;)

Skizo !

Bonjour,

Je ne vois pas ou est le probléme ?

Tu as déja converti la string en int avec sscanf ! Il ne te reste plus qu'as envoyer tes données aux led ...

analogWrite() ?

pas faut sa remplace direct tes string par des int sinon, même pas besoin de string ^^'

Skizo !

mais si je fais des opérations de type : xx = xx - 1

Je ne risque pas de me prendre une erreur du fait que ce que me renvoi sscanf est de la forme 000 ?

En gros si je fais : 015 - 1 , c'est censé me renvoyer 014 ?

Je testerai ce soir en rentrant à la maison :)

si vraiment sa déconne tu passe de string a int tu traite et tu remets en string après en rajoutant le 0 devant si il en manque un..

Il va falloir mieux nous éxpliquer ton problème la :s

Skizo !