bclose

Multiplexor analógico 74hc4067

Multiplexando 16 canales a analógicos a uno
Vista principal

Multiplexor analógico 74hc4067

Muy a menudo nos preguntan qué podemos hacer cuando nos quedamos sin puertas digitales disponibles con nuestro Arduino, o como leer más de las 6 puertas analógicas de un UNO o 16 de un MEGA.

Y parece que existe la sensación extendida de que esto es un problema de imposible solución, pero nada más alejado de la realidad.

En esta ocasión os hemos traído una forma de resolver este tipo de problemas mediante un sencillo integrado de multiplexor / demultiplexor 74hc4067 que os liberará de estas restricciones.

Aquí os dejo el link:

 Multiplexor / Demultiplexor

También así, aprovechamos para presentar la idea de lo que es un multiplexor y de cómo podemos usarla para seleccionar una entrada externa de 16 y dirigirla a una única puerta de nuestro Arduino, ampliando enormemente sus posibilidades.

Este es un integrado que nos resolverá la papeleta en multitud de ocasiones y conviene tenerlo en vuestro arsenal electrónico.

Espero que os resulte útil.

 

logoprometec

 

(9) Comments

    • Xivo

    Hola Admin.

    Con vistas a intentar domotizar la casa (como lo de las estufas controladas con relés) se me ocurrió que sería muy chulo activar cosas en casa con comandos de voz (sin móvil). He visto que existen shields sintetizadores de voz (para que responda a tus ordenes y te confirme si entiende o no los comandos), pero no he encontrado ejemplos con el shield que reconoce tu voz. ¿Podéis hablar de ellos algún día?, muchas gracias.

    • Hola Xivo, se me habia olvidado que me envió un ejemplo de esto Suso y lo debo tener por el correo. A ver si lo localizo y hacemos una seison con el tema que es de lo mas interesante
      Un saludo

      • Hola Admin. Creo que Xivo se refiere al módulo EasyVR3, que también lo hay en shield para Arduino, y que acepta varios idiomas, entre ellos el español.

        Saludos.

        • Tiene buena pinta este shield EasyVR3, pero en principio aquel mensaje que me enviaste usaba un telefono android para hacer algo similar , no Jesus?

  • Gracias Admin. Buscaré sobre ésto.

    Saludos.

  • Hola Admin. No conocía este chip. En el tutorial, lees una de las entradas, la 15 y la envías al pin A1. ¿Cómo sería para leer todas las entradas casi al mismo tiempo, y poder mostrarlas a la vez? Me refiero a hacer lo mismo que se hace con el 74HC595, que activamos secuencialmente todas sus salidas y visualmente nos parece que están todas encendidas al mismo tiempo. No sé si me he explicado bien.

    Saludos y gracias.

    • Hola Jesus,

      Podriamos simular que vamos leyendo todas las entradas ala vez con algo asi:
      unsigned int S0, S1, S2, S3, k, p ;
      digitalWrite( Enable , LOW ); // Active Low

      for (int k= 0 ; k<16 ; k++) // Selecciona la puerta a leer
      {
      S0 = k & B00000001 ; digitalWrite ( 8 , S0) ; //Solo quiero el ultimo bit
      S1 = ( k >> 1 ) & B00000001 ; digitalWrite ( 9 , S1) ;
      S2 = ( k >> 1 ) & B00000001 ; digitalWrite (10 , S2) ;
      S3 = ( k >> 1 ) & B00000001 ; digitalWrite (11 , S3) ;

      Serial.print (k); Serial.print(‘\t’) ;
      Serial.println(analogRead(A1)) ;
      }
      Serial.println(“…………………….”);

      Pero no es de verdad, sino que vamos leyendo cada entrada en secuencia. Pero si lo hacemos los suficientemente rapido parecera que todas las salidas se leen o muestran a la vez, pero el shift register mantiene la tension digital activa simultaneamente en todas las salidas y en el caso de este chip la tension solo es activa en 1 /16 partes del tiempo.
      Si por alguna razon necesitamos que estas salidas sean estables hay unos circuitos que no he usado nunca, llamados Sample & Hold que se usan para cosas asi, reciben la señal analogica y la enclavan aunque la entrada se vaya, y en su version mas simple podria ser un condensador y resistencia

Give a Reply

WordPress Anti-Spam by WP-SpamShield