IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Modification d'un téléphone à cadran en jukebox musical


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    maker
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : maker

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Par défaut Modification d'un téléphone à cadran 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 112 : exit status 1
    expected unqualified-id before 'if'


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



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

    voici le code intégral :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
    /*
    ##### 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_impulsions) > 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;
    }

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    Confusion entre le souligné _ et le signe moins - :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((millis() - duree_entre_chaque_impulsions) > temps_entre_les_impulsions ){
    ligne 104 : l'accolade semble en trop, et ferme le void loop(). Une meilleure indentation t'aurait éclairé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    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 == 10){
          mp3_play(9);
          mp3_stop;
          }
    Il y a mieux à faire, non ?

    Ce ne serait pas plutôt mp3_stop(); ?

  3. #3
    Candidat au Club
    Homme Profil pro
    maker
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : maker

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Par défaut
    bonjour f-leb,
    un tout grand merci pour ces corrections. Je vais vérifier et corriger tout ça demain.

    merci beaucoup

  4. #4
    Candidat au Club
    Homme Profil pro
    maker
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : maker

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Par défaut ça ne fonctionne toujours pas...
    J'ai effectué la rectification :
    if ((millis() - duree_entre_chaque_impulsions) > temps_entre_les_impulsions ){

    et bien ça ne fonctionne toujours pas... je ne comprends pas...
    j'ai toujours de message d'erreur : exit status 1
    expected unqualified-id before 'if'

    une idée ?? merci

  5. #5
    Candidat au Club
    Homme Profil pro
    maker
    Inscrit en
    Août 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : maker

    Informations forums :
    Inscription : Août 2019
    Messages : 4
    Par défaut
    finalement c'est l'accolade ligne 104 qui bloquait tout !

Discussions similaires

  1. Modif du service Téléphone
    Par fabs2145 dans le forum Android
    Réponses: 0
    Dernier message: 10/09/2011, 17h55
  2. Modification du téléphone dans active directory
    Par antoine85 dans le forum ASP
    Réponses: 5
    Dernier message: 06/05/2008, 23h15
  3. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo