• Post category:E/S Analogiques
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :mars 11, 2022
  • Temps de lecture :7 min de lecture

analogRead()

Description :

Lit la valeur de la broche analogique spécifiée. Les cartes Arduino contiennent un convertisseur analogique-numérique multicanal 10 bits. Cela signifie qu’il mappera les tensions d’entrée entre 0 et la tension de fonctionnement (5 V ou 3,3 V) en valeurs entières comprises entre 0 et 1023. Sur un Arduino UNO, par exemple, cela donne une résolution entre les lectures de : 5 volts / 1024 unités ou , 0,0049 volts (4,9 mV) par unité. Voir le tableau ci-dessous pour les broches utilisables, la tension de fonctionnement et la résolution maximale pour certaines cartes Arduino.

La plage d’entrée peut être modifiée à l’aide de analogReference() , tandis que la résolution peut être modifiée (uniquement pour les cartes Zero, Due et MKR) à l’aide de analogReadResolution() .

Sur les cartes basées sur ATmega (UNO, Nano, Mini, Mega), il faut environ 100 microsecondes (0,0001 s) pour lire une entrée analogique, donc la vitesse de lecture maximale est d’environ 10 000 fois par seconde.

 

CONSEIL TENSION DE FONCTIONNEMENT BROCHES UTILISABLES RÉSOLUTION MAXIMALE

   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*

10 bits

   Leonardo

5 Volts

A0 to A11*

10 bits

   Zero

3.3 Volts

A0 to A5

12 bits**

   Due

3.3 Volts

A0 to A11

12 bits**

   MKR Family boards

3.3 Volts

A0 to A6

12 bits**

 

*A0 à A5 sont étiquetés sur la carte, A6 à A11 sont respectivement disponibles sur les broches 4, 6, 8, 9, 10 et 12
** La résolution analogRead() par défaut pour ces cartes est de 10 bits, pour la compatibilité. Vous devez utiliser analogReadResolution() pour le changer en 12 bits.

Syntaxe :

analogRead(pin)

Paramètres :

pin : le nom de la broche d’entrée analogique à lire (A0 à A5 sur la plupart des cartes, A0 à A6 sur les cartes MKR, A0 à A7 sur Mini et Nano, A0 à A15 sur Mega).

Retour :

La lecture analogique sur la broche. Bien qu’il soit limité à la résolution du convertisseur analogique-numérique (0-1023 pour 10 bits ou 0-4095 pour 12 bits). Type de données : int .

Exemple de code :

Le code lit la tension sur analogPin et l’affiche.

int analogPin = A3; // potentiomètre (borne centrale) connecté à la broche analogique 3
int val = 0; // variable pour stocker la valeur lue

void setup() {
Serial.begin(9600); // configuration série
}

void loop() {
val = analogRead(analogPin); // lire la broche d'entrée
Serial.println(val); // valeur de débogage
}

 

Remarques et avertissements :

Si la broche d’entrée analogique n’est connectée à rien, la valeur renvoyée par analogRead() fluctuera en fonction d’un certain nombre de facteurs (par exemple, les valeurs des autres entrées analogiques, la distance entre votre main et la carte, etc.).


 

Source : https://www.arduino.cc/reference/fr/language/functions/analog-io/analogread/

 

Laisser un commentaire