🛠 Lire un capteur analogique (potentiomètre)

Arduino Pro Mini · debutant · Schéma : IMG-pro-mini-debutant-3-promini-capteur-analogique.svg — potentiomètre 10 kΩ en diviseur de tension sur A0 de l'Arduino Pro Mini, affichage série de la valeur 0-1023 et de la tension relative à VCC

Objectifs

Découvrir l'ADC 10 bits de l'ATmega328P sur la Pro Mini : la carte expose les entrées A0-A5 sur la rangée de picots, et la dernière révision SparkFun casse même les canaux supplémentaires ADC6/ADC7 (au-delà des 6 canaux de l'Uno). Point crucial propre à la Pro Mini : la référence de l'ADC est VCC, donc 5 V sur le modèle 5 V/16 MHz mais 3,3 V sur le modèle 3,3 V/8 MHz — la conversion en volts dépend de votre carte. On câble un potentiomètre en diviseur de tension sur A0 et on affiche valeur brute et millivolts.

Matériel

Code complet

// Lecture analogique 10 bits sur A0 — pleine echelle = VCC
const uint8_t CAPTEUR = A0;
const uint32_t FULLSCALE_MV = 5000;  // 3300 pour le modèle 3,3 V/8 MHz
uint32_t derniere = 0;

void setup {
  Serial.begin(57600);         // A0 en entrée implicite pour analogRead
}

void loop {
  if (millis - derniere >= 50) {          // 20 affichages/s
    derniere = millis;
    int brut = analogRead(CAPTEUR);         // 0..1023
    uint32_t mv = (uint32_t)brut * FULLSCALE_MV / 1024UL;
    Serial.print(brut);
    Serial.print(F(" -> "));
    Serial.print(mv);
    Serial.println(F(" mV"));
  }
}

Vérification attendue

En tournant le potentiomètre, la valeur brute suit 0 (curseur côté masse) à 1023 (curseur côté VCC) et les millivolts suivent 0-VCC. Le traceur série dessine une droite continue. Les valeurs au repos sont stables à ±1 près, preuve d'un bon contact de la masse. Sur le modèle 3,3 V, passez FULLSCALE_MV à 3300 : sinon la tension affichée est fausse de +50 %.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels