ENIB 2023 : Chaque détails compte

De Les Fabriques du Ponant
Révision datée du 19 janvier 2023 à 14:20 par Nico rgd (discussion | contributions) (Code)
Aller à : navigation, rechercher


photo de l'équipe

Groupe.jpg

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.

#include <vector>
#include <string>
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(D7,INPUT);
  pinMode(D6,INPUT);
  pinMode(D5,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;
    
}

Catégories