Fonctions de BASE : digitalWrite et digitalRead
Structure de langage ...
FONCTIONS : digitalWrite et digitalRead
5 - digitalWrite et digitalRead
Nous allons voir comment les utiliser, sur l’action d’un bouton poussoir relié sur une broche de l’ARDUINO par exemple PIN (2) qui sera donc une entrée signal d’état « 0 » ou « 1 ».
Les broches numériques de l’ARDUINO ne connaissent que deux états :
Etat 1, la tension est présente.
Etat 0, la tension n’est pas présente.
Ces deux états sont nommés :
HIGHT (haut), correspond à l’état 1.
LOW (bas), correspond à l’état 0.
Pour changer d’état par programmation :
Il faut utiliser la commande digitalWrite(n, ETAT);
Explication de l’expression complète.
digitalWrite = écriture numérique
(n, ETAT); la valeur n est le numéro de la broche PIN
(n, ETAT); l’état est indiqué par HIGHT ou LOW - en majuscule
Soit pour une écriture correcte :
digitalWrite(2, HIGHT);
D’où une écriture à l’état « 1 » sur la broche PIN 2
digitalWrite(2, LOW);
D’où une écriture à l’état « 0 » sur la broche PIN 2
int ledPin = 2; // LED connectée à la broche PIN 2
int inPin = 7; // un bouton poussoir connecté à la broche PIN 7
int val = 0; // variable pour mémoriser la valeur lue (attention, il faut placer une résistance de 10 K afin de ne pas mettre en « l’air » une entrée, ou fixer un état sur l'entrée.)
void setup()
{
pinMode(ledPin, OUTPUT); // déclare la broche PIN 2 en SORTIE - OUTPUT
pinMode(inPin, INPUT); // déclare la broche PIN 7 en ENTREE - INPUT
digitalWrite(inPin, HIGH); // ECRIT la valeur HIGH (=1) sur la broche PIN 7 en entrée
}
void loop()
{
val = digitalRead(inPin); // lit l'état de la PIN (inPin) 7 en entrée et met le résultat dans val
digitalWrite(ledPin, val); // met la LED dans l'état du Bouton Poussoir, HIGHT ou LOW de val
}