🛠 Lire un capteur analogique avec l'ADC du Boron
Objetivos
El nRF52840 del Boron integra un convertidor analógico-digital y la placa expone 6 entradas analógicas A0 a A5 (3,3 V máx.). Usted montará un sensor analógico simple — un divisor de voltaje con una resistencia dependiente de la luz (LDR) —, leerá el voltaje con analogRead, lo convertirá a porcentaje y lo mostrará en la consola serie. Esta es la base de cualquier sensor analógico: potenciómetro, sensor de flexión, TMP36, etc.
Material
- 1× Particle Boron + cable micro-USB
- 1× resistencia dependiente de la luz (LDR) + 1× resistencia fija de 10 kΩ
- protoboard, cables jumper
- Opcional: una pequeña lámpara para variar la luz
Código completo
// Boron — lecture ADC sur A0 (capteur de lumière)
const uint16_t CAPTEUR_PIN = A0; // A0-A5 : entrées analogiques
void setup {
Serial.begin(9600);
pinMode(CAPTEUR_PIN, INPUT);
delay(1000);
Serial.println("Lecture capteur analogique (0-4095)");
}
void loop {
uint16_t brut = analogRead(CAPTEUR_PIN); // 0-4095 (12 bits)
float tension = brut * 3.3f / 4095.0f; // 0-3,3 V
uint16_t pourcent = map(brut, 0, 4095, 0, 100);
Serial.printf("brut=%u U=%.2f V lumiere=%u %%\n", brut, tension, pourcent);
delay(250);
}
Cableado: 3V3 → LDR → pin A0 → resistencia de 10 kΩ → GND. El punto medio va a A0.
Verificación esperada
Al tapar la LDR con el dedo, el valor bruto cae o sube notablemente (según la orientación del divisor); al iluminarla, vuelve hacia el otro extremo. El voltaje calculado permanece entre 0 y 3,3 V. Al conectar A0 a 3V3, debe leer aproximadamente 4095; al conectarlo a GND, aproximadamente 0 — esta es su prueba de calibración.
Errores frecuentes
- Superar los 3,3 V en la entrada ADC: el Boron admite un máximo de 3,3 V en todos los pines, bajo riesgo de daños.
- Divisor montado al revés: las variaciones se invierten, lo cual no es una falla pero perturba la lógica de la aplicación.
- Leer A0 como un pin digital (
digitalRead): obtendrá 0 o 1 sin ningún matiz. - Resistencia fija demasiado alejada de la impedancia de la LDR en sus condiciones de iluminación: el rango útil se reduce a unos pocos decenas de puntos.
- Fuentes de ruido (motores en la misma fuente de alimentación): promedie varias lecturas si el valor salta mucho.
> NO VERIFICADO: la resolución predeterminada del ADC (12 bits, rango 0-4095) es la del nRF52840, pero debe confirmarse para el Boron; ajuste el cálculo si analogRead devuelve un rango diferente.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.inoArduinobouton-evenement.inoArduinofonction-distance.inoArduinocapteur-dht.inoArduinoruban-neopixel.inoArduinopwm-respiration.inoArduino