les entrées analogiques

introduction

L'arduino possède plusieurs entrées analogique. par exemple l'arduino uno en possède 6 nommées de A0 à A5.
La résolution du CAN (Convertisseur Analogique Digital) est de 10bits ce qui donne une plage de valeur de 0 à 1023.

tension de référence

Les calculs de échantillonnage ce font par rapport à une tension de référence.
Par défaut celle-ci correspond à la tension avec laquelle le microcontroleur est alimenté. Sur la plupart des cartes cette tension est de 5v mais certaines carte comme l'Arduino pro mini peuvent être alimenté en 3,3v. Si vous créez un typon avec un ATMEGA vous pouvez choisir de l'alimenter en 3,3v par exemple afin d'limenter tout votre avec une baterie lipo (3,7v).

la tension de référence se paramètre avec l'instruction analogReference(type). type peut prendre différentes valeurs:

  • DEFAULT: cette valeur par défaut est 5v (sur les cartes où le microcontroleur est alimenté en 5v) ou 3.3v (sur les cartes où le microcontroleur est alimenté en 3,3v)
  • INTERNAL: une référence interne éguale à 1,1v sur l'ATmega168 ou l'ATmega328 et 2,56v sur l'ATmega8 (cette valeur n'est pas disponible pour l'Arduino Mega)
  • INTERNAL1V1: une référence interne de 1,1V reference (Arduino Mega seulement)
  • INTERNAL2V56: une référence interne de 2,56V reference (Arduino Mega seulement)
  • EXTERNAL: La tension appliquée sur la broche AREF (entre 0 et 5V seulement) sear utilisée comme référence.

apr exemple:

analogReference(EXTERNAL);

lecture analogique

Contrairement aux entrées et sorties numérique il n'y a pas besoin de configurer la broche utilisé avec pinMode().
sauf… et oui il y a toujours des exceptions…
Si vous paramétrez préalablement cette broche en sortie avec par exemple pinMode(A0, OUTPUT); dans votre programme, vous serez obligé ensuite de la reconfigurer en entrée avec pinMode(A0, INPUT);
Ça reste quand même un cas assez peu courant…

sinon pour lire une entrée analogique c'est très simple. voici un exemple:

 
sensorValue = analogRead(A0);

voilà…


prog/analog_in.txt · Dernière modification: 2016/05/18 12:27 par admin_memo