was successfully added to your cart.

Entrées / Sorties numériques

By 23 octobre 2015 Débutant Arduino
Image de une du tutoriel Entrees Sorties numeriques

1. Introduction

Entrée en rouge et Sorties en vert

numérique en rouge et analogique en vert

Retrouvez aujourd’hui un nouveau tutoriel sur l’Arduino. Nous allons voir ensemble, dans ce tutoriel, comment utiliser les pins d’entrées et de sorties de l’Arduino. C’est grâce à ces pins que l’Arduino peut envoyer des données (data) aux programmes que vous développez et permettent de commander les différents capteurs que vous avec ajouté à votre projet ou en les alimentant énergie.

2. Déclarer une entrée

Comment déclarer une entrée sur l’Arduino ?
Afin de déclarer une entrée a l’Arduino, nous allons utiliser un pin. Qu’est-ce qu’un « pin » vous allez dire. Un « pin » est une « broche » dans laquelle nous allons câbler nos entrées, sorties et alimentation pour les composants que nous utiliserons.

Rappel : On donne un nom à la variable utilisée de la manière suivante :

1
int nom_entree = numero_pin;

Ensuite, dans la fonction d’initialisation de l’Arduino « void setup() », on déclare que la variable crée précedement est une entrée :

1
pinMode(nom_entree, INPUT);

ATTENTION : Dans le langage de l’Arduino, n’oubliez jamais le « ; » à la fin de chaque ligne de script. En cas d’oubli, votre programme ne se compilera pas.

3. Déclarer une sortie

Si vous avez compris comment déclarer une entrée, déclarer une sortie n’a plus aucuns secrets pour vous.

Il suffit de remplacer « INPUT » pas « OUTPUT ».

1
2
3
4
5
6
7
8
9
10
11
int mon_entree = 2;
int ma_sortie = 3;
 
void setup() {
     pinMode(mon_entree, INPUT);
     pinMode(ma_sortie, OUTPUT);
}
 
void loop() {
 
}

4. Utilisation d’une entrée

NB : Pour se servir d’une entrée, il faut utiliser la fonction « digitalRead() ». Utilisation de la fonction « digitalRead(numero_pin) » :

  • Indiquer le numero du pin de l’entrée voulue.
1
digitalRead(2) ; //On lit l’entree du pin 2

Faisons un exemple tout simple. Lors d’un appui sur un bouton poussoir, une LED s’allume.

Matériel :

Programme :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int mon_entree = 2;
int ma_sortie = 3;
 
void setup() {
     pinMode(mon_entree, INPUT);
}
 
void loop() {
     if(digitalRead(mon_entree) == 1) {
          digitalWrite(ma_sortie, HIGH);
     }
     else {
          digitalWrite(ma_sortie, LOW);
     }
}

5. Utilisation d’une sortie

NB : Pour utiliser une sortie en tant qu’alimentation d’un composant, il va falloir le spécifier dans la boucle de l’Arduino. Ceci se fait avec la fonction suivante :

1
digitalWrite()

Utilisation de la fonction « digitalWrite(var, état) » :

  • Indiquer le nom de la variable puis l’état de la sortie. « HIGH » si vous voulez que la sortie de l’Arduino envoie une tension sinon mettez « LOW ».
1
digitalWrite(ma_sortie, HIGH);

6. À vous de jouer

Je vous propose de créer votre premier projet Arduino, cette basique, mais constructif. En effet, le but de cet exercice est de vous faire manipuler les fonctions que l’on vient de vois ensemble.

Objectif : Faire clignoter une LED

Ressources : Vous allez avoir besoin d’une fonction que nous n’avons pas encore vu, c’est la fonction « delay() ». Cette fonction a pour but d’ajouter un délai à l’Arduino. C’est-à-dire de le faire attendre pendant X millisecondes.

Matériel :

  • 1 LED
  • 1 résistance
  • 1 Arduino

Consigne : Vous devez allumer une LED pendant 2 secondes puis l’éteindre pendant 2 secondes et ainsi de suite sans arrêt.

Une correction est à votre disposition en dessous pour comparer avec votre programme. (Sachez qu’il n’y a pas un unique programme possible, alors même si le votre n’est pas identique à celui proposé et qu’il fonctionne, ne vous inquiétez pas).

Exemple de correction

1
2
3
4
5
6
7
8
9
10
11
12
int LED = 2;
 
void setup() {
  pinMode(2, OUTPUT);
}
 
void loop() {
  digitalWrite(2, HIGH);
  delay(5000);
  digitalWrite(2, LOW);
  delay(5000);
}

Grégoire A.

Laisser un commentaire