L'ADC (Analog to Digital Converter) est une technique par laquelle nous pouvons convertir les valeurs analogiques en valeurs numériques. Pourquoi avons-nous besoin de cette conversion d'analogue en numérique et aussi quelle est la différence entre les valeurs analogiques et numériques? Les valeurs qui n'ont que deux états possibles ou zéro sont appelés valeurs binaires comme la sortie d'un bouton-poussoir; Soit il sera ouvert (zéro) ou fermé (1). Contrairement à lui, certaines valeurs sont continues comme la fréquence des sons humains, il génère l'onde sonore continue qui a des valeurs différentes, ces valeurs sont appelées valeurs analogiques.
Les machines ne comprennent que les valeurs binaires qui sont dans la combinaison de zéros et de zéros, tandis que les valeurs numériques sont des représentations des nombres binaires. Dans cet article, l'utilisation des ADC dans Arduino est discutée, et aussi son processus de conversion est expliqué.
Quels sont les ADC à Arduino
Dans Arduino, différents capteurs et composants électriques sont connectés qui saisissent les signaux analogiques tandis qu'Arduino ne peut comprendre que les signaux numériques. Pour résoudre ce problème, chaque carte d'Arduino a des ADC intégrés qui convertissent l'entrée analogique en valeurs numériques qui sont lisibles par Arduino. Nous discuterons de l'ADCSof Arduino Uno, il a 6 épingles pour prendre les contributions qui sont indiquées par A0, A1, A2, A3, A4 et A5.
Ces six broches ont l'ADC 10 bits afin qu'ils convertissent les valeurs analogiques en valeurs numériques dans la plage de 0 à 1023 et cette valeur est connue sous le nom de résolution car elle représente les valeurs discrètes.
Comment fonctionne l'ADCS à Arduino
Dans Arduino, les valeurs analogiques sont mappées aux valeurs numériques par le facteur de 5 mV (cette valeur de 5 mV vient en divisant la valeur VREF à 1023), ce qui signifie qu'il augmentera la valeur numérique d'une augmentation de chaque analogue de 5 mV de 5 mV valeur.
Considérez le tableau suivant pour une meilleure compréhension:
Valeur analogique | Valeur dans les bits | Valeur numérique |
---|---|---|
0 volts | 0000000000 | 0 |
5 mV | 0000000001 | 1 |
10 mV | 0000000010 | 2 |
5 volts | 111111111 | 1023 |
Quelle est la formule analogique à numérique
Il existe une équation mathématique par laquelle nous pouvons convertir les valeurs analogiques en valeurs numériques et la formule est:
((Résolution de l'ADC) / (tension d'entrée)) = ((lecture ADC) / (valeur mesurée analogique))
Pour comprendre l'équation ci-dessus, considérez les valeurs suivantes pour découvrir la lecture de l'ADC:
Résolution d'ADC = 1024 (ADC dans Arduino Uno est 10 bits)
Tension d'entrée = 10 volts
ADC Reading = X (c'est à trouver)
Valeur mesurée analogique = 3 volts (Supposons que le capteur lit la valeur de 3 volts)
Selon l'équation ci-dessus:
x = (1024/5) * 3 = 614
Ainsi, la valeur numérique lue par Arduino contre la valeur analogique de 3 volts sera de 614.
Pour le comprendre, nous configurerons le circuit à l'aide du potentiomètre, dans lequel nous varierons la tension d'entrée analogique, puis affichera les valeurs analogiques et numériques sur le moniteur série. Le code Arduino à cet effet sera:
int potpin = a3, d_value = 0;
float a_value = 0.00;
void setup()
En série.commencer (9600);
VOID LOOP ()
d_value = analogread (Potpin);
En série.print ("Digital Value =");
En série.print (d_value);
a_value = (d_value * 5.00) / 1023.00;
En série.print ("analogique tension =");
En série.println (a_value);
retard (1000);
Explication du code: Nous avons déclaré deux variables entiers Potpin avec valeur A3 (le potentiomètre sera connecté sur la broche A3) et D_Value avec 0 valeur. Une variable du type de données flottantes qui est a_value et stocke zéro dedans. Dans la boucle, nous lisons les valeurs d'un potentiomètre et enregistrons ses valeurs dans la variable d_value. Ensuite, en utilisant la formule mathématique expliquée ci-dessus, convertissez le d_value en analogique et stockez-le dans la variable a_variable. Nous avons affiché les deux valeurs sur le moniteur série via la communication en série et avons produit un délai de 1 seconde dans chaque itération de la boucle.
Matériel et simulation
Nous aurons besoin des composants suivants:
Connectez la jambe du potentiomètre avec le sol, l'autre jambe avec 5 volts et la jambe du milieu avec le canal analogique de A3. Le diagramme du circuit du circuit du potentiomètre avec Arduino sera:
Dans le circuit ci-dessus, comme nous modifions les valeurs d'une broche analogique, nous pouvons visualiser les valeurs numériques correspondantes sur un moniteur en série. La simulation en temps réel du circuit ci-dessus sera:
La configuration matérielle sera comme ceci:
La sortie du moniteur en série aimera ceci sur la variation de la résistance du potentiomètre:
Conclusion
Les ADC dans Arduino sont utilisés pour la conversion des valeurs d'entrée analogiques en valeurs numériques car les valeurs analogiques ne peuvent pas être traitées par Arduino; machines et microcontrôleurs car ils ne comprennent que les valeurs numériques. Dans cet article, les ADC sont expliqués avec leur travail à Arduino et ont également démontré un exemple de travail de l'ADC à Arduino.