Différences entre les versions de « Bouton poussoir : programmation avec Arduino »

De MediaWiki UOF
Aller à la navigation Aller à la recherche
Ligne 17 : Ligne 17 :
* L'entrée 2 de l'Arduino voit 5V quand le bouton poussoir est pressé
* L'entrée 2 de l'Arduino voit 5V quand le bouton poussoir est pressé
==== Code Arduino en configuration pull-up====
==== Code Arduino en configuration pull-up====
<nowiki>
<nowiki>
// constants won't change. They're used here to set pin numbers:
// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2;    // the number of the pushbutton pin
const int buttonPin = 2;    // the number of the pushbutton pin

Version du 7 décembre 2022 à 15:14

Introduction

Lors de l'appui sur le bouton, deux lames sont mise en mouvement et vienne en contact l'une de l'autre soit au repos (normalement fermé) ou lors de l'appui (normalement ouvert). Pour pouvoir revenir à sa position initiale après utilisation, le bouton poussoir est doté d’un mécanisme constitué d’un ressort de rappel. Lorsque vous appuyez dessus avec le doigt, le ressort permet au bouton de revenir à sa place.

Implémentation

Il est nécessaire d'utiliser une résistance afin de fixer le potentiel lorsque le bouton poussoir est ouvert. ceci est réalisé avec une résistance de tirage appelée résistance de Pull-Up (tirage vers le haut) ou une résistance de Pull-Down (tirage vers le bas).

Résistance de Valeur de la résistance de tirage : 10k Ohm (avec une résistance de 1k Ohm ça fonctionne également mais la consommation de courant sera plus importante).

Implémentation avec résistance de Pull-Up

Câblage avec résistance pull-up

BP PullUp schéma.png BP PullUp bb.png

  • L'entrée 2 de l'Arduino voit 0V quand le bouton poussoir est relâché
  • L'entrée 2 de l'Arduino voit 5V quand le bouton poussoir est pressé

Code Arduino en configuration pull-up

// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}

Code disponible dans l'IDE Arduino

Le code de test est disponible dans les exemples disponible avec l'IDE Arduino

Code minimal