téléphone à cadran transformé en jukebox musical

Bonjour à toutes et tous,

novice en arduino, j’ai récupéré un code pour transformer un vieux téléphone à cadran en jukebox musical à l’aide d’un arduino uno et d’un dfplayer mini mp3.

j’ai un souci au niveau du code à la ligne 111 : exit status 1
expected unqualified-id before ‘if’

if ((millis() - duree_entre_chaque_impulsion) > temps-entre_les_impulsions ){

quelqu’un pourrait m’aider ? d’avance grand merci !

/*
##### Chargement de la bibliothèque nécessaire à la lecture des fichiers sons
##### Préférer des fichiers au format Wav non compressés aux fichiers MP3 plus longs à s'ouvrir
*/
#include <DFPlayer_Mini_Mp3.h>
/*
##### Chargement de la bibliothèque nécessaire aux fonctions de base de la carte Arduino
*/
 #include <SoftwareSerial.h>
/*
 ##### Nous travaillons avec les bornes 10 & 11 de notre carte pour le branchement du module électronique de lecture du son
*/
SoftwareSerial mySerial(10, 11);
/*
##### Nous initialisons les variables nécessaires pour exprimer le nombre compté d'impulsionset l'information de fin de rotation du cadran
*/
int attente_de_fin_rotation = 0;
int compteur;
/*
##### Pour le cadran rotatif nous utiliserons la borne 13 de notre carte Arduino 
*/
int in = 13;
/*
##### Nous exprimons la position de départ de notre cadran
*/
int lastState = LOW;
int trueState = LOW;
long duree_entre_chaque_impulsions = 0;
int cleared = 0;
int lastCount;
/*
##### Déclaration des réglages permanents liés au cadran
*/
int temps_attente_apres_fin_rotation = 100;
int temps_entre_les_impulsions = 10;
/*
##### Configuration de la carte Arduino (vitesse, transmission, initialisation du lecteur sons et de la borne 13 de la carte Arduino
*/
void setup() {
  pinMode(in, INPUT);
  Serial.begin(9600);
  mySerial.begin (9600);
  mp3_set_serial(mySerial);
  delay(1);
  /*
  ##### Configuration du volume de lecture MP3
  */
  mp3_set_volume(15);
}
/*
##### Démarrage de la boucle
*/
void loop(){
  int reading = digitalRead(in);
  if ((millis() -duree_entre_chaque_impulsions) > temps_attente_apres_fin_rotation) {
    // le cadran n'a pas fini sa rotation
    if (attente_de_fin_rotation) {
      // le cadran termine sa rotation et le numero est transmis à la carte sur la variable compteur
      /*
      ##### Détermination des comportements en fonction de chaque code compteur
      */
    }if (compteur == 2){
      mp3_play(1);
      mp3_stop;
      }
    if (compteur == 3){
      mp3_play(2);
      mp3_stop;
      }
    if (compteur == 4){
      mp3_play(3);
      mp3_stop;
      }
 if (compteur == 5){
      mp3_play(4);
      mp3_stop;
      }
 if (compteur == 6){
      mp3_play(5);
      mp3_stop;
      }
 if (compteur == 7){
      mp3_play(6);
      mp3_stop;
      }
 if (compteur == 8){
      mp3_play(7);
      mp3_stop;
      }
if (compteur == 9){
      mp3_play(8);
      mp3_stop;
      }
if (compteur == 10){
      mp3_play(9);
      mp3_stop;
      }

      attente_de_fin_rotation = 0;
      compteur = 0;
      cleared = 0;
  }
}
/*
##### Bloc de comptage du nombre d'impulsionsLes impulsions sont comptées et le résultat est transmis après un temps de silenceExemplepour le code 3, nous avons 3 impulsions séparées d'un silence court et se terminant par un silence long
*/
if (reading != lastState) {
  duree_entre_chaque_impulsions = millis();
}
//a ce stade le cadran n a pas fini sa rotation
if ((millis() - duree_entre_chaque_impulsion) > temps-entre_les_impulsions ){
if (reading != trueState) {
// chaqueimpulsion est enregistrée dans la variable compteur 
trueState = reading;
if (trueState == HIGH) {
  // la variable compteur est incrémentée de +1 à chaque impulsion lue
  compteur++;
  attente_de_fin_rotation = 1;
  // Le résultat de compteur est définitif et est exploité par le programme
}
}
}
lastState = reading;
}

Il y a un s à la fin du nom de la variable duree_entre_chaque_impulsions

merci beaucoup, je vérifie la suite du code et ensuite démonte le téléphone à cadran pour tester tout ça

merci encore !

même en replaçant le s j'ai la même erreur qui revient... une idée ?
merci

Bonsoir et Bienvenue

-pour ne pas polluer le sous-forum dédié aux réalisations finies et aux projets terminés (ce projet y aura sa pléce une fois mis au point !!)

-pour une bonne visiblité , et donc une aide conséquente faire déplacer rapidement ce fil de discussion au bon endroit !!

->lien 'report to moderator" en bas à gauche

Les messages épinglés en tête de forum précisent :
où poster ? comment poster ? comment publier du code ? .....

Ces derniers mois de files de discussion dont les nombreux messages initiaux ne respectaient pas les règles de fonctionnement du forum ont été logiquement déplacés dans la poubelle du forum... ça n'incite pas à répondre :wink:

bonjour,
désolé de n’avoir pas posté à l’endroit adéquat, mais il y a tellement de atégories , sous catégories etc, que j’avoue ne pas avoir eu le sens de l’orientation.

Si quelqu’un a une idée pour que je puisse avancer ? d’avance merci

sinon tant pis.

merci qd même…

Quelqu'un ne pourra avoir une idée QUE si tu demandes le déplacement de cette question en utilisant le lien "Report to moderator".

Aucune chance d'avoir une réponse tant que la question n'est pas déplacée, par contre forte probabilité qu'elle parte à la poubelle si tu ne fais rien.

Un peu de bon sens :

  • Quand tu lis PROJET FINI c'est pas bien compliqué pour comprendre que tu n'es pas dans ce cas.
  • Quand tu vois un message épinglé dont le titre est "Faire un nouveau message" il faut te douter qu'il serait préférable de le lire avant d'écrire un nouveau message.

J'espère que tu as fait l'effort de lire "Règles du forum francophone" au moins.

Bonjour

sinon tant pis.

??

ce serait ballot d'en rester à 'désolé' sans chercher à réparer l'erreur comme proposé

Dans cette ligne

   }if (compteur == 2){

Essaye d'enlever le }
Dans l'IDE, tu devrais taper CTRL T ce qui va formater le code, c'est à dire indenter les lignes afin de mieux voir les blocs { }. Ça aide à repérer les problèmes de ce genre.

Arrête de donner des conseils, s'il a ce qu'il veut ne fera pas d'effort et c'est J F qui sera obligé de faire le ménage.
J F n'est pas la bonne du forum.

Ok, plus de conseil avant que tu aies suivi celui du post 4

il me semble avoir demandé le déplacement du message en cliquant sur "report to moderator"... apparemment ça n'a pas fonctionné. désolé si je ne maitrise pas les finesses des forum.

On va dire que le modo est en WE.

Topic déplacé.

68tjs:
J F n'est pas la bonne du forum.


:grin:

problème résolu. merci quand même