|
|
Ligne 1 : |
Ligne 1 : |
− | {{Item | + | {{Tuto Details |
− | |Main_Picture=Item-Bouton_poussoir_boutonpoussoir.jpg | + | |Main_Picture=Cr_ation_maquette_syst_me_solaire_Make_Your_Own_SOLAR_SYSTEM_STEM_Homework_Model_Kit_Set_14_Poly_Balls_Rods_eBay.jpg |
− | |Description=Un bouton (ou bouton poussoir) est un coupe-circuit mécanique (un interrupteur). | + | |Licences=Attribution (CC-BY) |
− | |Categories=Matériel | + | |Description=Création d'une maquette de système solaire (pas à l'échelle) avec des pics et des boules de polystyrène, peinture et décoration des éléments (plus ou moins fidèle à la réalité, en fonction de l'imagination des jeunes) |
− | |Cost=0,01
| + | |Disciplines scientifiques=Astronomy |
− | |Currency=EUR (€)
| + | |Difficulty=Easy |
− | |ItemLongDescription=C'est un interrupteur simple qui permet de contrôler les capacités d'une machine ou d'un objet. C'est le principal moyen d'interaction entre l'homme et la machine.
| + | |Duration=1 |
− | | + | |Duration-type=hour(s) |
− | Le bouton poussoir à la particularité de revenir dans son état initiale lorsque qu'on cesse d'appuyer dessus.
| + | |Tags=système solaire, planètes, étoile, soleil, groupe, participatif |
− | | |
− | | |
− | Il en existe de deux types :
| |
− | | |
− | *Le plus courant c'est le bouton poussoir '''"normalement ouvert"''', le courant ne passe pas quand il est repos, c'est quand on appuie dessus que le courant passe.
| |
− | *Il existe aussi le bouton poussoir dit '''"normalement fermé"''', au repos il laisse passer le courant, en appuie, il coupe le circuit, le courant ne passe pas.
| |
− | | |
− | <br />Ici, nous utilisons le bouton "normalement ouvert".
| |
− | | |
− | <br />
| |
− | | |
− | == Subtilité d'utilisation : ==
| |
− | Pour que le micro-contrôleur reçoive un signal clair du bouton, nous pouvons utiliser des résistances de pull-up ou pull-down.
| |
− | | |
− | | |
− | Enfin, un bouton, c'est système mécanique. Et contrairement à la théorie, la réalité est complexe. Lorsqu'on appuie et qu'on relâche un bouton, le signal n'est pas simple, ouvert ou fermé, mais il y a un "rebond", un peu comme si on tremblait quand on appuie sur le bouton. Le micro-contrôleur peut alors interpréter le signal comme plusieurs appuis sur le bouton, ce qui est embêtant dans certains cas.
| |
− | | |
− | | |
− | Il existe deux solutions à ce problème :
| |
− | | |
− | * mettre un délai de quelques centaines de millisecondes. Cette solution présente le défaut d'utiliser la fonction "delay(200)" qui met en pause le programme.
| |
− | * mettre une temporisation avec la fonction "millis". Cette solution était bien meilleure, car elle ne bloque pas le programme.
| |
− | | |
− | Gérer la temporisation : voir ce tuto très bien fait : http://wiki.t-o-f.info/Arduino/%c3%89liminationDuRebondissement
| |
− | | |
− | | |
− | <syntaxhighlight lang="arduino" line="1">
| |
− | /*
| |
− | * Code repris de http://wiki.t-o-f.info/Arduino/%c3%89liminationDuRebondissement
| |
− | */
| |
− | | |
− | int BUTTON_PIN = 0; //GPIO 0 correspond à la broche D3
| |
− | int previousButtonState;
| |
− | int count =0;
| |
− | | |
− | unsigned long debounceTimeStamp;
| |
− | | |
− | void setup() {
| |
− | Serial.begin(57600);
| |
− | pinMode( BUTTON_PIN , INPUT_PULLUP );
| |
− | previousButtonState = digitalRead( BUTTON_PIN );
| |
− | }
| |
− | | |
− | void loop() {
| |
− | if ( millis() - debounceTimeStamp >= 5 ) {
| |
− | int currentButtonState = digitalRead( BUTTON_PIN );
| |
− | if ( currentButtonState != previousButtonState ) {
| |
− | debounceTimeStamp = millis();
| |
− | if ( currentButtonState == LOW ) {
| |
− | count = count + 1;
| |
− | Serial.println(count);
| |
− | }
| |
− | }
| |
− | previousButtonState = currentButtonState;
| |
− | }
| |
− | }
| |
− | | |
− | </syntaxhighlight><br />
| |
− | | |
− | ==Câblage : ==
| |
− | {{#annotatedImageLight:Fichier:Item-Bouton poussoir Boutonpoussoir2 bb.jpg|0=200px|hash=|jsondata=|mediaClass=Image|type=frameless|align=center|src=https://www.wikidebrouillard.org/images/9/9d/Item-Bouton_poussoir_Boutonpoussoir2_bb.jpg|href=./Fichier:Item-Bouton poussoir Boutonpoussoir2 bb.jpg|resource=./Fichier:Item-Bouton poussoir Boutonpoussoir2 bb.jpg|caption=|size=200px}}
| |
− | | |
− | ==Code Minimal : ==
| |
− | <br />
| |
− | {| class="wikitable" cellspacing="0" border="0"
| |
− | | height="17" bgcolor="#999999" align="left" | | |
− | | valign="middle" bgcolor="#999999" align="center" |
| |
− | | bgcolor="#999999" align="center" |Bouton poussoir
| |
− | |- | |
− | | rowspan="2" valign="middle" height="49" bgcolor="#999999" align="center" |Avant le Setup
| |
− | | valign="middle" bgcolor="#999999" align="center" |Importation de la bibliothèque
| |
− | | valign="middle" align="left" |
| |
− | |-
| |
− | | valign="middle" bgcolor="#999999" align="center" |Création de l’objet
| |
− | | valign="middle" align="left" |
| |
− | |-
| |
− | | valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Setup
| |
− | | valign="middle" bgcolor="#999999" align="center" |Démarrage de l’objet
| |
− | | valign="middle" align="left" |pinMode(num_broche,INPUT_PULLUP) ;
| |
− | |- | |
− | | valign="middle" height="41" bgcolor="#999999" align="center" |Dans le Loop
| |
− | | valign="middle" bgcolor="#999999" align="center" |Utilisation
| |
− | | valign="middle" align="left" |int val_bouton = digitalRead(num_broche);<br />
| |
− | |}
| |
− | <syntaxhighlight lang="arduino" line="1" start="1">
| |
− | ////////////////////////
| |
− | // *Code Minimal* //
| |
− | // -Le Bouton- //
| |
− | ////////////////////////
| |
− | /*Les programmes "Code Minimal" des petits débrouillards sont conçu pour
| |
− | permettre la prise en main rapide d'un composant électronique.
| |
− | A retrouver sur https://www.wikidebrouillard.org
| |
− | | |
− | -Le Bouton-
| |
− | | |
− | Matériel :
| |
− | - un D1 mini
| |
− | - un bouton
| |
− | | |
− | le bouton branché à la broche D3 du D1 mini
| |
− | car la broche D3 possède une résistance de pullup interne
| |
− | Une résistance de pullup c'est lorsque la broche est branchée a une résistance reliée au niveau haut de la carte(HIGH)
| |
− | dans le D1 mini il y a donc une résistance de 10Kohm qui relie la broche D3 au +3,3V
| |
− | D3---^/\/v---+3V3
| |
− |
| |
− | ___
| |
− | / ___ \
| |
− | |_| | |
| |
− | /_/
| |
− | _ ___ _
| |
− | |_| |___|_| |_
| |
− | ___|_ _|
| |
− | |___| |_|
| |
− | Les petits Débrouillards - décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
| |
− | */
| |
− | | |
− | // Déclaration des variables constantes
| |
− | const int brocheBouton = D3; // Broche où est connectée le bouton
| |
− | const int brocheLed = D4; // Broche D4, où la led interne au wemos est connectée
| |
− | | |
− | // Boucle d'initialisation
| |
− | void setup() {
| |
− | pinMode(brocheLed, OUTPUT); // Initialisation de la broche de la led en sortie
| |
− | | |
− | pinMode(brocheBouton, INPUT_PULLUP); // Initialisation de la broche du bouton en entrée et activation du pull-up interne
| |
− | }
| |
− | | |
− | //Boucle principale
| |
− | void loop() {
| |
− | // Lecture de l'état du bouton et stockage dans la variable etatBouton
| |
− | // Déclaration de variable d'état locale (dite locale car déclarée dans la boucle "loop").
| |
− | bool etatBouton = digitalRead(brocheBouton); //// Variable permettant de récupérer l'état du bouton
| |
− | | |
− | // Si le bouton est appuyé, on éteins la led
| |
− | if (etatBouton == HIGH) {
| |
− | // extinction de la led
| |
− | digitalWrite(brocheLed, HIGH);
| |
− | } else {
| |
− | // sinon allumage de la led
| |
− | digitalWrite(brocheLed, LOW);
| |
− | }
| |
− | }
| |
− | </syntaxhighlight><br />
| |
| }} | | }} |
| + | {{Introduction |
| + | |Introduction=L'activité doit être présentée comme un atelier collaboratif ou chacunE peut réaliser une partie du sytème (1 planète par exemple) ou alors travailler en binômes. Il sera aussi utile de présenter les différentes planètes en amont avec de belles images et de montrer l'ordre des orbites planétaires par exemple. |
| + | }} |
| + | {{Materials |
| + | |ItemList={{ItemList |
| + | |Item=Boule de polystyrène |
| + | }}{{ItemList |
| + | |Item=Peinture - gouache |
| + | }}{{ItemList |
| + | |Item=Pic à brochette |
| + | }}{{ItemList |
| + | |Item=Pinceau |
| + | }}{{ItemList |
| + | |Item=Pot en verre |
| + | }}{{ItemList |
| + | |Item=Eau |
| + | }}{{ItemList}} |
| + | }} |
| + | {{Tuto Step}} |
| + | {{Notes}} |
| {{Tuto Status | | {{Tuto Status |
− | |Complete=Published | + | |Complete=Draft |
| }} | | }} |