Bonjour,
J’essaie de compiler un code pour faire fonctionner un jeu pour mon fils mais j’ai un problème d’écriture.
C’est un code trouvé sur le net et que j’ai légèrement modifié pour passer de 15 à 30 leds et j’y ai inclus la librairie Adafruit_NeoPixel.h
le voici :
// Récupération de la bibliothèque commandant la barre de leds
#include <Adafruit_NeoPixel.h>
// initialisation de la barre de leds : const int LUM = 100;
// luminosité générale de la barre de leds (0 à 255 max) const int CDE = 6;
// c'est la borne 6 qui commandera la barre de leds const int NB_leds = 30;
// nombre de leds sur la barre Adafruit_NeoPixel strip = Adafruit_NeoPixel(30, CDE, NEO_GRB + NEO_KHZ800);
// les couleurs de base du jeu (R, V, B, J) : const uint32_t COULEURS[4] = {strip.Color(255, 0, 0), strip.Color(0, 255, 0), strip.Color(0, 0, 255), strip.Color(255, 255, 0)};
// les boutons (R, V, B, J) et leur borne de raccordement const int BTN[4] = {2, 3, 4, 5};
// variables liées aux boutons : int BTN_precedent[4] = {HIGH, HIGH, HIGH, HIGH};
// Etat par défaut en pull-up = +5V int BTN_actuel[4];
// état à l'instant t des boutons = non définit int BTN_position[4] = {-1, -1, -1, -1};
// position initiale des leds allumées = aucune int BTN_chgt[4] = {0,0,0,0};
// position des chgt d'état des boutons
// variable de victoire int BTN_victoire = -1;
// prendra le n° du bouton vainqueur, entre 0 et 3 donc // Mes boutons sont dotés de leds intégrées => ajout de leur prise en compte
// les leds des boutons (R, V, B, J) et leur borne de raccordement const int LED[4] = {10, 7, 8, 9};
void setup() {
// les boutons sont des entrées, les leds associées des sorties, éteintes : for(int i=0; i<4; i++) { pinMode(BTN[i], INPUT); pinMode(LED[i], OUTPUT); digitalWrite(LED[i], HIGH); }
// initialisation barre de leds : strip.begin();
// démarrage strip.clear();
// toutes les leds éteintes strip.setBrightness(LUM);
// réglage de la luminosité qui peut s'avérer trop forte par défaut strip.show();
// on envoie les données
// animation de début de jeu : animDebutJeu(); }
void loop()
// lecture de l'état actuel des boutons litBoutons();
// teste les chgt d'état des boutons if (testBoutons()) {
// affichage des leds associées afficheLeds(); }
// gestion du cas de victoire if(BTN_victoire > -1) { animFinJeu();
// animation de victoire
// attente d'un appui sur un bouton pour recommencer do { litBoutons(); } while(!testBoutons()); resetVar();
// remise à zéro des variables animDebutJeu();
// redémarrage du jeu } }
// Animation de début de jeux :
void animDebutJeu() {
// allumage des 4 boutons for(int l=0; l<4; l++) { digitalWrite(LED[l], LOW); }
// défilement des 4 couleurs du jeu les unes après les autres for (int j=0; j<4; j++) { for (int i=0; i (NB_leds - 2)) { BTN_victoire = i; } } delay(10);
// légère attente pour gérer mes boutons trop sensibles ! ;o) return chgt; }
// Test de la led n-1 void testLedPrec(int POS) { for(int i=0; i<4; i++) {
// on ne fait pas de test si on ne change pas de couleur if(i != POS) {
// si la led n-1 est utilisée par une autre couleur if((BTN_position[POS] - 1) == BTN_position[i]) {
// on l'allume à cette couleur et on sort strip.setPixelColor(BTN_position[POS]-1, COULEURS[i]); break; } else {
// sinon, on l'éteint strip.setPixelColor(BTN_position[POS]-1, 0); } } } }
void afficheLeds()
for(int i=0; i<4; i++)}
// si un chgt est enregistré sur cette couleur if(BTN_chgt[i] != 0) { strip.setPixelColor(BTN_position[i], COULEURS[i]);
//on allume la led associée testLedPrec(i);
// on gère la led n-1 en fonction de son utilisation par une autre couleur strip.show(); BTN_chgt[i] = 0;
// on efface l'indication de chgt } } }
}
}
}
}
Lorsque je le compile j’ai un message d’erreur tel que celui ci-dessous:
Les options de compilation ont été modifiées, tout sera recompilé
C:\Users\MARC~1.SEJ\AppData\Local\Temp\arduino_modified_sketch_455509\sketch_mar23d.ino: In function ‘void setup()’:
sketch_mar23d:35: error: expected initializer before ‘void’
void animDebutJeu() {
^
C:\Users\MARC~1.SEJ\AppData\Local\Temp\arduino_modified_sketch_455509\sketch_mar23d.ino: At global scope:
sketch_mar23d:53: error: expected declaration before ‘}’ token
}
^
exit status 1
expected initializer before ‘void’
Comment remédier à ce problème.
Merci d’avance,
Marc