ENIB 2023 : Chaque détails compte
photo de l'équipe
Que fait ce projet ?
Le joueur se trouve dans une pièce avec des symboles éparpillés (O, △, X, □),m. Il trouve 4 interrupteurs qui représentent les 4 symboles, il devra mettre le nombre exact de symbole qu'il verra dans la pièce. Il validera avec un bouton, si c'est bon la led verte s'allumera sinon ce sera la rouge. Il y a un autre bouton qui permet de reset toutes les valeurs qui ont été rentrer.
Liste des composants
- carte arduino
- breadboard
- bouton poussoir
- cables arduino
- carton/ciseaux/peinture
Code
Le code n'est pas fini car on rencontre des problèmes avec la carte. On reconnaît une entrée mais les autres ne fonctionnent pas. Avec plus de temps et un changement de carte on aurait ajouté, une fois le nombre de croix,rond,triangle et carré validé par le joueur. Si le joueur a bon la LED verte s'allume sinon c'est la LED rouge qui s'allume.
int etatBoutonCroix = LOW; // L'état du bouton int memoireCroix = LOW; // La mémoire de l'état du bouton int CroixMax = 4; int currentCroix = 0; int etatBoutonTriangle = LOW; int memoireTriangle = LOW; // La mémoire de l'état du bouton int TriangleMax = 5; int currentTriangle = 0; int etatBoutonRond = LOW; int memoireRond = LOW; // La mémoire de l'état du bouton int RondMax = 3; int currentRond = 0; int etatBoutonCarre = LOW; int memoireCarre = LOW; // La mémoire de l'état du bouton int CarreMax = 10; int currentCarre = 0; void setup(){ Serial.begin(9600); pinMode(D8,INPUT); pinMode(D1,INPUT); pinMode(D2,INPUT); pinMode(D3,INPUT); } void loop() { etatBoutonCroix = digitalRead(D8); etatBoutonTriangle = digitalRead(D1); etatBoutonRond = digitalRead(D2); etatBoutonCarre = digitalRead(D3); if((etatBoutonCroix != memoireCroix) && (etatBoutonCroix == HIGH)) { currentCroix++; Serial.println("+1 Croix"); } else if((etatBoutonTriangle != memoireTriangle) && (etatBoutonTriangle == HIGH)) { currentTriangle++; Serial.println("+1 Triangle"); } else if((etatBoutonRond != memoireRond) && (etatBoutonRond == HIGH)) { currentRond++; Serial.println("+1 Rond"); } else if((etatBoutonCarre != memoireCarre) && (etatBoutonCarre == HIGH)) { currentCarre++; Serial.println("+1 Carre"); } else if(CroixMax==currentCroix && TriangleMax==currentTriangle && RondMax==currentRond && CarreMax==currentCarre){ Serial.println("Tu as gagne"); } memoireCroix = etatBoutonCroix; memoireTriangle = etatBoutonTriangle; memoireRond = etatBoutonRond; memoireCarre = etatBoutonCarre; }