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.
Indice
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.
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:
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:
Que se puede representar de una manera más intuitiva:
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
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.
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!