Accueil » Les Entrées et Sorties Digitales / Numériques

Les Entrées et Sorties Digitales / Numériques

Comme vous le savez, les cartes Arduino disposent de plusieurs types d’entrée et de sortie, leurs permettant de communiquer avec les différents composants électroniques. De ce fait, on peut distinguer plusieurs types d’entrée et/ ou de sortie sur une même carte Arduino :

  • Les entrées digitales ou numérique
  • Les entrées analogiques
  • Les bus de communications…

Dans ce chapitre on abordera les entrées digitales appelées aussi numérique ou encore tout ou rien (TOR). Ce type d’entrée permet de commander ou d’obtenir des informations des composants admettant deux état possible : Vrai (True) ou Faux ( False),Haut (High = tension entre 3V et 5V) ou Bas (Low = tension entre 0V et <0,5V) d’où le nom de « Tout ou Rien ».
On peut déduire donc que ce type d’entrées nous donne la possibilité, à titre d’exemple, d’allumer ou éteindre une Led, commander un relais, un contacteur, des moteurs… ou de lire l’état d’un bouton, d’un capteur de présence ou tout autre capteur TOR.

Configurer une broche en entrée ou sortie numérique :


Tout d’abord, il faut savoir que chaque carte Arduino à un certain nombre de broche pouvant être utiliser comme une entrée ou une sortie numérique, ces broches sont numérotées différemment selon chaque type de carte. Vous pouvez les distinguer grâce à la datasheet de la carte que vous disposez.
D’un autre côté, grâce à la fonction pinMode, on a la possibilité d’utiliser chaque broche comme une entrée pour lire une information binaire ou comme une sortie pour commander un composant électronique.

Syntaxe :

pinMode(broche, mode)

Paramètres

broche: correspond au numéro de la broche de la carte Arduino que l’on désir utiliser.
mode: ce paramètre accepte deux valeurs, soit INPUT (entrée en anglais) (=0) ou OUTPUT (sortie en anglais) (=1)
La configuration des broche se fait dans la fonction setup() de votre programme, afin d’éviter que l’Arduino reconfigure les broche en boucle, à chaque itération de la fonction loop().

Lire état d’une broche : digitalRead() ;

La fonction digitalRead lit l’état (= le niveau logique) d’une broche configurée en entrée numérique, et renvoie sois la valeur HIGH (HAUT en anglais) sois LOW (BAS en anglais).

SYNTAXE

digitalRead(broche)

broche : correspond au numéro de la broche numérique que vous voulez lire.

Changer l’état d’une sortie : digitalWrite()

Si une broche est configurée en sortie, la fonction digitalWrite met un niveau logique HIGH (= 5V) ou LOW (= 0V masse) sur une broche numérique.

SYNTAXE

digitalWrite(broche, valeur)

PARAMÈTRES

broche: le numéro de la broche de la carte Arduino

valeur : HIGH ou LOW (ou bien 1 ou 0)

Exemple d’utilisation :

Maintenant passons à la pratique.

Nous allons réaliser un montage pour allumer une Led pendant une seconde à chaque fois que l’on appuie sur un bouton poussoir.

Pour réaliser ce montage, on aura besoin :

  • Une carte Arduino UNO
  • Une LED
  • Une résistance de 330 ohms pour protéger la Led
  • Une plaque d’essai et des fils pour câbler notre montage.
  • Un bouton poussoir normalement ouvert
  • Une résistance de 10K ohms de pull-up afin de réduire les rebonds

Schéma du montage :

Code du programme :

 /*
 * allumer une Led avec un Bouton.
 *
 */

// Déclare la broche sur laquelle est câblée la LED et le bouton
const int BROCHE_LED = 8;
const int BROCHE_BOUTON = 7;


void setup() {

    // Configurer la broche de la LED en sortie
    pinMode(BROCHE_LED, OUTPUT);

    // Configurer la broche du bouton poussoir en entrée
    pinMode(BROCHE_BOUTON, INPUT);
}

void loop() {
    
    // On commence par lire l'état du bouton
    byte val_bouton = digitalRead(BROCHE_BOUTON);

    // Allume la LED en fonction de l'état du bouton
    If (val_bouton == HIGH) {
        digitalWrite(BROCHE_LED, HIGH);
        delay(1000);
        digitalWrite(BROCHE_LED,LOW);
    }
}

Laisser un commentaire