Conversion analogique en numérique (série à lecture analogique) - Bases d'Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans ces bases d'Arduino, nous essayons de comprendre la procédure de mise en œuvre du code dans laquelle un signal analogique externe est envoyé à l'entrée analogique Arduino et traduit ou converti en une lecture numérique proportionnée en conséquence. Ici, nous utilisons une résistance variable sous la forme d'un pot comme source de signal analogique.

Série de lecture analogique

Dans cet exemple, nous apprenons la méthode de lecture d'une entrée analogique à partir d'un appareil externe tel qu'un potentiomètre, qui est un appareil électromécanique n conçu pour mettre en œuvre une résistance variable dans un circuit par commande manuelle.



Un Arduino peut être utilisé pour mesurer l'amplitude de la tension sortant d'un potentiomètre afin de lire et d'identifier sa résistance variant en conséquence. Cela peut être fait en alimentant la tension dans le port d'entrée analogique Arduino en tant que valeur analogique.

Nous verrons ici comment ce qui précède est appliqué après l'établissement d'une communication série entre l'Arduino et l'ordinateur lié.



Matériel requis

Carte Arduino

Potentiomètre 10 kilohm

Fonctionnement du circuit

Comme illustré dans le schéma ci-dessus, connectez les trois fils sortant du pot à vos ports Arduino.

Le fil de l'un des fils extérieurs du pot est affecté à la terre ou à la ligne négative de la carte.

L'autre fil d'extrémité externe extrême libre se connecte au + 5V de la carte.

Ce qui reste est le fil central du pot, qui se termine à l'entrée analogique de la carte Arduino.

Lorsque l'arbre du pot est tourné, la résistance à travers le fil central et la borne externe se déplace du haut vers le bas et vice versa en fonction du côté duquel le bras coulissant se rapproche.

Par exemple, lorsque le bras coulissant est tourné vers le fil + 5V, le fil central se rapproche de 5V et a tendance à acquérir toute la valeur lorsqu'il touche le fil assigné 5V. De même, lorsque l'axe du curseur est déplacé vers le conducteur de pot de terre, le conducteur central a tendance à atteindre un potentiel nul.

La tension d'alimentation variant linéairement ci-dessus sur le fil central du pot est lue par l'entrée analogique Arduino pour l'interpréter en une résistance variant en conséquence du pot.

L'Arduino renferme un circuit de conversion analogique-numérique interne qui interprète efficacement le mouvement du pot ci-dessus et le convertit en nombres entre 0 et 1023.

Une position particulière sur l'arbre du pot entraîne la traduction d'un nombre proportionnel entre 0 et 1023 par l'Arduino, et pour les valeurs finales de 5V et de zéro volt, les interprétations sont évidemment 0 et 1023.

Dans le programme référencé, la fonction de configuration doit uniquement être déclenchée pour initier des communications série, le débit étant de 9600 bits de données par seconde, sur votre carte Arduino et sur l'ordinateur.

La commande attendue se présente sous la forme:

Serial.begin (9600)

Par la suite, dans la boucle principale de votre code, nous imposons une variable afin de fixer la valeur de résistance (qui serait comme discutée entre 0 et 1023, juste adaptée à un type de données int) reçue des leads de pot:

int sensorValue = analogRead (A0)

Pour conclure, imprimez ces informations dans votre fenêtre série sous forme de valeur décimale (DEC). Vous pouvez utiliser la commande Serial.println () pour l'implémenter dans la dernière ligne de code:

Serial.println (sensorValue, DEC)

Après cela, chaque fois que Serial Monitor est lancé dans le domaine de développement Arduino (cela se fait en cliquant sur le bouton qui se trouve immédiatement à droite du bouton `` Télécharger '' dans l'en-tête du programme).

nous verrions une chaîne cohérente de chiffres allant de 0 à 1023, correspondant à la position de rotation variable de l'arbre du pot.

Si nous arrêtons la rotation de l'arbre du pot à un moment donné, le nombre instantané correspondant s'affichera sur l'écran de l'Arduino, cela changerait à nouveau proportionnellement à mesure que nous continuions à changer la position de l'arbre du pot.

Le code

/ *
AnalogReadSerial
Lit une entrée analogique sur la broche 0, imprime le résultat sur le moniteur série.
Fixez la broche centrale d'un potentiomètre à la broche A0 et les broches extérieures à + 5V et à la masse.

Cet exemple de code est dans le domaine public.
* /

// la routine de configuration s'exécute une fois lorsque vous appuyez sur reset:
void setup() {
// initialise la communication série à 9600 bits par seconde:
Serial.begin (9600)
}

// la routine de boucle s'exécute encore et encore pour toujours:
boucle void () {
// lire l'entrée sur la broche analogique 0:
int sensorValue = analogRead (A0)
// affiche la valeur que vous lisez:
Serial.println (sensorValue)
delay (1) // délai entre les lectures pour la stabilité
}




Précédent: Surveillance de l'état d'un commutateur (série à lecture numérique) - Bases d'Arduino Un article: Circuit de régulateur de tension réglable secteur de 1,25 V à 120 V