LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: Battini le octobre 12, 2022, 03:34:00 pm

Titre: Annonces en gare avec la RFID
Posté par: Battini le octobre 12, 2022, 03:34:00 pm
bonjour.j'ai réalisé avec succès le montage sur arduino annonce en gare.je veux rajouter une loco mais le chiffre 0008 est refusé.faut t'il modifier quelque chose dans le programme.merci
d'avance pour la réponse.christian battini
Titre: Re : locoduino
Posté par: Pierre59 le octobre 12, 2022, 05:39:27 pm
Bonjour

Un nombre commençant par un zéro est considéré par le compilateur comme un nombre en base 8, octal, donc le chiffre 8 est interdit. Chiffres possibles 0 1 2 3 4 5 6 7

Pierre
Titre: Re : Annonces en gare avec la RFID
Posté par: msport le octobre 12, 2022, 06:31:21 pm
Bonjour, je suis loin d'être un spécialiste mais le code publié me donne une erreur :
que je trouve normale, identifiant étant déclaré char.
const Locomotive locosTab[nbreLocos] = {
  {0, "04263722665D81", "YC 6400   ", 0001},
  {1, "04463722665D81", "Renault VH", 0002},
  {2, "04726922665D80", "CC-7126   ", 0003}
};

sketch_oct12b:17:1: error: invalid conversion from 'int' to 'char*' [-fpermissive]
 };
 ^

ou invalid digit "8" in octal constant pour 0008

Par contre, ce qui passe à la compilation :
const Locomotive locosTab[nbreLocos] = {
  {0, "04263722665D81", "YC 6400   ", "0001"},
  {1, "04463722665D81", "Renault VH", "0002"},
  {2, "04726922665D80", "CC-7126   ", "0008"}
};
Titre: Re : Annonces en gare avec la RFID
Posté par: chris_bzg le octobre 12, 2022, 07:17:29 pm
C'est une erreur malencontreuse de notre part d'avoir appelé nos fichiers sons 0001.mp3, 0002.mp3, 0003.mp3 ; il aurait été suffisant de les appeler 1.mp3, 2.mp3, 3.mp3. Je pense que nous l'avions fait à l'époque pour montrer qu'il peut y en avoir beaucoup, mais comme nous avons testé le montage avec moins de huit fichiers, nous ne nous sommes pas rendu compte que ce serait considéré comme un nombre octal.
Lorsque j'ai utilisé le DFPlayer pour sonoriser le PN, le fichier son s'appelait sonnerie-pn-pour-arduino.mp3 et je l'appelais par myDFPlayer.play(1). Le fichier était unique sur la carte SD, mais si j'en avais eu plusieurs, cela aurait été pareil car, si mes souvenirs sont bons, myDFPlayer.play(2) ne joue pas le fichier 2.mp3 mais le deuxième fichier qui se trouve sur la carte SD. D'où l'importance de les enregistrer dans le bon ordre sur la carte SD.
Pour vous, la solution est de numéroter vos fichiers sans mettre de 0 devant sur la carte SD, et dans le programme et cela devrait marcher.