Arduino programme (erreurs chaînes de caractères) [Résolu/Fermé]

Signaler
Messages postés
37
Date d'inscription
samedi 21 juillet 2018
Statut
Membre
Dernière intervention
28 décembre 2019
-
Messages postés
37
Date d'inscription
samedi 21 juillet 2018
Statut
Membre
Dernière intervention
28 décembre 2019
-
Bonjour,
j'ai fait un programme Arduino pour télécommande IR.Le voici:



void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
  pinMode(13, OUTPUT);
}
boolean valpin2(){
  if (analogRead(A0) > 500) {
    return true;
  }else{
    return false;
  }
}

char output = ' ';

void loop() {
  while (valpin2()) {
    digitalWrite(13, LOW);
  }
  output = ' ';
  for (int x = 0; x < 500; x++) {
    if (!valpin2()) {
      output = output + '1';
    }else{
      output = output + '0';
    }
    delay(1);
  }
  digitalWrite(13, HIGH);
  delay(1000);
  int caractere = 1;
  int longueur = length(output)-1;
  int vies = longueur / 2;
  char CH = '11111111000011111111101010101010100000000000000000000000000000000000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111001000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111100100000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111100100000000000000000';//code de la touche CH sur la télécommande
  while ((caractere < longueur) && (caractere < length(CH))) {
    caractere++;
    if (int(output[caractere]) != int(CH[caractere])){
      vies = vies - 1;
    }
  }
}




Il est censé vérifier que au moins 50% des caractères sont pareils que dans la variable dans laquelle est écrite le code de la touche(0 et 1).Si oui, il imprime son nom (CH) sur le Serial Monitor.
Mais quand je le vérifie, il me dit ça:
sketch_jul21b.ino: In function ‘void loop()’:
sketch_jul21b.ino:32:31: error: ‘length’ was not declared in this scope
sketch_jul21b.ino:37:35: error: invalid types ‘char[char]’ for array subscript
sketch_jul21b.ino:37:57: error: invalid types ‘char[int]’ for array subscript

1 réponse

Messages postés
11732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 août 2020
671
bonjour, quand tu déclares CH comme char, tu dois utiliser CH pour enregistrer un caractère. et il me semble que tu essaies d'y stocker des centaines.
par ailleurs, tu as déclaré CH et output comme char, et puis tu essaies de les utiliser comme des tableaux.
Messages postés
37
Date d'inscription
samedi 21 juillet 2018
Statut
Membre
Dernière intervention
28 décembre 2019
1
Merci beaucoup. Mais j'ai trouvé une autre façon de déboguer mon programme(ou presque). Le problème c'est que là je suis pas sur le bon ordi donc j'ai pas le fichier sous la main. Je devrais t'envoyer le programme d'ici une heure(en fait il marche pas non plus, mais en partant de cette version j'ai trouvé un truc qui fait que chaque touche de la télécommande a une lettre comme code, par exemple o barré pour a touche CH.) Merci quand même.