Le programme à placer dans la mémoire du µP de la carte ARDUINO est le suivant :
int analogPin = A0;
unsigned int val = 0; // variable de type int pour stocker la valeur de la mesure
void setup()
{
Serial.begin(115200); // initialisation de la connexion série
}
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);
delay(100);
}
Explications : La fonction prédéfinie « analogRead » renvoie le résultat de la conversion Analogique Numérique, de la tension
appliquée sur l’entrée analogPin (A0). Le résultat est ensuite envoyé sur le moniteur série, en décimal.
Un délai de 100ms a été mis, temps entre 2 conversions.
A l’aide d’un petit tournevis et d’un multimètre, régler la tension appliquée sur l’entrée A0 aux valeurs 0V, 1V, 2V, 3V, 4V et
5V et relever la valeur envoyée sur le moniteur série.
5.1 – Compléter le tableau du document réponse avec les valeurs relevées.
5.2 – Calculer les valeurs théoriques données par les formules du 4) et compléter le tableau du document réponse.
On modifie le programme de la manière suivante :
int analogPin = A0;
unsigned int val = 0; // variable de type int pour stocker la valeur de la mesure
unsigned long tension;
void setup()
{
Serial.begin(115200); // initialisation de la connexion série
}
void loop()
{
// lit la valeur de la tension analogique présente sur la broche
val = analogRead(analogPin);
tension=val;
tension=tension*5000;
tension=tension/1024;
// affiche la valeur (comprise en 0 et 1023) dans la fenêtre terminal PC
Serial.println(tension);
delay(100);
}
Rappel : unsigned int déclare une variable sur 16 bits – unsigned long déclare une variable sur 32 bits.
Donc sur 16 bits, la valeur maximale est 2
16
-1 = 65535
5.3 – Calculer 1023*5000