Imprimer

Montage

button

Pour le réaliser, vous aurez besoin de :

 

Code

Cette suite d'instructions va allumer une LED branchée sur la broche 13 lorsque le bouton branché sur la broche 2 est appuyé. Lorsque vous utilisez le logiciel Arduino, le code peut être trouvé en cliquant sur Fichier→Exemples→02.Digital→Button.

/*
  Bouton
 
 Allume une LED branchée sur la broche 13 lorsque le bouton
 branché sur la broche 2 est appuyé.
 */

// Initialisation des constantes :
const int buttonPin = 2;     // Numéro de la broche à laquelle est connecté le bouton poussoir
const int ledPin =  13;      // Numéro de la broche à laquelle est connectée la LED

// Déclaration des variables :
int buttonState = 0;         // variable qui sera utilisée pour stocker l'état du bouton

// le code dans cette fonction est exécuté une fois au début
void setup() {
  // indique que la broche ledPin est une sortie :
  pinMode(ledPin, OUTPUT);      
  // indique que la broche ledPin est une entrée :
  pinMode(buttonPin, INPUT);     
}

// le code dans cette fonction est exécuté en boucle
void loop(){
  // lit l'état du bouton et stocke le résultat
  // dans buttonState :   buttonState = digitalRead(buttonPin);   // Si buttonState est à 5V (HIGH→bouton appuyé)   if (buttonState == HIGH) {     // on allume la LED     digitalWrite(ledPin, HIGH);   }    else {     // sinon on éteint     digitalWrite(ledPin, LOW);   } }

Remarques : Copiez-collez ce code dans le simulateur pour ne pas avoir à tout retaper. Saviez vous que vous pouvez accéder à la documentation d'une fonction en cliquant avec le bouton droit sur celle-ci puis en cliquant sur Trouvez dans la référence.

 

Instructions

Voici une description des nouvelles fonctions utilisées (n'hésitez pas à cliquer sur les liens ci-dessous afin d'arriver sur la référence Arduino).

  • Déclaration d'une constante : comme pour une variable, on vient avec cette ligne stocker la valeur à droite du signe égal dans led.
const int led = 13;

Le mot clé const indique que l'on ne souhiate pas que la valeur de led puisse être modifiée dans le programme.

  • Les nouvelles instructions :
  • digitalRead lit l'état d'une broche et renvoie la valeur HIGH si la broche est à la tension de l'alimentation ou LOW si la broche est à 0V.
digitalRead(buttonPin);
La valeur de retour de digitalRead peut être stockée dans une variable comme ceci :
buttonState = digitalRead(buttonPin);
  • if permet de tester si une expression située entre parenthèse est vraie. Dans Button, nous cherchons à savoir si le bouton est appuyé, nous allons donc comparer buttonState à HIGH comme ceci :
if(buttonState == HIGH)
  • else : le bloc situé après cet mot clé viendra être executé si le test précédent échoue. Dans Button, si le bouton n'est pas appuyé alors on viendra éteindre la LED.

Références

 

Affichages : 4530