ARDUINO: Lecture analogique

Lecture analogique
Cet exemple vous montre comment lire l'entrée analogique du monde physique à l'aide d'un potentiomètre. 
Un potentiomètre est un dispositif mécanique simple qui fournit une quantité variable de résistance lorsque son arbre est tourné. En passant la tension à travers un potentiomètre et dans une entrée analogique sur votre carte, il est possible de mesurer la quantité de résistance produite par un potentiomètre comme une valeur analogique. Dans cet exemple, vous surveillerez l'état de votre potentiomètre après avoir établi une communication série entre votre Arduino et votre ordinateur exécutant le logiciel Arduino (IDE).
Matériels requis
     ·      Carte Arduino
     ·      Potentiomètre 10k ohm
Circuit
Connectez les trois fils du potentiomètre à votre tableau. Le premier se relie de l'une des broches externes du potentiometer à la masse. La seconde se relie de l'autre broche externe du potentiomètre à 5 volts. Le troisième se relie de la broche médiane du potentiomètre à la broche analogique A0.

En tournant l'arbre du potentiomètre, vous modifiez la quantité de résistance. Cela modifie la tension au niveau de la broche centrale. Lorsque la résistance entre le centre et le côté connecté à 5 volts est proche de zéro (et la résistance de l'autre côté est proche de 10k ohms), la tension à la broche centrale s'approche de 5 volts. Lorsque les résistances sont inversées, la tension au niveau de la broche centrale est proche de 0 volt ou de la masse. Cette tension est la tension analogique que vous lisez en entrée.
Les cartes Arduino ont un circuit interne appelé un convertisseur analogique-numérique ou ADC qui lit cette tension changeante et la convertit en un nombre entre 0 et 1023. Lorsque l'arbre est complètement tourné dans une direction, il y a 0 volts allant à la broche, et la valeur d'entrée est 0. Lorsque l'arbre est tourné tout le chemin dans le sens opposé, il y a 5 volts allant à la broche et la valeur d'entrée est 1023. Entre-deux, analogRead () renvoie un nombre entre 0 et 1023, proportionnel à la tension appliquée sur la broche.
Schématique


Code
Dans l'esquisse ci-dessous, la seule chose que vous faites dans la fonction de configuration est de commencer les communications série, à 9600 bits de données par seconde, entre votre carte et votre ordinateur avec la commande:
Serial.begin(9600);
Ensuite, dans la boucle principale de votre code, vous devez établir une variable pour stocker la valeur de résistance (qui sera comprise entre 0 et 1023, parfait pour un int type de données ) venant de votre potentiomètre:
int sensorValue = analogRead(A0);
Enfin, vous devez imprimer cette information dans votre fenêtre de moniteur série. Vous pouvez le faire avec la commande Serial.println () dans votre dernière ligne de code:
Serial.println(sensorValue)
Maintenant, lorsque vous ouvrez votre moniteur série dans le logiciel Arduino (IDE) (en cliquant sur l'icône qui ressemble à un objectif, sur la droite, dans la barre supérieure verte ou en utilisant le raccourci clavier Ctrl + Shift + M), vous devriez voir un flux régulier de nombres allant de 0 à 1023, en corrélation avec la position du pot. Lorsque vous tournez votre potentiomètre, ces chiffres répondent presque instantanément.
/ *
   DIY Electronics par Bessem BELGHITH 
   AnalogReadSerial

  cet exemple Lit une entrée analogique sur la broche 0, imprime le résultat    sur le moniteur série.
  La représentation graphique est disponible à l'aide du traceur série
  Fixez la broche centrale d'un potentiomètre à la broche A0 et les broches    extérieures à + 5V et à la masse.


* / 


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

// le sous-programme de la boucle s'exécute encore et encore pour toujours: 
void loop ( ) {
  
// lit l'entrée sur la broche analogique 0: 
  
int sensorValue = analogRead ( A0 ) ;
  
// affiche la valeur que vous avez lu: 
  
Serial . println ( sensorValue ) ;
  
delay ( 1 ) ;        // délais entre les lectures pour la stabilité 
}


Aucun commentaire:

Enregistrer un commentaire