Entrada analógica
Una entrada analógica mide un voltaje y te lo entrega como un número. En
placas Arduino clásicas el convertidor es de 10 bits, así que el rango es de 0 a
1023 (board.RESOLUTION.ADC):
0significa 0 V.1023significa el voltaje máximo de referencia (típicamente 5 V).- Un valor intermedio es proporcional:
512≈ la mitad del voltaje.
analogRead(indice, callback)
Sección titulada «analogRead(indice, callback)»indice: el índice del pin analógico, no el número de pin digital.A0es0,A1es1, etc. Es el error más común: para leerA0se pasa0.callback: recibe elvalorleído (0–1023). Se dispara periódicamente (en cada muestreo), a diferencia dedigitalRead, que solo avisa cuando el pin cambia. Es decir, con analógico recibes lecturas continuas.
board.analogRead(0, (valor) => { // 0 = A0 varG.lectura = valor; // 0–1023});Convertir a voltaje
Sección titulada «Convertir a voltaje»Si necesitas voltios en vez del número crudo:
const VREF = 5; // voltaje de referencia de la placa
board.analogRead(0, (valor) => { varG.voltaje = (valor / 1023) * VREF; // regla de tres});Mapear a un rango propio
Sección titulada «Mapear a un rango propio»Para convertir 0–1023 a, por ejemplo, 0–100 %:
board.analogRead(0, (valor) => { varG.porcentaje = Math.round((valor / 1023) * 100);});(Con frvn componentes, five.Sensor trae un
método scaleTo que hace este mapeo por ti.)
Controlar el reporte: reportAnalogPin(indice, activar)
Sección titulada «Controlar el reporte: reportAnalogPin(indice, activar)»Cada pin analógico que lees genera tráfico continuo con la placa. Puedes apagar el que no uses:
board.reportAnalogPin(0, 0)— deja de reportarA0.board.reportAnalogPin(0, 1)— reanuda el reporte deA0.
(analogRead ya enciende el reporte por dentro; reportAnalogPin es para apagarlo o
volverlo a encender manualmente.)
La cadencia depende del muestreo
Sección titulada «La cadencia depende del muestreo»Cada cuánto se dispara tu callback lo fija el intervalo de muestreo (por defecto, una lectura cada 19 ms). Si recibes demasiados o muy pocos datos, ajústalo ahí.
Errores típicos
Sección titulada «Errores típicos»- Usar el número de pin digital en vez del índice analógico (para
A0, pasa0). - Esperar que avise solo al cambiar: el analógico reporta de forma periódica.
- Demasiado tráfico: apaga con
reportAnalogPin(indice, 0)los pines que no uses.