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; }
Partager