🛠 Lire un capteur avec l'ADC 12 bits du SAMD21
Objetivos
Utilizar las entradas analógicas de la Tian: la tarjeta dispone de 12 entradas A0 a A11, todas reutilizables como digitales; A0–A5 se encuentran en las mismas ubicaciones que en una UNO, mientras que A6–A11 corresponden a los pines digitales 4, 6, 8, 9, 10 y 12. Además, el SAMD21 posee un convertidor analógico-digital de 12 bits: a diferencia de la UNO (10 bits, 0–1023), espere valores de 0 a 4095.
Material
- 1 Arduino Tian + cable micro-USB
- 1 potenciómetro de 10 kΩ: un extremo a masa, el otro al pin de alimentación de 3,3 V, el cursor hacia A0
- > SIN VERIFICAR: tensión de referencia analógica de la Tian (VDDIO 3,3 V o AREF externo): mida el rango real en lugar de suponer 5 V, para evitar leer un rango reducido.
Código completo
// Lecture 12 bits : 0..4095 attendus, à vérifier au Traceur série.
const uint8_t POT = A0;
void setup {
Serial.begin(115200);
}
void loop {
int brut = analogRead(POT); // ADC 12 bits du SAMD21 : 0..4095
float tension = brut / 4095.0 * 3.3; // à ajuster selon la référence réelle
Serial.print(F("brut=")); Serial.print(brut);
Serial.print(F(" ~")); Serial.print(tension, 2); Serial.println(F(" V"));
delay(10);
}
Verificación esperada
En el Monitor serie, el valor sigue al potenciómetro de forma continua. Calcule mentalmente la amplitud: si lee aproximadamente de 0 a 4095, el ADC de 12 bits está activo; si se limita a ~1023, su núcleo Arduino aún mapea en 10 bits — adapte la conversión. Esta es LA trampa de portabilidad UNO → Tian.
Errores frecuentes
- Partir del código UNO dividiendo por 1023: todo queda erróneo por un factor de 4 en la tensión calculada.
- Alimentar el potenciómetro con 5 V cuando el ADC referencia 3,3 V: la lectura satura desde ~3,3 V en el cursor, la mitad del recorrido no aporta nada.
- Confundir A6–A11 con pines dedicados: estas entradas residen en D4, D6, D8, D9, D10, D12; si su sketch usa D9 como PWM, A9 ya no está libre.
- > SIN VERIFICAR: resolución por defecto de analogWrite en Tian (10 bits en las tarjetas Arduino con SAMD): verifique con un osciloscopio o la documentación del core antes de diseñar una conversión ADC→PWM precisa.
- Entrada analógica sin alimentar: un dedo sobre el cable produce valores que derivan lentamente, no es un sensor, es una antena.
Otros tutoriales para esta placa
- Découvrir l'Arduino Tian : un microcontrôleur et un vrai Linux sur la même carte
- Bouton et LED sur les GPIO de la Tian : les bases côté SAMD21
- Le Bridge : faire exécuter des commandes Linux depuis le croquis
- Configurer le WiFi et piloter Linino en SSH
- Télémétrie : pousser une mesure du capteur vers le réseau
- GPIO duos : commander les broches de l'Arduino depuis Linux
Ejemplos de código para esta placa
clignotant-rest.inoArduinoconsole-bridge.inoArduinovaleurs-partagees.inoArduinoprocess-shell.inoArduinoserveur-json.inoArduinolecture-fichier.inoArduino