Arduino - Commutateur de connexion

Des boutons-poussoirs ou des interrupteurs connectent deux bornes ouvertes dans un circuit. Cet exemple allume la LED sur la broche 2 lorsque vous appuyez sur l'interrupteur à bouton-poussoir connecté à la broche 8.

Résistance pull-down

Les résistances de rappel sont utilisées dans les circuits logiques électroniques pour garantir que les entrées de l'Arduino se stabilisent aux niveaux logiques attendus si les périphériques externes sont déconnectés ou sont à haute impédance. Comme rien n'est connecté à une broche d'entrée, cela ne signifie pas qu'il s'agit d'un zéro logique. Des résistances de tirage sont connectées entre la terre et la broche appropriée sur l'appareil.

Un exemple de résistance pull-down dans un circuit numérique est illustré dans la figure suivante. Un interrupteur à bouton-poussoir est connecté entre la tension d'alimentation et une broche du microcontrôleur. Dans un tel circuit, lorsque le commutateur est fermé, l'entrée du microcontrôleur est à une valeur logique élevée, mais lorsque le commutateur est ouvert, la résistance de tirage vers le bas tire la tension d'entrée vers la masse (valeur zéro logique), empêchant un état non défini à l'entrée.

La résistance pull-down doit avoir une résistance plus grande que l'impédance du circuit logique, sinon elle pourrait abaisser trop la tension et la tension d'entrée à la broche resterait à une valeur logique basse constante, quelle que soit la position du commutateur.

Composants requis

Vous aurez besoin des composants suivants -

  • 1 × carte Arduino UNO
  • Résistance 1 × 330 ohms
  • Résistance 1 × 4.7K ohm (pull down)
  • 1 × LED

Procédure

Suivez le schéma de circuit et effectuez les connexions comme indiqué dans l'image ci-dessous.

Esquisser

Ouvrez le logiciel Arduino IDE sur votre ordinateur. Le codage en langage Arduino contrôlera votre circuit. Ouvrez un nouveau fichier d'esquisse en cliquant sur Nouveau.

Code Arduino

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 8; // the number of the pushbutton pin
const int ledPin = 2; // 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 à noter

Lorsque l'interrupteur est ouvert, (le bouton-poussoir n'est pas enfoncé), il n'y a pas de connexion entre les deux bornes du bouton-poussoir, donc la broche est connectée à la terre (via la résistance pull-down) et nous lisons un BAS. Lorsque l'interrupteur est fermé (le bouton poussoir est enfoncé), il établit une connexion entre ses deux bornes, reliant la broche à 5 volts, de sorte que l'on lit un HAUT.

Résultat

La LED est allumée lorsque le bouton-poussoir est enfoncé et éteinte lorsqu'elle est relâchée.