Accueil > ARDUINO > Commandes de base des E/S arduino (UNO et LEONARDO)

Commandes de base des E/S arduino (UNO et LEONARDO)

vendredi 23 octobre 2015, par thebault

Voici quelques commandes pour débuter avec les Entrées / Sorties d’Arduino.

Brochage

Les cartes arduino UNO et LEONARDO disposent des broches suivantes :
- 6 entrées analogiques de A0 à A6 (notées ANALOG IN), qui peuvent aussi être configurées en entrées logiques (tout ou rien),
- 13 entrées / sorties logiques de 0 à 14 dont 6 (UNO) ou 7 (LEONARDO) peuvent être configurées en sortie PWM (notées   )

Programmation.

Le manuel de référence : https://www.arduino.cc/en/Reference/HomePage

Les programmes en langage ARDUINO comportent 3 parties au minimum :
- les déclarations de variables,
- la configuration des entrées / sorties (void setup()),
- la boucle infinie dans laquelle on place le programme principal (void loop())

Lire une entrée logique :

On dispose de 2 modes :
- Soit une lecture de l’entrée sur niveau (0V-5V),
- soit un fonctionnement avec résistance de pull-up.
Si on utilise un interrupteur, il est plus simple d’utiliser une entrée configurée avec résistance de pull-up car cela évite un composant externe :

fonctionnement normal

Dans la partie configuration void setup () :

pinMode(n, INPUT) ; // n est le numéro de la broche : de A0 à A5 ou de 0 à 13

fonctionnement avec résistance de pull-up

Dans la partie configuration void setup () :

pinMode(n, INPUT_PULLUP) ; // n est le numéro de la broche : de A0 à A5 ou de 0 à 13

Dans la boucle principal void loop() :

valeur=digitalRead(n,0) ; // la variable valeur sera égale au niveau sur l’entrée n

Lire une entrée analogique :

Les entrées A0 à A5 sont des entrées analogiques. Elles sont équipées d’un convertisseur analogique numérique ADC 10 bit (de 0 à 1023), tel que (par défaut) :

entréecode
0V 0
... ...
5V 1023

Exemple : pour une tension d’entrée de 3V, on obtiendra un code (par proportionnalité) de :
Code=3x1023/5=613,8 , soit 613.

Dans la partie configuration void setup () :

pinMode(n, INPUT) ; // n est le numéro de la broche : de A0 à A5

Dans la boucle principal void loop() :

valeur=digitalRead(n) ; // la variable valeur sera égale au code lu sur l’entrée n

Commander une sortie logique :

Dans la partie configuration void setup () :

pinMode(n, OUTPUT) ; // n est le numéro de la broche de 0 à 13

Dans la boucle principal void loop() :

digitalWrite(n,0) ; // met la sortie n à 0

digitalWrite(n,1) ; // met la sortie n à 1

Commander une sortie « analogique » par PWM « Pulse width modulation »

Les sorties PWM permettent de faire varier la
vitesse d’un moteur à Courant Continu ou
l’éclairement d’une LED. C’est un signal rectangulaire dont
le rapport cyclique varie. Le rapport cyclique est
codé sur 8 bit (de 0 à 255).

Voici une image qui illustre la forme de la sortie. Source : https://www.arduino.cc/en/Tutorial/PWM

rapport cycliqueCodeTension moyenne en sortie
0 0 0V
... ... ...
1 255 5V

Dans la partie configuration void setup () :

pinMode(n, OUTPUT) ; // n est le numéro de la broche 3,5,6,9,10,11,(13 pour Léonardo)

Dans la boucle principal void loop() :

analogWrite(n,rapport_cyclique) ; // commande la sortie n avec un rapport cyclique (entre 0 et 255)

SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © digitalnature sous Licence GPL