Se hace con un convertidor analógico a digital, o ADC para abreviar. Hay muchos tipos diferentes, todos los cuales tienen sus propias ventajas y desventajas especiales. Todos involucran uno o más comparadores analógicos, un dispositivo para determinar si el voltaje de entrada es mayor o menor que alguna referencia, y la mayoría también involucra un convertidor digital a analógico, o DAC para abreviar, que es exactamente lo contrario de un ADC.
Para aplicaciones de velocidad extremadamente alta, como video en tiempo real, normalmente encuentra un convertidor Flash. Este es el tipo más tosco y costoso en términos de hardware, pero puede dar un resultado en nanosegundos o incluso picosegundos y eso justifica los problemas y los gastos. Utiliza un comparador analógico por estado de salida , no por bit. Por lo tanto, un ADC Flash de 4 bits tiene dieciséis comparadores, uno para cada estado de salida de 0 a 15. Un convertidor Flash de 16 bits necesita 65.536 comparadores. Todos están conectados a la misma entrada, y cada uno tiene una única salida para mostrar “más alto” o “más bajo” que su nivel de referencia particular. Las salidas se alimentan a un codificador lógico enorme que proporciona una salida binaria correspondiente al comparador de números más alto que es “más alto”. Entonces, si tenemos un convertidor de 2 bits (hagámoslo simple) con cuatro comparadores en 0, 1, 2 y 3, y lo alimentamos con un voltaje de 2.5, C0 C1 y C2 dicen “más alto” y C3 dice “más bajo”, entonces la lógica de salida devuelve un valor de 2.
El tipo habitual de ADC se llama aproximación sucesiva, porque hace exactamente eso. Utiliza un DAC para alimentar una entrada de un solo comparador analógico, la otra entrada es el voltaje bajo prueba. El registro de aproximación sucesivo (SAR) alimenta un valor digital al DAC, que produce un voltaje analógico correspondiente. Para empezar, se establece el bit más significativo del SAR, que es el valor digital a mitad de camino. El DAC produce la mitad del voltaje de referencia y el comparador devuelve una salida de “más alto” o “más bajo”. Si el resultado es “más bajo”, el bit más significativo del SAR se restablece, y si es “más alto”, se deja configurado. Luego, se establece el siguiente bit más significativo, lo que hace que el DAC produzca un voltaje de referencia de un cuarto o tres cuartos, y el comparador nuevamente indica si ese bit necesita restablecerse o dejarse establecido, y así sucesivamente hasta que se haya probado cada bit. El artículo vinculado de Wikipedia lo explica con mucho más detalle. Se necesitan varios pulsos de reloj para completar una conversión, dependiendo de cuántos bits de resolución se necesiten, por lo que es de velocidad media y de uso general y generalmente tiene de 8 a 12 bits de resolución. Este es el tipo de ADC que se encuentra en un Arduino.

Tenga en cuenta que el cuadro marcado [S / H] arriba significa Sample and Hold. El voltaje de entrada está conectado a un condensador que lo “muestrea”, luego el voltaje de entrada se desconecta y el condensador “lo retiene” para que no cambie durante la conversión.
El ruido general de la conmutación digital hace que el ADC de aproximación sucesiva no sea adecuado para las lecturas más precisas, por lo que aunque se realizan versiones de 16 bits, para una mejor resolución (16 bits y más) usualmente usamos un tipo diferente, como una pendiente doble o Integración ADC, que son bastante lentos pero hacen un buen trabajo al mantener el ruido digital alejado del comparador. Los multímetros digitales generalmente usan este tipo, que puede consultar en el enlace en lugar de volver a escribir Wikipedia.