Auteur Sujet: Annonces en gare avec la RFID  (Lu 2353 fois)

Battini

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Annonces en gare avec la RFID
« 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

Pierre59

  • Sr. Member
  • ****
  • Messages: 321
    • Voir le profil
Re : locoduino
« Réponse #1 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
« Modifié: octobre 12, 2022, 06:18:08 pm par Pierre59 »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Annonces en gare avec la RFID
« Réponse #2 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"}
};
Cordialement

chris_bzg

  • Global Moderator
  • Sr. Member
  • *****
  • Messages: 310
    • Voir le profil
Re : Annonces en gare avec la RFID
« Réponse #3 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.