¿Alguna vez te preguntaste cómo un Arduino, que por dentro solo entiende ceros y unos, logra "leer" la temperatura de un sensor, el nivel de luz de una fotorresistencia o el voltaje de una batería? La respuesta está en un proceso llamado discretización, o conversión analógico digital (ADC). Es el puente invisible entre el mundo físico (continuo, lleno de matices) y el mundo digital (hecho de pasos discretos). En esta guía vas a entender qué es un ADC, qué significan sus números de especificación (bits, SPS, canales, protocolo) y, sobre todo, vas a ver cómo se aplica en un caso real: muestrear los 220 V de un enchufe chileno con un microcontrolador sin quemarlo.

Señal continua contra señal discreta
Una señal analógica (o continua) toma infinitos valores en cada instante: la temperatura de tu pieza no salta de 20 a 21 grados, pasa por todos los valores intermedios. Una señal discreta, en cambio, solo existe en momentos puntuales y con valores definidos. Discretizar es justamente eso: tomar una señal continua y representarla con un conjunto finito de muestras. La conversión inversa (de digital a analógico) se llama DAC, pero en esta guía nos enfocamos en el camino que más usas cuando lees sensores: de lo analógico a lo digital.
La siguiente imagen deja clara la diferencia. Arriba, la onda continua dibuja una curva suave; abajo, la versión discreta es una serie de puntos que aproximan esa curva.

Por qué esto importa más de lo que parece
Pensá en un multímetro digital. Cuando mide el voltaje de un circuito, primero captura una señal analógica y después su ADC interno la convierte en el número que ves en la pantalla. Ese mismo principio es la base de prácticamente todo sensor que vas a usar: temperatura, humedad, luz, sonido, gas. Casi todos generan un voltaje proporcional a lo que miden, y ese voltaje se discretiza para que el microcontrolador lo pueda procesar.
Y no termina en la mesa de trabajo del maker. Tu celular usa un ADC para saber cuánta batería le queda, y otro para convertir lo que recibe la antena en datos digitales: así funcionan el WiFi, el Bluetooth, el LTE/5G y el NFC. En un auto, los ADC leen los sensores del motor; en un hospital, interpretan los signos vitales; en audio, un micrófono convierte las ondas de sonido en voltaje y el ADC las digitaliza para que el computador las procese. Dicho de otra forma: sin conversión analógico digital, el mundo físico y el digital simplemente no se hablarían.
La anatomía de un ADC: las 6 características que importan
Un convertidor analógico digital no es más que un circuito especializado en esta tarea. Existen cientos de modelos, y elegir el correcto depende de entender estas seis características. Un buen ejemplo de chip dedicado es el ADS1115, un ADC de 16 bits por I2C muy popular entre makers.

- Resolución: es la mínima diferencia de entrada que el conversor puede distinguir. Se mide en bits y define cuántos valores discretos puede producir. Un ADC de 8 bits representa 2^8 = 256 niveles; uno de 16 bits, 65.536. Más bits, más fidelidad.
- Tasa de muestreo: cuántas mediciones hace por segundo, en SPS (samples per second). Más SPS captura más detalle temporal, pero exige más procesamiento y memoria.
- Cantidad de canales: cuántas señales puede leer a la vez. Los hay de un canal o multicanal, según la aplicación.
- Rango de voltaje: los límites de entrada que tolera, típicamente 0 a 5 V o 0 a 3.3 V. Pasarse de ese rango satura la lectura o, peor, daña el chip.
- Protocolo de comunicación: cómo entrega los datos al microcontrolador (SPI, I2C, UART, bus paralelo). Cada uno tiene su balance de velocidad, pines y distancia.
- Exactitud y linealidad: qué tan cerca está la salida digital del valor real, y qué tan uniforme es esa respuesta a lo largo de todo el rango.
A continuación vamos a aterrizar estos conceptos con un caso concreto que cualquier entusiasta de la energía querría armar.
Caso real: medir el voltaje de la red eléctrica chilena
Acá va el cambio importante respecto del tutorial original. El autor trabaja con la red de Panamá y Estados Unidos: 120 V RMS a 60 Hz. En Chile la red es de 220 V RMS a 50 Hz, así que vamos a rehacer los números para nuestro caso, que es el que de verdad te va a tocar si quieres construir un medidor de energía.
Primero, ¿qué amplitud tiene realmente esa señal? El valor RMS no es el pico. Para obtener la amplitud pico multiplicas el RMS por la raíz de 2:
220 V × √2 ≈ 311 V de amplitud (unos 622 V pico a pico)
O sea, una onda que oscila entre 311 V positivos y 311 V negativos. El desafío es claro: ¿cómo metemos eso en un ADC que solo lee entre 0 y 5 V, sin que salga humo? Hay tres piezas en el rompecabezas: atenuar, desplazar y proteger la polaridad.
Opción A: transformador de instrumentación
Un transformador de potencial (PT) reduce la magnitud del voltaje según su relación de vueltas. Con una relación 100:1, esos 311 V quedan en 3.11 V, ya casi en rango. Módulos como el ZMPT101B hacen exactamente esto y son la vía más segura y cómoda, porque además aíslan galvánicamente tu microcontrolador de la red. Para medir 220 V es la opción que recomiendo de partida.

