Lecture d’un CAN
À quoi ressemblent concrètement les données numériques dans un microcontrôleur ? Ce sont des valeurs numériques stockées dans des registres (mémoires), que le processeur peut charger et traiter. Sur Arduino, une bibliothèque d’exemples contient la fonction
int sensorValue = analogRead(A0);
La commande « analogRead(A0) » numérise une tension d’entrée analogique appliquée à la broche d’entrée A0 (c’est-à-dire reliée à cette patte du circuit intégré). La tension n’est numérisée qu’une fois, et non en continu, lors de l’appel de cette ligne. Le résultat de la conversion est écrit dans la variable « sensorValue ». La variable est de type « int », c’est donc un nombre entier. Vous pouvez ensuite effectuer des calculs avec cette variable.
Si vous exécutez cette ligne plusieurs fois de suite et écrivez les données dans des variables différentes, vous pouvez convertir la tension d’entrée en continu. En informatique, on utilise habituellement pour cela des tableaux ou des pointeurs. Dans un tableau de taille 16, le signal de tension converti en continu pourrait par exemple ressembler à ceci :
![Sinus échantillonné avec les valeurs du tableau sensorValue[16] = {3,6,7,6,4,1,0,1,3,6,7,6,4,1,0,1}](../../bilder/de/mt_auslesen-eines-adcs/14_Messtechnik-ADC-auslesen-1024x691.png)
Il faut pour cela le code suivant :
int sensorValue[16];
for (int i = 0; i <= 15; i++)
{
sensorValue[i]= analogRead(A0);
}
Vous pouvez aussi afficher le résultat de la conversion sous forme de flux de données continu sur une console du PC. Vous auriez ainsi déjà réalisé un système de mesure simple et complet, dans lequel toute la chaîne de mesure est mise en œuvre. Vous trouverez plus de détails dans les exemples de code du logiciel Arduino.