Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]

digitalRead()


Description

Lit l"état (= le niveau logique) d'une broche précise en entrée numérique, et renvoie la valeur HIGH (HAUT en anglais) ou LOW (BAS en anglais).

Syntaxe

digitalRead(broche)

Paramètres

  • broche : le numéro de la broche numérique que vous voulez lire. (int)

Valeur retournée

  • Renvoie la valeur HIGH (HAUT en anglais) ou LOW (BAS en anglais)

Exemple


int ledPin = 13; // LED connectée à la broche n°13
int inPin = 7;   // un bouton poussoir connecté à la broche 7
                    // avec une résistance de pulldown
int val = 0;     // variable pour mémoriser la valeur lue

void setup()
{
  pinMode(ledPin, OUTPUT);      // configure la broche 13 en SORTIE
  pinMode(inPin, INPUT);      // configure la broche 7 en ENTREE

  digitalWrite(inPin, HIGH);       // écrit la valeur HIGH (=1) sur la broche en entrée
                             // ce qui active la résistance de "rappel au +" (pullup) au plus de la broche
}

void loop()
{
  val = digitalRead(inPin);   // lit l'état de la broche en entrée
                                    // et met le résultat dans la variable

  digitalWrite(ledPin, val);    // met la LED dans l'état du BP
                                     // (càd allumée si appuyé et inversement)
}
 

Dans ce programme, la broche 13 reflète fidèlement l'état de la broche 7 qui est une entrée numérique.

Remarque

Si la broche numérique en entrée n'est connectée à rien, l'instruction digitalRead() peut retourner aussi bien la valeur HIGH (HAUT en anglais) ou LOW (BAS en anglais) ( et cette valeur peut changer de façon aléatoire)

Les broches analogiques peuvent être utilisées en entrée et sont désignées par les numéro 14 (entrée analogique 0) à 19 (entrée analogique 5).

NOTE : La broche numérique 13 est plus difficile à utiliser que les autres en tant qu'entrée numérique car elle est associée à une résistance et sa LED soudées sur le circuit imprimé de la carte sur la plupart des cartes. Si vous activez la résistance interne de rappel au plus de 20K, cela mettra la borche à 1,7V au lieu des 5V théoriques car la LED et la résistance associées à la broche abaisse la tension, qui est toujours considérée au niveau BAS (LOW). Ainsi, si vous devez utiliser la broche 13 en tant qu'entrée numérique, utiliser une résistance de rappel au plus externe.

Commentaires utilisateurs

Pour pouvoir lire une broche en tant qu'entrée numérique :

  • configurer cette broche en entrée avec l'instruction pinMode(broche, INPUT);
  • activer le "rappel au plus" interne dans le cas d'un bouton poussoir avec l'instruction digitalWrite(broche, HIGH)
pinMode(pin, INPUT);           // configure la broche en entrée
digitalWrite(pin, HIGH);       // écrit la valeur HIGH (=1) sur la broche en entrée 
                             // ce qui active la résistance de "rappel au +" (pullup) au plus de la broche

Voir également :


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.