Opción B: divisor de voltaje
La alternativa es un divisor resistivo. Conectas dos resistencias en serie y tomas la señal en el nodo del medio. El voltaje en ese punto es una fracción del total:
Vx = (Vpico × R2) / (R1 + R2)

Acá hay dos sutilezas que el tutorial original explica muy bien y que conviene no saltarse:
- No apuntes a 5 V de amplitud. Si tu pico es de 5 V, tu onda completa abarca 10 V pico a pico, y eso no cabe en una ventana de 0 a 5 V. Por eso conviene apuntar a una amplitud menor, del orden de 2.2 V, dejando espacio para la parte negativa una vez que centremos la señal.
- Usá resistencias de valor alto, en el orden de los MΩ. No es capricho: es disipación de potencia. Las resistencias comunes aguantan 0.25 W. Con 220 V sobre el divisor, si la resistencia total fuera baja la corriente las quemaría al instante. Trabajando en megaohms la corriente que circula es de apenas microamperios. Una combinación segura para 220 V sería del orden de R2 = 100 kΩ con R1 ≈ 13 MΩ (o sus equivalentes en MΩ manteniendo la misma proporción), siempre verificando que la resistencia total mantenga la disipación bien por debajo de 0.25 W.
El paso que falta: desplazar la onda
Tanto el transformador como el divisor te dejan una señal que todavía es bipolar: sigue alternando entre positivo y negativo. La mayoría de los ADC, incluido el integrado del Arduino, son unipolares: no aceptan voltajes negativos, y si la onda cruza por debajo de 0 V el chip puede dañarse. (Existen ADC bipolares, como el ADS8584S de Texas Instruments con entrada de 10 V negativos a 10 V positivos, pero son menos comunes y más caros.)
La solución elegante es un circuito sumador no inversor con amplificador operacional, que agrega una "componente DC" a la señal. Eso desplaza toda la onda hacia arriba en el eje vertical, de modo que quede contenida entre 0 y 5 V sin perder su forma senoidal. En la práctica: la señal centrada nunca baja de 0 V ni sube de 5 V, y por lo tanto cualquier ADC unipolar de 0 a 5 V la puede leer tranquilo. La señal sin desplazar, en cambio, freiría ese mismo ADC apenas pasara al lado negativo.
Resolución: cuántos bits necesitás de verdad
Ya tenemos la señal acondicionada. Ahora la pregunta clave: ¿con cuántos bits la muestreamos? Acá es donde la resolución deja de ser teoría.
Supongamos un ADC de apenas 2 bits. Solo puede ver 2^2 = 4 niveles (0, 1.67, 3.33 y 5 V). El resultado es una escalera burda que apenas recuerda a la senoidal original:

Con 8 bits (256 niveles) la cosa cambia por completo. La reconstrucción es tan fiel que, a esta escala, ni siquiera se notan los escalones de discretización: la onda muestreada se superpone casi perfecto a la original.

La conclusión es directa: a mayor resolución, más precisa la representación. En el mercado hay ADC desde 6 hasta 32 bits. Un ADC de 32 bits con referencia de 5 V detecta cambios de 1.16 nanovoltios, una resolución absurda que solo se justifica en instrumentación muy particular. Para la mayoría de los proyectos, 8, 10, 12 o 16 bits resuelven bien.
Pero ojo con un detalle que casi siempre se pasa por alto: la resolución se ve afectada por la atenuación previa. Si convertiste 311 V en 2.2 V, cada voltio real quedó representado por una fracción minúscula de la señal muestreada. Con el ADC de 10 bits del Arduino Uno terminas detectando saltos mínimos de varias décimas de voltio en la señal original. Si quieres cuantificar diferencias finas (algo importante si estás construyendo un analizador de energía), probablemente necesites un ADC de 16 bits, que te permite resolver milivoltios incluso después de la atenuación. Esta es la razón por la que un medidor de energía serio no se queda con el ADC interno del Arduino y suma un chip externo como el ADS1115.
Tasa de muestreo: el otro eje de la fidelidad
Una buena resolución en amplitud no basta si muestreás demasiado lento. La tasa de muestreo dice cuán seguido el ADC toma una lectura. La red chilena oscila a 50 Hz (la de Panamá a 60 Hz), o sea decenas de ciclos por segundo, y para reconstruir bien esa onda necesitás muchas muestras por ciclo.
Acá entra el Teorema de Nyquist: para capturar fielmente una señal, tienes que muestrear al menos al doble de su frecuencia más alta. El ADC del Arduino Uno (ATmega328P) ronda los 10.000 SPS (10 kSPS) en condiciones ideales, lo que en teoría alcanza de sobra para una onda de 50 Hz. En la práctica vas a ver una leve distorsión "diente de sierra" por esa limitación, pero sigue siendo perfectamente usable. Por defecto, la librería de Arduino configura el ADC con un prescalador de 128, lo que da un reloj de ADC de 125 kHz y, considerando unos 13 ciclos por conversión, esos ~10 kSPS. Puedes subir la tasa cambiando el prescalador, pero a costa de precisión en la lectura. En el otro extremo del mercado existen ADC de hasta 10.4 GS/s (más de 10.000 millones de muestras por segundo) para aplicaciones de altísima velocidad.
Canales, protocolos, exactitud y linealidad
Canales múltiples: un ADC multicanal mide varias señales sin necesidad de varios chips, ideal para telemetría, monitoreo ambiental o control industrial. Habilita además el muestreo diferencial (medir la diferencia entre dos señales para bajar el ruido) y la ganancia ajustable por canal. Un ejemplo potente es el ADS1256, un ADC de 24 bits con 8 canales (A0 a A7).

