Nota

Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts.

Why Join?

  • Expert Support: Solve post-sale issues and technical challenges with help from our community and team.

  • Learn & Share: Exchange tips and tutorials to enhance your skills.

  • Exclusive Previews: Get early access to new product announcements and sneak peeks.

  • Special Discounts: Enjoy exclusive discounts on our newest products.

  • Festive Promotions and Giveaways: Take part in giveaways and holiday promotions.

👉 Ready to explore and create with us? Click [Aquí] and join today!

MCP3008

El MCP3008 es un convertidor analógico-digital (ADC) de aproximaciones sucesivas de 10 bits con 8 canales de entrada y un protocolo de comunicación SPI (Interfaz Periférica Serial). Es capaz de interactuar con un microcontrolador para convertir señales de entrada analógicas en datos digitales para su posterior procesamiento.

../../_images/MCP3008.jpg

Secuencia de operación

Una conversión en el MCP3008 comienza configurando el pin CS (chip select) en bajo, lo que activa la comunicación con el dispositivo. El microcontrolador envía entonces una secuencia de control de 3 bytes a través de la interfaz SPI para especificar la configuración y seleccionar el canal de entrada.

El primer byte enviado contiene el bit de inicio y el bit de selección de modo simple/diferencial. Los siguientes bits indican cuál de los 8 canales (CH0–CH7) se debe leer. Los datos se desplazan al dispositivo en cada flanco ascendente del reloj SPI (SCLK), y el resultado de la conversión se devuelve simultáneamente.

Se incluye un pequeño retardo interno para que el canal de entrada seleccionado se estabilice antes de que comience la conversión. El MCP3008 realiza entonces una conversión analógica-digital de 10 bits usando un circuito de muestreo y retención (sample-and-hold) y un comparador de registro de aproximaciones sucesivas (SAR).

El resultado de la conversión se transmite de vuelta al microcontrolador a través de la línea MISO (Master In Slave Out). El bit más significativo (MSB) del resultado de 10 bits se envía primero, seguido por los bits restantes. El microcontrolador lee el resultado a través del bus SPI durante este tiempo.

Después de que el valor digital completo de 10 bits se ha desplazado hacia fuera, el MCP3008 completa el ciclo y espera el siguiente comando.

../../_images/MCP3008detail.png