🛠 Lire un capteur analogique avec l’ADC 10 bits

Arduino Mega 2560 (Rev3) · debutant · Schéma : IMG-mega-2560-debutant-3-capteur-analogique.svg — potentiomètre 10 kΩ monté en pont diviseur entre 5 V et la masse, curseur vers l’entrée analogique A0 de l’Arduino Mega 2560

Objectifs

Utiliser le convertisseur analogique-numérique de l'ATmega2560 : la Mega 2560 possède 16 entrées analogiques (A0 à A15) avec une résolution de 10 bits, soit des valeurs entières de 0 à 1023 pour une tension de référence par défaut de 5 V. Vous apprendrez à lire un capteur, convertir la valeur en tension, et comprendre le rôle de la broche AREF.

Matériel

Branchez les deux extrémités du potentiomètre sur 5 V et GND, et le curseur (patte du milieu) sur A0. La référence analogique peut être modifiée via la broche AREF et la fonction analogReference — ne jamais appliquer une tension externe sur AREF sans lire la documentation préalablement.

Code complet

// Lecture ADC 10 bits — Arduino Mega 2560
const uint8_t CAPTEUR = A0;   // 16 entrées : A0..A15

uint32_t t0 = 0;

void setup {
  Serial.begin(115200);
}

void loop {
  if (millis - t0 >= 100) {          // 10 affichages / s
    t0 = millis;
    uint16_t brut = analogRead(CAPTEUR);        // 0..1023
    float tension = brut * (5.0 / 1023.0);      // 0..5 V
    Serial.print(F("brut=")); Serial.print(brut);
    Serial.print(F("  tension=")); Serial.print(tension, 2);
    Serial.println(F(" V"));
  }
}

Vérification attendue

En tournant le potentiomètre, la valeur brute passe de 0 à 1023 et la tension de 0,00 à 5,00 V dans le moniteur série à 115200 bauds. Une mesure au multimètre entre A0 et GND doit confirmer la tension affichée (à la précision près de l'ADC 10 bits : 5 V / 1024 ≈ 4,9 mV par pas).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels