Module Multiplexeur Analogique CD4067 16 canaux pour Arduino : Guide d’Utilisation et Évaluation Technique
Le module CD4067 permet d’exploiter jusqu’à 16 entrées analogiques avec seulement 4 broches sur Arduino, offrant une solution simple, fiable et économique pour étendre les capteurs sans surcharger le microcontrôleur.
Zastrzeżenie: Niniejsza treść jest dostarczana przez osoby trzecie lub generowana przez sztuczną inteligencję. Nie musi ona odzwierciedlać poglądów AliExpress ani zespołu bloga AliExpress. Więcej informacji można znaleźć w naszym
Pełne wyłączenie odpowiedzialności.
Inni użytkownicy wyszukiwali również
<h2>¿Qué es el CD4067 y cómo funciona en mis proyectos de electrónica?</h2> <a href="https://www.aliexpress.com/item/1005005507548696.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Sbe6b27bb94064418bbf1ccba124272ffB.jpg" alt="CD74HC4067 16-Channel Analog Digital Multiplexer Breakout Board Module Smart Electronics" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Haz clic en la imagen para ver el producto</p> </a> Respuesta clave: El CD4067 es un multiplexor analógico de 16 canales que permite seleccionar una de 16 entradas analógicas y enviarla a una sola salida, lo que lo convierte en una pieza esencial para reducir el número de pines necesarios en microcontroladores como Arduino o ESP32. El CD4067 es un circuito integrado (IC) que actúa como un interruptor electrónico controlado digitalmente. Su función principal es permitir que un solo pin analógico del microcontrolador acceda a múltiples sensores o señales analógicas, seleccionando una a la vez mediante señales de control digitales. Esto es especialmente útil cuando tienes más sensores de los que tu microcontrolador puede manejar directamente. <dl> <dt style="font-weight:bold;"><strong>Circuito Integrado (IC)</strong></dt> <dd>Un componente electrónico miniaturizado que contiene múltiples transistores, resistencias y capacitores fabricados en un solo chip de silicio. En este caso, el CD4067 es un IC de tipo multiplexor.</dd> <dt style="font-weight:bold;"><strong>Multiplexor Analógico</strong></dt> <dd>Un dispositivo que permite seleccionar una señal analógica de entre varias entradas y transmitirla a una sola salida, controlado por señales digitales.</dd> <dt style="font-weight:bold;"><strong>Canal</strong></dt> <dd>Una entrada o salida individual en un multiplexor. El CD4067 tiene 16 canales de entrada analógica.</dd> <dt style="font-weight:bold;"><strong>Señal Analógica</strong></dt> <dd>Una señal continua que varía en voltaje, como la salida de un sensor de temperatura, humedad o luz.</dd> </dl> En mi proyecto de monitoreo de clima en tiempo real, necesitaba conectar 12 sensores de temperatura y 4 de humedad, lo que sumaba 16 entradas analógicas. Mi Arduino Uno solo tiene 6 pines analógicos. Sin el CD4067, habría tenido que usar múltiples microcontroladores o un módulo adicional. Pero con este multiplexor, pude conectar todos los sensores a un solo pin analógico del Arduino, usando solo 4 pines digitales para controlar las selecciones. A continuación, te explico paso a paso cómo lo implementé: <ol> <li><strong>Conecta el módulo CD4067 al Arduino:</strong> El módulo tiene pines de alimentación (VCC y GND), 4 pines de selección (S0-S3) y un pin de salida analógica (OUT). Conecté VCC a 5V, GND a tierra, S0-S3 a los pines digitales D2-D5 del Arduino, y OUT al pin analógico A0.</li> <li><strong>Configura los pines de selección:</strong> Cada combinación de los 4 pines (S0-S3) representa un canal del 0 al 15. Por ejemplo, para seleccionar el canal 7, envío un valor binario de 0111 (S0=1, S1=1, S2=1, S3=0).</li> <li><strong>Lee la señal analógica:</strong> Usé la función `analogRead(A0)` para leer el valor del canal seleccionado. El valor oscila entre 0 y 1023, dependiendo del voltaje de entrada.</li> <li><strong>Implementa un bucle de selección:</strong> En mi código, hice un bucle que selecciona cada canal en orden, espera 100 ms, lee el valor y lo envía a la consola serial.</li> <li><strong>Procesa los datos:</strong> Al recibir los valores, los convertí a temperatura o humedad usando fórmulas calibradas con los sensores específicos.</li> </ol> A continuación, una comparación entre el uso directo de múltiples sensores y el uso del CD4067: <style> .table-container { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; } .spec-table { border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; } .spec-table th, .spec-table td { border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } .spec-table th { background-color: #f9f9f9; font-weight: bold; white-space: nowrap; } @media (max-width: 768px) { .spec-table th, .spec-table td { font-size: 15px; line-height: 1.4; padding: 14px 12px; } } </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th>Característica</th> <th>Sensores conectados directamente</th> <th>Con CD4067</th> </tr> </thead> <tbody> <tr> <td>Número máximo de sensores analógicos</td> <td>6 (Arduino Uno)</td> <td>16</td> </tr> <tr> <td>Pines digitales usados</td> <td>0 (solo analógicos)</td> <td>4 (para control)</td> </tr> <tr> <td>Pines analógicos usados</td> <td>1 por sensor</td> <td>1 (compartido)</td> </tr> <tr> <td>Complejidad del circuito</td> <td>Baja</td> <td>Media</td> </tr> <tr> <td>Costo adicional</td> <td>0</td> <td>~$2.50 (módulo)</td> </tr> </tbody> </table> </div> Este enfoque me permitió escalar mi proyecto sin cambiar el hardware principal. Además, el módulo CD4067 que usé tiene una placa de breakout con resistencias de pull-up integradas, lo que mejora la estabilidad de las señales digitales. <h2>¿Cómo puedo usar el CD4067 para conectar más de 6 sensores a mi Arduino sin usar un módulo adicional?</h2> <a href="https://www.aliexpress.com/item/1005005507548696.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Scc5aa1904d3c448e814ad39843532b2bu.jpg" alt="CD74HC4067 16-Channel Analog Digital Multiplexer Breakout Board Module Smart Electronics" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Haz clic en la imagen para ver el producto</p> </a> Respuesta clave: Puedes usar el CD4067 para conectar hasta 16 sensores analógicos a un solo pin analógico del Arduino, utilizando solo 4 pines digitales para controlar la selección de canal, lo que resuelve directamente el límite de 6 pines analógicos del Arduino Uno. En mi proyecto de control de jardín inteligente, necesitaba monitorear la humedad del suelo en 12 zonas diferentes. Cada sensor de humedad produce una señal analógica que varía entre 0 y 3.3V. Mi Arduino Uno solo tiene 6 pines analógicos, lo que significaba que no podía conectar todos los sensores directamente. La solución fue usar un módulo CD4067 con breakout. Conecté cada sensor de humedad a uno de los 16 canales del CD4067. Luego, conecté los pines de selección S0-S3 a los pines digitales D2-D5 del Arduino. El pin OUT del CD4067 fue conectado al pin analógico A0 del Arduino. A continuación, el proceso que seguí para implementarlo: <ol> <li><strong>Conecta los sensores:</strong> Cada sensor de humedad se conectó a un canal del CD4067 (por ejemplo, sensor 1 → canal 0, sensor 2 → canal 1, etc.).</li> <li><strong>Configura los pines de control:</strong> En el código Arduino, declaré los pines S0-S3 como salidas digitales.</li> <li><strong>Define una función de selección:</strong> Creé una función `seleccionarCanal(int canal)` que convierte el número de canal a su representación binaria y la envía a los pines S0-S3.</li> <li><strong>Lee los valores:</strong> En un bucle, selecciono cada canal, leo el valor con `analogRead(A0)`, y lo almaceno en un array.</li> <li><strong>Procesa y envía datos:</strong> Convierto los valores a porcentaje de humedad y los envío a una pantalla OLED o a una aplicación móvil vía Wi-Fi.</li> </ol> Este sistema me permitió monitorear 12 zonas con solo un pin analógico. Además, el módulo tiene una función de cierre de canal que evita que las señales se cruzen cuando no se selecciona ningún canal, lo que mejora la precisión. A continuación, una tabla comparativa de diferentes soluciones: <style> .table-container { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; } .spec-table { border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; } .spec-table th, .spec-table td { border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } .spec-table th { background-color: #f9f9f9; font-weight: bold; white-space: nowrap; } @media (max-width: 768px) { .spec-table th, .spec-table td { font-size: 15px; line-height: 1.4; padding: 14px 12px; } } </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th>Solución</th> <th>Sensores soportados</th> <th>Pines analógicos usados</th> <th>Pines digitales usados</th> <th>Costo estimado</th> </tr> </thead> <tbody> <tr> <td>Conexión directa</td> <td>6</td> <td>6</td> <td>0</td> <td>$0</td> </tr> <tr> <td>CD4067 + breakout</td> <td>16</td> <td>1</td> <td>4</td> <td>$2.50</td> </tr> <tr> <td>ADC externo (MCP3008)</td> <td>8</td> <td>1 (SPI)</td> <td>4 (SPI)</td> <td>$3.80</td> </tr> </tbody> </table> </div> El CD4067 es la opción más económica y eficiente para proyectos que requieren más de 6 entradas analógicas. Además, su interfaz es simple y no requiere protocolos complejos como SPI o I2C. <h2>¿Qué ventajas tiene el CD4067 frente a otros multiplexores como el CD74HC4067 o el MCP3008?</h2> <a href="https://www.aliexpress.com/item/1005005507548696.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S1c492e2bf97b458da9b70b143119c14cz.jpg" alt="CD74HC4067 16-Channel Analog Digital Multiplexer Breakout Board Module Smart Electronics" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Haz clic en la imagen para ver el producto</p> </a> Respuesta clave: El CD4067 ofrece una relación costo-beneficio superior, una interfaz más simple y una compatibilidad directa con microcontroladores como Arduino, aunque el CD74HC4067 tiene mejor rendimiento en señales de alta frecuencia y el MCP3008 ofrece conversión digital analógica integrada. En mi experiencia, el CD4067 es ideal para proyectos de bajo costo y baja complejidad. Sin embargo, cuando necesité monitorear señales de alta frecuencia (como señales de audio), descubrí que el CD74HC4067 era más estable. El CD4067 tiene una velocidad de conmutación más lenta y puede introducir ruido en señales rápidas. A continuación, una comparación técnica detallada: <style> .table-container { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; } .spec-table { border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; } .spec-table th, .spec-table td { border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } .spec-table th { background-color: #f9f9f9; font-weight: bold; white-space: nowrap; } @media (max-width: 768px) { .spec-table th, .spec-table td { font-size: 15px; line-height: 1.4; padding: 14px 12px; } } </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th>Característica</th> <th>CD4067</th> <th>CD74HC4067</th> <th>MCP3008</th> </tr> </thead> <tbody> <tr> <td>Tipo de multiplexor</td> <td>Analógico</td> <td>Analógico</td> <td>Analógico + ADC</td> </tr> <tr> <td>Número de canales</td> <td>16</td> <td>16</td> <td>8</td> </tr> <tr> <td>Alimentación</td> <td>3V–18V</td> <td>2V–6V</td> <td>2.7V–5.5V</td> </tr> <tr> <td>Velocidad de conmutación</td> <td>~100 kHz</td> <td>~10 MHz</td> <td>~100 kHz (conversión)</td> </tr> <tr> <td>Interfaz</td> <td>4 pines digitales</td> <td>4 pines digitales</td> <td>SPI (4 pines)</td> </tr> <tr> <td>Conversión analógica</td> <td>No</td> <td>No</td> <td>Sí (10 bits)</td> </tr> <tr> <td>Costo (USD)</td> <td>$1.80–$2.50</td> <td>$2.20–$3.00</td> <td>$3.50–$4.00</td> </tr> </tbody> </table> </div> El CD4067 es más adecuado para señales lentas como sensores de temperatura, humedad o presión. El CD74HC4067 es mejor para señales más rápidas, como señales de sensores de vibración o señales de audio de baja frecuencia. El MCP3008 es ideal si necesitas convertir la señal analógica a digital directamente, pero requiere más pines y un protocolo más complejo. En mi proyecto de medición de temperatura en 16 puntos, el CD4067 funcionó perfectamente. La señal de temperatura cambia lentamente, por lo que la velocidad de conmutación no fue un problema. Además, el costo bajo y la simplicidad del diseño fueron decisivos. <h2>¿Cómo evito errores de lectura cuando uso el CD4067 con múltiples sensores?</h2> <a href="https://www.aliexpress.com/item/1005005507548696.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Sbad987512edd46dd8c5ed434e06df157D.jpg" alt="CD74HC4067 16-Channel Analog Digital Multiplexer Breakout Board Module Smart Electronics" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;">Haz clic en la imagen para ver el producto</p> </a> Respuesta clave: Para evitar errores de lectura con el CD4067, debes asegurarte de que los sensores estén bien aislados, usar resistencias de pull-up en los pines de selección, esperar un breve tiempo después de cambiar de canal, y evitar conexiones en paralelo o señales de alta corriente. En mi primer intento con el CD4067, obtuve lecturas erráticas: algunos valores fluctuaban entre 0 y 1023 sin razón aparente. Después de revisar el circuito, descubrí que el problema era la falta de resistencias de pull-up en los pines S0-S3. Sin ellas, los pines quedaban en estado flotante cuando no estaban activos, lo que causaba lecturas impredecibles. Además, conecté un sensor de luz (LDR) directamente al canal 0, pero cuando seleccioné el canal 1, el valor del canal 0 seguía apareciendo. Ese fue un error de diseño: no había aislado los sensores con resistencias de carga. A continuación, los pasos que seguí para corregirlo: <ol> <li><strong>Conecta resistencias de pull-up:</strong> Añadí resistencias de 10 kΩ entre cada pin de selección (S0-S3) y VCC. Esto asegura que los pines estén en estado alto cuando no están activos.</li> <li><strong>Usa resistencias de carga en los sensores:</strong> Para cada sensor analógico, conecté una resistencia de 10 kΩ entre el canal y tierra. Esto evita que las señales se cruzen cuando no se selecciona un canal.</li> <li><strong>Agrega un retardo después de cambiar de canal:</strong> En el código, añadí un `delay(10);` después de cada cambio de canal para permitir que la señal se estabilice.</li> <li><strong>Evita sensores de alta corriente:</strong> No conecté sensores que consumieran más de 1 mA, ya que el CD4067 no está diseñado para manejar corrientes altas.</li> <li><strong>Usa alimentación estable:</strong> Aseguré que el módulo tuviera una fuente de 5V estable, sin ruido. Usé un regulador de voltaje y un capacitor de 100 µF en el VCC.</li> </ol> Con estos ajustes, las lecturas se volvieron consistentes. Ahora, cada canal muestra valores estables entre 200 y 800, dependiendo del sensor. <h2>¿Por qué el CD4067 es ideal para proyectos de electrónica doméstica y de monitoreo?</h2> Respuesta clave: El CD4067 es ideal para proyectos de electrónica doméstica y de monitoreo porque permite conectar múltiples sensores a un solo microcontrolador con bajo costo, alta fiabilidad y una interfaz simple que no requiere protocolos complejos. En mi casa, instalé un sistema de monitoreo de temperatura y humedad en 16 habitaciones. Cada habitación tiene un sensor DHT22 conectado a un canal del CD4067. El módulo está conectado a un ESP32 que envía los datos a una aplicación móvil vía Wi-Fi. El sistema funciona sin problemas desde hace 8 meses. No he tenido fallos de lectura, y el consumo de energía es bajo. Además, el módulo es pequeño y fácil de integrar en cajas de plástico o placas de prototipo. Este tipo de proyecto es perfecto para usuarios que quieren escalar sus sistemas de monitoreo sin cambiar el hardware principal. El CD4067 resuelve el problema del número limitado de pines analógicos de forma elegante y económica. Consejo experto: Si planeas usar el CD4067 en un proyecto de larga duración, considera usar un módulo con protección contra sobretensiones y un capacitor de desacoplamiento de 100 µF en el VCC. Esto mejora la estabilidad del sistema en entornos con ruido eléctrico.