Main

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

Les constantes Arduino prédéfinies


Description

Dans le langage Arduino, les constantes sont des variables prédéfinies. Elles sont utilisées pour rendre les programmes plus faciles à lire. Nous les avons classées ici en groupes.

Définition de niveaux logiques, true (vrai) et false (faux) (Constantes de type bouléen= binaire)

Il existe deux constantes utilisées pour représenté le VRAI et le FAUX dans le langage arduino : true et false.

false (= FAUX)

la constante false est la plus facile des deux à définir. false est définie comme le 0 (zéro).

true (=VRAI)

La constante true est souvent défini comme étant le 1, ce qui est correct, mais la constante true a une définition plus large. Tout entier qui n'est pas zéro est VRAI dans un sens booléen. Ainsi -1, 2 et -200 sont tous définis comme VRAI, toujours dans un sens booléen. Noter que les constantes true et false sont écrites en minuscule à la différence des constantes HIGH, LOW, INPUT et OUTPUT.

Définition des niveaux de broche, HIGH (HAUT) et LOW (BAS)

Lorsqu'on lit ou on écrit sur une broche numérique, seuls deux états distincts sont possible, la broche ne peut prendre/être qu'à deux valeurs : HIGH (HAUT) ou LOW (BAS).

HIGH

La signification de la constante HIGH (en référence à une broche) est quelque chose de différent selon que la broche est définie comme une ENTREE ou comme une SORTIE.

Si la broche est configurée en ENTREE avec l'instruction pinMode, et lue avec l'instruction digitalRead, le microcontrôleur renverra HIGH (=HAUT) si une tension de 3V ou + est présente sur la broche.

Dans le cas d'une broche qui est configurée en ENTREE avec l'instruction pinMode, et secondairement mise au niveau HIGH avec l'instruction digitalWrite, cela active une résistance interne de 20 Kohms, dite de "rappel au plus" (ou pullup en anglais), qui maintiendra la broche en entrée au niveau HIGH (=HAUT) tant qu'un circuit externe (un bouton poussoir par exemple) ne la mettra au niveau LOW (=BAS).

Quand une broche est configurée en SORTIE avec l'instruction pinMode, et mise au niveau HAUT avec l'instruction digitalWrite, la broche est mise à 5V. Dans cet état, la broche peut fournir une certaine intensité (jusqu'à 40 mA par broche, sans dépasser 200 mA pour l'ensemble des broches), par exemple pour allumer une LED qui est connectée sur cette broche en série avec une résistance à la masse (0V), ou à une autre broche configurée en sortie et maintenue au niveau LOW (=BAS).

LOW

Cela signifie que la constante LOW a également une signification différente selon que la broche est configurée en ENTREE ou en SORTIE. Quand une broche est configurée en ENTREE avec l'instruction pinMode, et lue avec l'instruction digitalRead, le microcontrôleur renverra un niveau BAS si une tension de 2V ou moins est présente sur la broche.

Quand la broche est configurée en SORTIE avec l'instruction pinMode, et est mise au niveau LOW avec l'instruction digitalWrite, la broche est à 0 volts. Dans cet état, elle peut fournir un courant, par exemple pour allumer une LED qui est connectée en série avec une résistance au +5 volts, ou sur une autre broche configurée en sortie et mise au niveau HIGH.

Définition des constantes de broches numériques, INPUT and OUTPUT

Les broches numériques peuvent être utilisées soit en mode INPUT (= en entrée), soit en mode OUTPUT (= en sortie). Modifier le mode de fonctionnement d'une broche du mode INPUT (=ENTREE) en mode OUTPUT(=SORTIE) avec l'instruction pinMode() change complètement le comportement électrique de la broche.

Broches configurées en entrée (INPUT)

Les broches d'une carte Arduino (basée sur un microcontrôleur Atmega) configurées en mode INPUT (=en entrée) à l'aide de l'instruction pinMode() sont dites en état de "haute-impédance" (en état de "haute résistance" en quelque sorte). Une façon d'expliquer cela est qu'une broche configurée en ENTREE ne consomme qu'une toute petite intensité (de l'ordre du microampère ce qui est très faible...) sur le circuit sur laquelle elle est connectée, autrement dit comme si une résistance en série de 100 Mégaohms (100 millions de Ohms) était connectée devant la broche. Ceci est très utile pour lire un capteur, mais par pour allumer une LED.

Broches configurées en sortie (SORTIE)

Les broches configurées en mode OUTPUT (= en sortie) avec l'instruction pinMode() sont en état dit de "basse-impédance" (en état de "basse résistance" en quelque sorte). Cela veut dire qu'elle peuvent fournir une quantité significative de courant aux autres circuits. Chaque broche de la carte Arduino (basée sur un microcontrôleur Atmega) peuvent fournir (courant positif) ou absorber (courant négatif) jusqu'à 40 mA (milliampères) d'intensité aux autres circuits ou composants . Cela les rend très utiles pour allumer des LEDs mais moins pour lire des capteurs. Les broches configurés en sortie peuvent cependant être endommagées ou détruites si un court-circuit se produit entre la masse (0V) et le 5 volts. L'intensité fournie par une broche de microcontrolleur Atmega n'est pas suffisante non plus pour alimenter des relais ou des moteurs, et des circuits d'interface de puissance sont alors requis.

Commentaires utilisateurs

ATTENTION : bien qu'une broche en sortie puisse supporter 40mA d'intensité, l'intensité cumulée fournie par les broches de la carte ne doit cependant pas dépasser les 200mA ! Dans le cas d'une utilisation de plusieurs LEDs par exemple sur des broches en sortie, limiter l'intensité entre 10 et 15 mA par broche, ce qui est obtenu en connectant une résistance de 200 à 300 Ohms en série avec la LED connectée sur chaque broche utilisée avec une LED. Ainsi, même si l'on utilise 20 LEDs, on restera dans les "clous"...

Un moteur à courant continu va nécessiter selon les cas de 200mA à 600mA, et même parfois beaucoup plus : une interface dite "de puissance" est donc nécessaire pour le commander à l'aide d'une broche en sortie. Des cartes et circuits intégrés sont prévus à cet effet.

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.