analogRead()

Description

Lit la valeur de la tension présente sur la broche spécifiée. La carte Arduino comporte 6 voies (8 voies sur la Mini et la Nano) connectées à un convertisseur analogique-numérique 10 bits. Cela signifie qu'il est possible de transformer la tension d'entrée entre 0 et 5V en une valeur numérique entière comprise entre 0 et 1023. Il en résulte une résolution (écart entre 2 mesures) de : 5 volts / 1024 intervalles, autrement dit une précision de 0.0049 volts (4.9 mV) par intervalle !

Une conversion analogique-numérique dure environ 100 µs (100 microsecondes soit 0.0001 seconde) pour convertir l'entrée analogique, et donc la fréquence maximale de conversion est environ de 10 000 fois par seconde.

Board Operating voltage Usable pins Max resolution
Uno 5 Volts A0 to A5 10 bits
Mini, Nano 5 Volts A0 to A7 10 bits
Mega, Mega2560, MegaADK 5 Volts A0 to A14 10 bits
Micro 5 Volts A0 to A11[1] 10 bits
Leonardo 5 Volts A0 to A11[1] 10 bits
Zero 3.3 Volts A0 to A5 12 bits[2]
Due 3.3 Volts A0 to A11 12 bits[2]
MKR Family boards 3.3 Volts A0 to A6 12 bits[2]
  • [1]: A0 through A5 are labelled on the board, A6 through A11 are respectively available on pins 4, 6, 8, 9, 10, and 12
  • [2]: The default analogRead() resolution for these boards is 10 bits, for compatibility. You need to use analogReadResolution() to change it to 12 bits.

Syntaxe

analogRead(broche_analogique)

Paramètres

  • broche_analogique: le numéro de la broche analogique (et non le numéro de la broche numérique) sur laquelle il faut convertir la tension analogique appliquée (0 à 5 sur la plupart des cartes Arduino, 0 à 7 sur la Mini et la Nano)

Valeurs Renvoyées

  • Valeur int (0 to 1023) correspondant au résultat de la mesure effectuée

Exemple

int analogPin = 3; // une résistance variable (broche du milieu) connectée sur la broche analogique 3 // les autres broches de la résistance sont connectées l'une au 5V et l'autre au 0V int val = 0; // variable de type int pour stocker la valeur de la mesure void setup() { Serial.begin(9600); // initialisation de la connexion série // IMPORTANT : la fenêtre terminal côté PC doit être réglée sur la même valeur. } void loop() { // lit la valeur de la tension analogique présente sur la broche val = analogRead(analogPin); // affiche la valeur (comprise en 0 et 1023) dans la fenêtre terminal PC Serial.println(val); }

※ Remarque:

  • Si la broche analogique est laissée non connectée, la valeur renvoyée par la fonction analogRead() va fluctuer en fonction de plusieurs facteurs (tels que la valeur des autres entrées analogiques, la proximité de votre main vis à vis de la carte Arduino, etc.).
  • La tension de référence par défaut est le 5V : il est possible d'utiliser une autre valeur si besoin.
  • Les broches analogiques sont utilisées en entrée. Il n'est pas nécessaire de les configurer au préalable à l'appel de la fonction analogRead()

Voir Également

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.