Ligne 179 : | Ligne 179 : | ||
==='''La manipulation'''=== | ==='''La manipulation'''=== | ||
- | + | Si tout se passe bien, toutes les diodes sont alors allumées. Chaque joueur se voit alors attribuer 3 boutons qui éteindront respectivement 1une, deux ou trois LED. Les LED sont des représentations symboliques des petits bâtons autrement appelés bâtonnets. Le joueur qui éteindra la dernière source de lumière visible sur la plaque Labdec perdra immédiatement la manche. Il suffit d'appuyer sur le bouton reset de l'Arduino pour relancer une manche. | |
==='''Que voit-on ?=== | ==='''Que voit-on ?=== | ||
- | + | Les LED s'éteignent tour à tour lorsque l'on appuie sur un bouton. En fonction du bouton appuyé une deux ou trois led s'éteignent. | |
+ | |||
== '''Explications''' == | == '''Explications''' == | ||
==='''De manière simple'''=== | ==='''De manière simple'''=== | ||
- | + | Le bouton poussoir permet d'envoyer un signal sur une entrée de l'Arduino. Celui-ci l'interprète, grâce au code transmis, et va alors émettre un signal sur ses sorties qui va éteindre ou non les diodes branchés sur celles-ci. | |
+ | |||
+ | |||
+ | L'électron qui est allé voir Arduino a été bloqué par un bouton poussoir. En appuyant dessus, je lui permet de passer. | ||
+ | |||
+ | "L'électron va taper à la porte de monsieur diode : | ||
+ | « - Que tu es beau quand tu t'illumines ! | ||
+ | -Mais voyons électron, si tu veux que je m'illumine, tu dois marcher dans l'autre sens ! » | ||
+ | Ainsi, l'électron fit demi-tour et la diode brilla de mille feux." | ||
=== '''Questions sans réponses''' === | === '''Questions sans réponses''' === | ||
- | + | Aucune | |
=== '''Allons plus loin dans l'explication''' === | === '''Allons plus loin dans l'explication''' === | ||
- | + | Nous avons écris un programme sur un ordinateur qui va être traduit et envoyé à l'Arduino dans un langage machine qu'il va pouvoir comprendre. | |
- | + | ||
== '''Liens avec d'autres expériences''' == | == '''Liens avec d'autres expériences''' == |
Sommaire |
Vous aussi, jouez au jeu des bâtonnets, le fameux jeu culte de Fort Boyard, en utilisant votre Arduino. 11 bâtonnets sont disposés en ligne. 2 joueurs face à face retirent tour à tour une, deux ou trois bâtonnets. Le joueur qui a le malheur de retirer le dernier perdra la partie.
L'expérience est divisée en 2 parties. Une partie programmation du microcontroleur sur ordinateur et une autre partie câblage où l'on va concevoir le montage sur la plaque Labdec.
→ La programmation
Un microcontroleur est un circuit imprimé programmable via un pc et pouvant communiquer avec des appareil externes (moteurs, diodes...en sortie et capteurs en entrée). Il s'agit donc dans la partie programmation d'activer ou non les sorties, suivant les évènements en entrée ou les paramètres internes.
Lancer votre PC et lancer le logiciel Arduino Copier coller le programme ci-dessous Aller dans « édition » et cliquer sur « téléversement »
Voici le code :
// --- Programme Arduino --- //Projet Baton //par : Floran Masson, Kristen Joie, Kévin Jan, Alexandre Devalavieille, Josselin Kerdraon int i; //Utile pour les boucles //Les diodes sont stockees en memoire dans un tableau int TABLEAUDIODE[12]={2,3,4,5,6,7,8,9,10,11,12,13}; //On associe les boutons en entree int BOUTON14 = 14; // int BOUTON15 = 15; // int BOUTON16 = 16; // int BOUTON17 = 17; // int BOUTON18 = 18; // int BOUTON19 = 19; // //Ces variables servent a rendre les verification plus claires int APPUI = 1; int PAS_APPUI = 0; //Etat des boutons int ETAT_BOUTON14; int ETAT_BOUTON15; int ETAT_BOUTON16; int ETAT_BOUTON17; int ETAT_BOUTON18; int ETAT_BOUTON19; //Variables variables int nbr=13; //Nombre de batons restants int ordre=1; //A qui c'est de jouer ? 1 : Joueur 1, 2 : Joueur 2 void setup() { // debut de la fonction setup() // --- ici instructions à exécuter au démarrage --- // ------- Broches en sortie ------- for(i=2 ; i++ ; i<=13) { pinMode(TABLEAUDIODE[i], OUTPUT); } pinMode(BOUTON14, INPUT); //met le bouton en entree pinMode(BOUTON15, INPUT); //met le bouton en entree pinMode(BOUTON16, INPUT); //met le bouton en entree pinMode(BOUTON17, INPUT); //met le bouton en entree pinMode(BOUTON18, INPUT); //met le bouton en entree pinMode(BOUTON19, INPUT); //met le bouton en entree //------- initialisation des LEDs au début = feu 1 au rouge et feu 2 au vert //Au début du jeu, toutes les diodes sont allumees digitalWrite(TABLEAUDIODE[0],HIGH); digitalWrite(TABLEAUDIODE[1],HIGH); digitalWrite(TABLEAUDIODE[2],HIGH); digitalWrite(TABLEAUDIODE[3],HIGH); digitalWrite(TABLEAUDIODE[4],HIGH); digitalWrite(TABLEAUDIODE[5],HIGH); digitalWrite(TABLEAUDIODE[6],HIGH); digitalWrite(TABLEAUDIODE[7],HIGH); digitalWrite(TABLEAUDIODE[8],HIGH); digitalWrite(TABLEAUDIODE[9],HIGH); digitalWrite(TABLEAUDIODE[10],HIGH); digitalWrite(TABLEAUDIODE[11],HIGH); delay(5000); } // fin de la fonction setup() void loop() { //permet la lecture des boutons ETAT_BOUTON14=digitalRead(BOUTON14); //Joueur A : retirer 1 ETAT_BOUTON15=digitalRead(BOUTON15); //Joueur A : retirer 2 ETAT_BOUTON16=digitalRead(BOUTON16); //Joueur A : retirer 3 ETAT_BOUTON17=digitalRead(BOUTON17); //Joueur B : retirer 1 ETAT_BOUTON18=digitalRead(BOUTON18); //Joueur B : retirer 2 ETAT_BOUTON19=digitalRead(BOUTON19); //Joueur B : retirer 3 //Joueur A if (ETAT_BOUTON14 == APPUI)&&(ordre == 1)) { //Retirer 1 baton nbr-=1; //Le nombre de batons est diminue de 1 ordre=2; //C'est au joueur 2 de jouer } if ((ETAT_BOUTON15 == APPUI)&&(ordre == 1)) { //Retirer 2 batons nbr-=2; //Le nombre de batons est diminue de 1 ordre=2; //C'est au joueur 2 de jouer } if ((ETAT_BOUTON16 == APPUI)&&(ordre == 1)) { //Retirer 3 batons nbr-=3; //Le nombre de batons est diminue de 3 ordre=2; //C'est au joueur 2 de jouer } //Joueur B if ((ETAT_BOUTON17 == APPUI)&&(ordre == 2)) { //Retirer 1 baton nbr-=1; //Le nombre de batons est diminue de 1 ordre=1; //C'est au joueur 1 de jouer } if ((ETAT_BOUTON18 == APPUI)&&(ordre == 2)) { //Retirer 2 batons nbr-=2; //Le nombre de batons est diminue de 2 ordre=1; //C'est au joueur 1 de jouer } if ((ETAT_BOUTON19 == APPUI)&&(ordre == 2)) { //Retirer 3 batons nbr-=3; //Le nombre de batons est diminue de 3 ordre=1; //C'est au joueur 1 de jouer } //Affichage for (i=2; i++; i<nbr) { digitalWrite(TABLEAUDIODE[i],HIGH); //Les batons restants sont allumes } for (i=nbr; i++; i<=13) { digitalWrite(TABLEAUDIODE[i],LOW); //Les batons retires ne sont pas allumes } }
→ Le montage
Il suffit de faire le montage sur la plaque Labdec comme ci-dessous :
Si tout se passe bien, toutes les diodes sont alors allumées. Chaque joueur se voit alors attribuer 3 boutons qui éteindront respectivement 1une, deux ou trois LED. Les LED sont des représentations symboliques des petits bâtons autrement appelés bâtonnets. Le joueur qui éteindra la dernière source de lumière visible sur la plaque Labdec perdra immédiatement la manche. Il suffit d'appuyer sur le bouton reset de l'Arduino pour relancer une manche.
Les LED s'éteignent tour à tour lorsque l'on appuie sur un bouton. En fonction du bouton appuyé une deux ou trois led s'éteignent.
Le bouton poussoir permet d'envoyer un signal sur une entrée de l'Arduino. Celui-ci l'interprète, grâce au code transmis, et va alors émettre un signal sur ses sorties qui va éteindre ou non les diodes branchés sur celles-ci.
L'électron qui est allé voir Arduino a été bloqué par un bouton poussoir. En appuyant dessus, je lui permet de passer.
"L'électron va taper à la porte de monsieur diode : « - Que tu es beau quand tu t'illumines ! -Mais voyons électron, si tu veux que je m'illumine, tu dois marcher dans l'autre sens ! » Ainsi, l'électron fit demi-tour et la diode brilla de mille feux."
Aucune
Nous avons écris un programme sur un ordinateur qui va être traduit et envoyé à l'Arduino dans un langage machine qu'il va pouvoir comprendre.
Indiquer ici les expériences de Wikidébrouillard.
Autres expériences avec le même concept, recherche sur internet (indiquer les liens).
C'est de la culture, ça aide à comprendre le monde !! N'hésitez pas à lancer la discussion de votre fiche (après l'avoir sauvegarder !) afin de trouver de l'aide pour la compléter
Indiquer ici des lieux où tout le matériel nécessaire pour réaliser cette expérience est disponible.
Penser à fixer les disciplines scientifiques qui correspondent à l'expérience. Remplacer "à classer" par la discipline correspondante.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique