LOCODUINO
Parlons Arduino => Vos projets => Discussion démarrée 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
-
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
-
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"}
};
-
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.