Librería 74HC4067.h

Seguimos con el proyecto del expansor I/O para el ESP8266, en este caso y como prometí en la entrada donde vemos el módulo electrónico 74HC4067 hoy veremos la librería 74HC4067.h una librería creada por un servidor específica para controlar el circuito integrado.

Esta librería está creada 100% en Español y puedes descargarla y consultar su documentación aquí.

Instalando la librería

Una vez hemos descargado e instalado en nuestro directorio de Arduino este paquete podremos ver que trae un código de ejemplo listo para usar.

Dicho código utiliza los canales del circuito integrado como salidas por lo que si estás usando el ESP8266 deberás conectar el pin SIG del circuito integrado a algún pin digital ya que el pin A0 solo lee valores analógicos.

Este ejemplo es una secuencia de LED’s por lo que también nos puede servir para comprobar que todos los canales analógicos funcionan correctamente.

Métodos de la librería 74HC4067.h

La librería cuenta con 2 métodos principales:

  • begin(): Con este método inicializamos la librería, no requiere ningún parámetro y debe escribirse en el void setup() de nuestro sketch.
  • mostrarCanal(int canal): Este método es el que selecciona el canal analógico que debe de mostrarse en el pin SIG para su posterior lectura o escritura, espera un parámetro de tipo numérico entero comprendido entre el 0 y 15.

Código de ejemplo usando la librería 74hc4067.h

El código de ejemplo que viene al descargar la librería 74HC4067.h es el siguiente:

/*
  Archivo de ejemplo
  Este archivo contiene un ejemplo de uso de la librería 74hc4067.h
  donde vamos a ir encendiendo un led a la vez por segundo comprobando
  el funcionamiento de los métodos definidos por la librería.

  Autor: Alexdevrep
  Fecha: 05/04/2024
  Más contenido interesante en :
    -GitHub: https://www.github.com/alexdevrep
    -Instagram: https://www.instagram.com/alexdevrep/
    -Mi blog de WordPress: https://www.eltallerdealexdevrep.com/
    -Youtube: https://www.youtube.com/channel/UCNlqgVY-CaQ2Lgc5xJChaKA
*/

// Incluimos la librería necesaria
#include <74hc4067.h>

// Declaramos el pin A0
const int analogico = A0;

// Instanciamos el objeto de la clase HC4067
HC4067 modulo(7, 8, 9, 10);

// Definimos las condiciones de inicio
void setup()
{
  pinMode(analogico, OUTPUT);
  modulo.begin();
}

// Definimos el código principal del proyecto
void loop()
{
  for (int i = 0; i <= 15; i++)
  {
    modulo.mostrarCanal(i);
    analogWrite(analogico, 255);
    delay(1000);
  }
}

Consideraciones sobre el código

  • Al inicializar la clase (línea 23) es necesario pasar 4 parámetros, que corresponden con los pines digitales de nuestro microcontrolador, estos 4 pines son los necesarios para formar los números del 0 al 15 en binario, por lo que son los encargados de seleccionar el canal de lectura.
  • Como puedes comprobar con apenas unas 14 líneas de código estricto podemos hacer una sencuencia de 15 LED’s lo cual hace que nuestro código sea mantenible en el tiempo.

Vídeo del funcionamiento

Como siempre te dejo el vídeo explicativo de esta entrada:

Vídeo de funcionamiento

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio