Contador binario con Arduino y 74HC595

Con el 74HC595 CI es posible controlar hasta 8 LED simultáneamente. En este artículo, vamos a construir un contador binario usando este CI.

Este proyecto tendrá como objetivo contar en binarios de 0 a 255. Con este proyecto, aprenderá a controlar 8 LED con solo 3 pines digitales de Arduino.

contador binario

Entendiendo el sistema binario

Es posible que haya escuchado sobre 0 y 1 cuando aprendió sobre informática. Y debe haber escuchado que todas las computadoras «piensan» en 0 y 1.

El sistema binario es un sistema numérico basado solo en 0 y 1, lo que facilita su aplicación en electrónica, ya que solo tienen dos estados: cuándo hay energía en el circuito y cuándo no.

En este artículo, nos centraremos más en la parte numérica del sistema binario: bits, bytes y cómo representar un número en binarios.

¿Qué son los bits y bytes?

Un dígito binario, ya sea 0 o 1 es equivalente a un bit.

Un byte es equivalente a 8 bits. Es a partir de bytes que se miden las memorias de la computadora, por ejemplo. Es común ver megabytes, gigabytes, etc.

Para representar un número entre 0 y 255 en binarios es necesario usar 1 byte, es decir, 8 bits. Y es por eso que este proyecto utilizará 8 LED. Cada LED representará un poco.

Para cada número en decimal, hay uno correspondiente en binarios. Aquí hay unos ejemplos:

  • 5 – 00000101
  • 44 – 00101100
  • 167 – 10100111

En el diseño de este artículo, cada LED encendido representará 1 y cada LED apagado representará 0.

Te puede interesar  ARDUINO: Una guía de inicio. Empezando con Arduino

El CI 74HC595

Conocido por ser un Registro de turnos (registro de desplazamiento) utilizado para controlar LED, pantallas de 7 segmentos, conjuntos de LED y teclados.

Muchas personas usan este CI para aumentar la cantidad de puertos digitales Arduino. Esto se debe a que con el 74HC595 es posible controlar 8 salidas en paralelo desde solo 3 pines digitales del Arduino.

Vea el esquema del 74HC595:

contador binario

Construyendo el contador binario

Los materiales necesarios para este proyecto son:

  • 1 Arduino (Uno, Mega, Leonardo, etc.)
  • 1 protoboard
  • 8 LED de 5 mm
  • 8 resistencias 220Ω x 1 / 4W
  • 1 CI 74HC595
  • Puentes macho-macho de varios colores

Para este proyecto, no se necesitará una batería externa o fuente. La salida USB de su computadora proporcionará suficiente energía para el contador binario.

El diagrama del circuito a construir es el siguiente:

contador binario

Haga click en la imagen para ampliar

Que se puede representar de una manera más intuitiva:

contador binario

Haga click en la imagen para ampliar

Las conexiones que deben hacerse son:

  • 74HC595 terminal 1 conectado al positivo del LED 2
  • 74HC595 terminal 2 conectado al positivo del LED 3
  • 74HC595 terminal 3 conectado al LED 4 positivo
  • 74HC595 terminal 4 conectado al positivo del LED 5
  • 74HC595 terminal 5 conectado al positivo del LED 6
  • 74HC595 terminal 6 conectado al LED 7 positivo
  • 74HC595 terminal 7 conectado al LED 8 positivo
  • 74HC595 terminal 8 conectado al Arduino GND
  • 74HC595 terminal 9 no se conectará a nada
  • 74HC595 terminal 10 conectado a la salida Arduino 5V
  • 74HC595 terminal 11 conectado al pin digital Arduino 2
  • 74HC595 terminal 12 conectado al pin digital Arduino 3
  • 74HC595 terminal 13 conectado al Arduino GND
  • 74HC595 terminal 14 conectado al pin digital Arduino 4
  • 74HC595 terminal 15 conectado al LED positivo 1
  • Terminal 74HC595 16 conectado a la salida Arduino 5V
Te puede interesar  Arduino: Control de frecuencia PWM con ajustes de temporizador de contador

En la lista de materiales, recomendé usar puentes de diferentes colores para que sea más fácil detectar errores en el ensamblaje del proyecto.

contador binario

Programando el Arduino

Con el proyecto ya ensamblado, conecte el Arduino a su computadora con el IDE de Arduino instalado.

El código para realizar el conteo binario es el siguiente:

int const clock = 2

int const latch = 3;

int const data  = 4; //define saídas como constantes 

void setup() {

  //aqui serão definidas as saídas

  pinMode(clock,OUTPUT);

  pinMode(latch,OUTPUT);

  pinMode(data,OUTPUT);

}

void loop() {

  for (int i = 0; i <= 255; i++) { //contando de 0 a 255

    digitalWrite(latch,LOW); //libera o fluxo dos dados 

      for (int x = 0; x <= 7; x++) {

        digitalWrite(clock,LOW); //para receber o bit

          if (i & (1 << x)) {

            digitalWrite(data,HIGH);

           } else {

            digitalWrite(data,LOW);

            }      

        digitalWrite(clock,HIGH); //grava bit recebido

       }   

    digitalWrite(latch,HIGH); //envia os 8 bits 

    delay(100); //Ajuste aqui o tempo em ms de exibição de cada número

  }

}

Este código debe insertarse en su Arduino para que comience a funcionar.

Explicando de manera simple, el Arduino envía 8 bits al 74HC595, uno a la vez. El CI almacena estos 8 bits, y luego el Arduino envía una señal al 74HC595 para liberar la señal a los LED. Esto sucede repetidamente, de 0 a 255.

Contador binario en funcionamiento

Si te gustó este artículo, ¡compártelo en tus redes sociales!

¿Quieres aprender más sobre electrónica?