Protocolo de comunicación: define cómo el ADC entrega los datos al microcontrolador.
- SPI: alta velocidad, full duplex, ideal a corta distancia. Usa más pines.
- I2C: más lento que SPI pero usa solo dos líneas; perfecto cuando te sobran pocos pines o quieres varios dispositivos en el mismo bus (es el caso del ADS1115).
- UART: comunicación serial asincrónica simple, buena para distancias largas.
- Bus paralelo: transmite varios bits a la vez (mucha velocidad) a cambio de muchos pines; poco común hoy.
Exactitud y linealidad: la exactitud mide cuán cerca está la salida del valor real, afectada por el offset, la ganancia y el ruido. La linealidad describe cuán uniforme es la respuesta en todo el rango; un ADC perfectamente lineal grafica una recta entre entrada y salida. En la vida real hay algo de no linealidad, que se cuantifica como INL (desviación máxima respecto de la recta ideal) y DNL (variación entre pasos adyacentes, en fracciones de LSB, el bit menos significativo). Estas métricas son críticas en instrumentación científica y equipos médicos.
Variantes y mejoras
Una vez que entendés la discretización, se te abren varios caminos para llevar tus proyectos más lejos:
- Salta del ADC interno al ADS1115 por I2C. Si tu proyecto necesita resolver milivoltios (un medidor de energía, una balanza, un sensor de pH), el salto de 10 a 16 bits es la mejora más rentable. Como va por I2C, solo te ocupa dos pines y puedes tener varios en el mismo bus cambiando su dirección.
- Aplica sobremuestreo (oversampling) para ganar bits "gratis". Si tomas muchas más muestras de las necesarias y las promedias, puedes reducir el ruido y ganar resolución efectiva sobre el ADC de 10 bits del Arduino, sin comprar hardware nuevo. Es un truco clásico para exprimir el ATmega328P.
- Agrega un sensor de corriente y calcula potencia real. Combinando la medición de voltaje (ZMPT101B) con un sensor de corriente no invasivo tipo SCT013, puedes calcular potencia, factor de potencia y consumo en kWh: la base de un monitor de energía hogareño conectado a tu tablero.
Personalización para Chile
En MechatronicStore encontrás todo lo necesario para pasar de la teoría a la práctica, con stock local:
- Módulo ADC I2C 16 bits ADS1115 a $8.990 CLP: el conversor externo estrella de esta guía, con 16 bits, 4 canales y comunicación I2C. La mejora directa al ADC de 10 bits del Arduino.
- Sensor de voltaje AC ZMPT101B a $3.990 CLP: la forma segura de medir los 220 V de la red chilena. Trae el transformador de instrumentación y el acondicionamiento listos, aislando tu microcontrolador de la red.
- Arduino UNO R3 SMD original a $55.990 CLP: el microcontrolador clásico con ADC de 10 bits para empezar. Si tu presupuesto es ajustado, la versión Arduino Uno R3 compatible a $7.890 CLP cumple la misma función para aprender estos conceptos.
Si en otros tutoriales ves que usan placas como "Sparkfun RedBoard" o un "Adafruit ADS1115", el Arduino Uno y el módulo ADS1115 del catálogo MS son funcionalmente equivalentes y a precio local.
Recursos
- Tutorial original (español): Discretización de señales analógicas, por Antony García González en Panama Hitek.
- Documentación adicional: hoja de datos del ADS1115 (Texas Instruments) y del ADS1256 para profundizar en resolución, ganancia programable y protocolos.
Versión chilena basada en el trabajo de Panama Hitek, reangulada para la red de 220 V y con componentes en stock local en MechatronicStore.



