Arduino - Fonction E / S avancée

Dans ce chapitre, nous allons apprendre quelques fonctions avancées d'entrée et de sortie.

Fonction analogReference ()

Configure la tension de référence utilisée pour l'entrée analogique (c'est-à-dire la valeur utilisée comme haut de la plage d'entrée). Les options sont -

  • DEFAULT - La référence analogique par défaut de 5 volts (sur les cartes Arduino 5V) ou 3,3 volts (sur les cartes Arduino 3,3V)

  • INTERNAL - Une référence intégrée, égale à 1,1 volts sur l'ATmega168 ou l'ATmega328 et à 2,56 volts sur l'ATmega8 (non disponible sur l'Arduino Mega)

  • INTERNAL1V1 - Une référence 1.1V intégrée (Arduino Mega uniquement)

  • INTERNAL2V56 - Une référence 2.56V intégrée (Arduino Mega uniquement)

  • EXTERNAL - La tension appliquée à la broche AREF (0 à 5V uniquement) est utilisée comme référence

Syntaxe de la fonction analogReference ()

analogReference (type);

type - peut utiliser n'importe quel type de suivi (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL)

N'utilisez rien de moins de 0 V ou de plus de 5 V pour la tension de référence externe sur la broche AREF. Si vous utilisez une référence externe sur la broche AREF, vous devez définir la référence analogique sur EXTERNAL avant d'appeler leanalogRead()fonction. Sinon, vous allez court-circuiter la tension de référence active (générée en interne) et la broche AREF, endommageant éventuellement le microcontrôleur de votre carte Arduino.

Vous pouvez également connecter la tension de référence externe à la broche AREF via une résistance de 5K, vous permettant de basculer entre les tensions de référence externes et internes.

Notez que la résistance modifiera la tension utilisée comme référence car il y a une résistance interne de 32K sur la broche AREF. Les deux agissent comme un diviseur de tension. Par exemple, 2,5 V appliqué à travers la résistance produira 2,5 * 32 / (32 + 5) = ~ 2,2 V à la broche AREF.

Example

int analogPin = 3;// potentiometer wiper (middle terminal) connected to analog pin 3 
int val = 0; // variable to store the read value

void setup() {
   Serial.begin(9600); // setup serial
   analogReference(EXTERNAL); // the voltage applied to the AREF pin (0 to 5V only) 
      // is used as the reference.
}

void loop() {
   val = analogRead(analogPin); // read the input pin
   Serial.println(val); // debug value
}