🛠 Lire un capteur analogique sur A0

Arduino MKR NB 1500 · debutant · Schéma : IMG-mkr-nb-1500-debutant-3-mkrnb-capteur-analogique.svg — Potentiomètre alimenté en 3,3 V dont le curseur est relié à la broche A0 d'une MKR NB 1500, broche A0 également marquée DAC0

Objetivos

Leer un sensor analógico (potenciómetro, termistor, sensor de luz) en la entrada A0 del MKR NB 1500. El SAMD21 posee un ADC de 10 bits (0–1023) limitado a 3,3 V, y A0 (PA02) es también la salida DAC del microcontrolador: el mismo pin sabe medir y generar una tensión analógica.

Material

Código completo

// Lecture ADC + boucle DAC — MKR NB 1500
const uint8_t SENSOR_PIN = A0;   // PA02 : entree ADC0 + sortie DAC (DAC0)

void setup {
  Serial.begin(9600);
  while (!Serial);
  analogReadResolution(10);      // ADC SAMD21 : 10 bits par defaut
}

void loop {
  int raw = analogRead(SENSOR_PIN);              // 0..1023 pour 0..3,3 V
  uint32_t mv = (uint32_t)raw * 3300UL / 1023UL; // tension en millivolts

  Serial.print("raw="); Serial.print(raw);
  Serial.print(" -> "); Serial.print(mv); Serial.println(" mV");

  analogWrite(DAC0, raw);        // reemet la meme tension en 0..3,3 V
  delay(500);
}

Verificación esperada

Gire el potenciómetro: el valor mostrado pasa de 0 a 1023 y los milivoltios lo siguen. Al conectar A0 (a través de un condensador de 100 nF a GND para suavizar) a otra entrada analógica, la tensión copiada por el DAC se encuentra idéntica — el bucle de medición/reproducción funciona.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales