Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 193

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/LocalSettings.php on line 197

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338

Warning: putenv() has been disabled for security reasons in /home/users4/d/debrouilloweb/www/wikidebrouillard/includes/parser/Parser.php on line 2338
[ Wikidébrouillard ] Dé numérique à 5 Led

Dé numérique à 5 Led

De Wikidebrouillard.

Modèle:Vidéo


Sommaire

Présentation de l'expérience

L'objectif est de créer un programme simulant un dé grâce à 5 Led et au logiciel arduino. On cherchera ensuite à  insérer le montage dans une boîte.

Matériel

  • Une carte Arduino Uno
  • Une breadboard (facultatif)
  • Un câble en cuivre
  • 8 fils mâle/mâle
  • 5 Leds
  • Un fer à souder
  • Une boîte de votre choix
  • Une bobine d'étain
  • Un bouton poussoir


Le montage

Ci-dessous, le montage à effectuer pour mettre en place notre prototype de dé:

Remarque : Attention à bien respecter le branchement des Led sur les pins correspondant ou votre dé ne s'affichera pas correctement. De plus, les Led sont disposées en quinconce.

Le programme

Copier le code suivant dans l'Arduino:

(Plus d'information ici : Arduino )

int pinHautGauche = 2;
int pinBasGauche = 3;
int pinHautDroite = 4;
int pinBasDroite = 5;
int pinCentre = 6;
int pinBouton = 7;
int pause = 200;
boolean etatBouton = 1;
int resultat, etatAllumage;

void setZero() //Fonction éteignant toute les Led
{
  for (int l = 2; l < 7; l++)
  {
    digitalWrite(l, LOW);
  }
}
void afficherUn() {         //On affiche UN avec les LED
  digitalWrite(pinBasGauche, LOW);
  digitalWrite(pinCentre, HIGH);
  digitalWrite(pinHautDroite, LOW);
  digitalWrite(pinBasDroite, LOW);
  digitalWrite(pinHautGauche, LOW);
  return;
}

void afficherDeux() {       //On affiche DEUX avec les LED
  digitalWrite(pinBasGauche, HIGH);
  digitalWrite(pinCentre, LOW);
  digitalWrite(pinHautDroite, HIGH);
  digitalWrite(pinBasDroite, LOW);
  digitalWrite(pinHautGauche, LOW);
  return;
}

void afficherTrois() {      //On affiche TROIS avec les LED
  digitalWrite(pinBasGauche, HIGH);
  digitalWrite(pinCentre, HIGH);
  digitalWrite(pinHautDroite, HIGH);
  digitalWrite(pinBasDroite, LOW);
  digitalWrite(pinHautGauche, LOW);
  return;
}

void afficherQuatre() {       //On affiche QUATRE avec les LED
  digitalWrite(pinBasGauche, HIGH);
  digitalWrite(pinCentre, LOW);
  digitalWrite(pinHautDroite, HIGH);
  digitalWrite(pinBasDroite, HIGH);
  digitalWrite(pinHautGauche, HIGH);
  return;
}

void afficherCinq() {         //On affiche CINQ avec les LED
  digitalWrite(pinBasGauche, HIGH);
  digitalWrite(pinCentre, HIGH);
  digitalWrite(pinHautDroite, HIGH);
  digitalWrite(pinBasDroite, HIGH);
  digitalWrite(pinHautGauche, HIGH);
  return;
}

void allumage()
{
  setZero();
  delay(100);
  switch (resultat) {
    case 1:
      afficherUn();
      break;

    case 2:
      afficherDeux;
      break;

    case 3:
      afficherTrois;
      break;

    case 4:
      afficherQuatre;
      break;

    case 5:
      afficherCinq;
      break;
  }
}

void setup()
{
  Serial.begin(9600); //On initialise la communication avec le moniteur (facultatif)
  randomSeed(analogRead(0)); //génération d'une seed
  for (int t = 2; t < 7; t++) //Activation des pins et extinction des leds
  {
    pinMode(t, OUTPUT);
    pinMode (pinBouton, INPUT_PULLUP);
    setZero();
  }
}

void loop()
{
  etatBouton = digitalRead(pinBouton); //On teste le bouton (appuyé ou pas)
  if (etatBouton == 0)
  {
    for (pause = 100; pause <= 200; pause = pause + 50) //Animation simulant un lancer de dé
    {
      afficherUn();
      delay(pause);
      afficherDeux();
      delay(pause);
      afficherTrois();
      delay(pause);
      afficherQuatre();
      delay(pause);
      afficherCinq();
      delay(pause);
    }

    //Création du résultat aléatoire
    resultat = random(6);
    allumage();
    //On affiche le résultat sur le moniteur (vérification facultative)
    Serial.println(resultat);
    delay(1000);
  }
}

La fabrication

Si tout s'est bien passé jusque là , vous devriez avoir devant vous un prototype de dé fonctionnel qui affiche (après une courte animation) un chiffre entre 0 et 5, grâce à ses Led, à  chaque pression sur le bouton poussoir.

Remarque : Notre prototype affichant un résultat entre 0 et 5, il suffit de systématiquement ajouter UN au lancer pour simuler un lancer de dé à 6 faces (entre 1 et 6).


Nous allons à présent fabriquer une boîte rendant notre prototype fonctionnel et le protégeant d'éventuels accidents. J'ai, pour l'exemple, choisi d'utiliser une boîte de fromage facile à percer et à découper:

La première étape consiste à ficher en quinconce une à une les Led dans le couvercle de votre boîte. Une fois vos Led en place (elles forment ensemble un 5 à la manière d'un dé classique), placez votre bouton poussoir à l'emplacement de votre choix en enfonçant ses broches dans votre boîte.

A l'aide de votre fer à souder, relier sur chaque cathode (le "-", la petite broche de la Led) une résistance, elle même reliée au fil de cuivre. Souder ensuite sur votre fil de cuivre un câble allant se ficher sur un des GROUND de l'Arduino.

Souder sur chaque anode (le"+", la broche grande broche de la Led) l’extrémité d'un câble qui sera ensuite relié au pin correspondant sur l'Arduino (Pin allant de 2 à 6).

Enfin, on vient souder sur l'une des broches du bouton un câble relié au GROUND de l'Arduino, puis sur la seconde broche du bouton un autre câble relié au pin correspondant sur l'Arduino (ici, le pin 7).

Votre dé est pratiquement terminé, il ne vous reste plus qu'à aménager une encoche sur le côté de votre boîte pour y laisser passer le câble de votre Arduino une fois la boîte fermée:

Votre dé est désormais terminé et vous vous retrouvez avec un objet moins compact et moins pratique qu'un dé classique...

Cependant cet exercice devient réellement intéressant si l'on prend le temps de coder soi-même le dé, ou encore d'optimiser ou d'améliorer le programme proposé ci-dessus. C'est pourquoi j'invite chaque néophyte à laisser place à son imagination pour concevoir un code ou pour fabriquer une boîte différente de celle proposée. Le résultat final n'en sera que plus apprécié!

Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraits
AR
EX

Dé numérique à 5 Led

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique