1. Introduction
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 :
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 :
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 ».
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.
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 :
- 1 bouton poussoir Achat Bouton poussoir
- 1 LED Achat LED
- 1 résistance Achat Résistance
- 1 Arduino Achat Arduino UNO
Programme :
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 :
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 ».
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
int LED = 2;
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH);
delay(5000);
digitalWrite(2, LOW);
delay(5000);
}
Grégoire A.