[Résolu]pb de programmation...

Bonjour :wink:

Je viens de recevoir mon arduino uno, c'est génial ce truc :stuck_out_tongue:

Par contre j'ai un petit problème...
Voici mon code :

/*

lit la tension analogique sur la broche analogique 0
et affiche le résultat dans le moniteur série.

cet exemple est dans le domaine public
traduction française par X. HINAULT - www.mon-club-elec.fr

*/
const int MOTEUR=3; //declaration constante de broche
const int LED=5; //declaration constante de broche
const int INTERUPT = 2;
int adVal ; // valeur qu'on ajoute à chaque clic de l'interrupteur

void setup() {

pinMode(MOTEUR, OUTPUT); // configure le MOTEUR sur pin 3 en sortie
pinMode(LED, OUTPUT); //configure la led sur le pin 5
pinMode(INTERUPT, INPUT); //configure le port 2 en entrée pour l'interupteur

Serial.begin(9600); // initialise la communication série
// vérifier que le débit utiliser est le même dans le Terminal Série
}

void loop() {
int potVal = analogRead(A0); // lit la valeur analogique sur la broche A0 et met le résultat dans la variable

if(digitalRead(INTERUPT)==HIGH){
//action a faire par exemple activer une sortie
Serial.println("INTERUPT"); // affiche la variable dans le Terminal Serie
adVal =++ adVal;
potVal = potVal + adVal;
delay(1000);
}

String str1 = "Valeur de potVal : " + potVal;
String str2 = "Valeur de adVal : " + adVal;
String strT = str1 + "\t" + str2;
Serial.println(strT); // affiche la variable dans le Terminal Serie
delay(100);

analogWrite(MOTEUR, potVal / 4); // fait tourner le moteur à la vitesse lue
analogWrite(LED, potVal / 4); // allume la led à la puissance lue

}

Le problème, c'est que le moniteur me renvoie ça

Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :
Valeur de potVal : Valeur de adVal :

Comment se fait-il que les valeurs ne soient pas affichée, alors que ma led change bien d'intensité selon le réglage du potentiomètre ?

Merci :slight_smile:

C'est la ligne suivante qui pose problème potVal n'est pas une chaîne de caractère
String str1 = "Valeur de potVal : " + potVal;

Perso, je préfère utiliser les char
sprintf(str1,"Valeur de potVal : %d\0",potVal);

avec str1 déclaré comme char *
char str1[32];

Si tu veut rester avec la classe String essaye
String str1 = "Valeur de potVal : " + String(potVal,DEC);

ok ok :slight_smile: merci

Ta solution char correspond à ce qu'on ferai dans le vrai langage C ? Parce que dans ce cas, je me forcerais à utiliser cette solution