🛠 Lire un capteur analogique (potentiomètre)
Objetivos
Leer un sensor analógico (potenciómetro) en el ADC del SAMD21G18A: la MKR WAN 1310 dispone de 7 entradas analógicas configurables en 8, 10 o 12 bits, y una salida DAC de 10 bits. Se aprende a cambiar la resolución de lectura y a trazar la curva en el trazador serie.
Material
- 1 placa MKR WAN 1310
- 1 potenciómetro (se recomienda 10 kΩ)
- Cableado: las dos patillas extremas a 3,3 V y GND, el cursor a A0 (lógica de 3,3 V, nunca superar los 3,3 V en una patilla)
Código completo
// Lecture analogique 12 bits sur A0 — MKR WAN 1310
const int CAPTEUR = A0;
void setup {
Serial.begin(115200);
while (!Serial);
analogReadResolution(12); // 0..4095 au lieu de 0..1023 par défaut
analogRead(A0); // première lecture à jeter
Serial.println("Tourne le potentiometre");
}
void loop {
int brut = analogRead(CAPTEUR); // 0..4095
float tension = brut * 3.3f / 4095.0f; // tension réelle sur A0
Serial.print("brut=");
Serial.print(brut);
Serial.print("\tU=");
Serial.print(tension, 2);
Serial.println(" V");
delay(50);
}
Verificación esperada
Al girar el potenciómetro, el valor bruto sigue 0 → 4095 y la tensión calculada sigue 0 → 3,3 V. El trazador serie muestra una curva continua; los valores coinciden con las mediciones de un multímetro.
Errores frecuentes
- Olvidar
analogReadResolution(12)y luego dividir por 1023: la tensión calculada es la mitad de la correcta. - Alimentar el potenciómetro a 5 V: el cursor puede enviar más de 3,3 V a A0, superando la tensión de funcionamiento del circuito (3,3 V).
- Leer A0 sin patilla cableada: valores flotantes e inestables, normales en una entrada no controlada.
- Confundir ADC (7 entradas) y DAC (1 salida analógica, DAC de 10 bits):
analogWriteen una patilla PWM no es la salida DAC.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
join-otaa.inoArduinouplink-confirme.inoArduinodownlink.inoArduinoactivation-abp.inoArduinosuivi-adr.inoArduinoclasse-c.inoArduino