🛠 Lire un capteur analogique sur A1

Arduino MKR GSM 1400 · debutant · Schéma : IMG-mkr-gsm-1400-debutant-3-mkrgsm-capteur-analogique.svg — MKR GSM 1400 avec un potentiomètre alimenté en 3,3 V dont le curseur est relié à l'entrée analogique A1, tension affichée sur la console USB.

Objectifs

Utiliser les entrées analogiques de la MKR GSM 1400 : la carte dispose de 7 entrées A0–A6 avec un ADC 12 bits (ADC_RESOLUTION 12 dans la variante du core), et A0 est aussi la sortie DAC. Ce tutoriel lit un potentiomètre sur A1, moyenne plusieurs échantillons et allume la LED embarquée au-delà d'un seuil — le patron de base de tout capteur analogique (sonde de niveau, capteur de qualité d'eau type WaterAid, etc.).

Matériel

Code complet

// Capteur analogique sur A1, ADC 12 bits, moyenne mobile + seuil LED
const uint8_t CAPTEUR = A1;
const uint16_t SEUIL  = 2048;   // milieu de l'echelle 12 bits (0..4095)

uint16_t lireMoyenne(uint8_t broche, uint8_t n) {
  uint32_t somme = 0;
  for (uint8_t i = 0; i < n; i++) {
    somme += analogRead(broche);
    delay(2);
  }
  return somme / n;
}

void setup {
  analogReadResolution(12);      // 12 bits par defaut, explicite ici
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
  while (!Serial) {}
}

void loop {
  uint16_t v = lireMoyenne(CAPTEUR, 16);
  // Tension approximative : ADC alimente en 3,3 V, pleine echelle 4095.
  float mv = v * 3300.0f / 4095.0f;
  Serial.print("A1 brut : "); Serial.print(v);
  Serial.print("  ~"); Serial.print(mv);
  Serial.println(" mV");
  digitalWrite(LED_BUILTIN, v > SEUIL ? HIGH : LOW);
  delay(200);
}

Vérification attendue

En tournant le potentiomètre, la valeur brute suit de 0 à environ 4095 et la tension affichée reste proche de 0–3300 mV. La LED embarquée s'allume à mi-course. La moyenne sur 16 échantillons stabilise la lecture : sans elle, les dernières décimales dansent, surtout quand le module radio émet (à ce stade il est inactif).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels