Você está aqui: Início » Robótica, Eletrônica e Afins » Eletrônica » Arduino

Controlando 8 leds com o Arduino usando o CI 74HC595, fazendo uma contagem binária.

 

Olá pessoal, neste post vou mostrar como fazer um contador binário com o arduino, que usa 8 leds para formar um byte, onde um led aceso representa 1 e o led apagado representa 0, e esse conjunto de 8 leds que forma o byte irá representar um número entre 0 e 255, ou melhor, irá contar de 0 até 255 só que em base binária. O componente principal desse projeto, além do arduino e dos leds e o circuito integrado 74HC595, que vai ser responsável pelo controle dos 8 leds do projeto. O circuito integrado 74HC595 tem a capacidade de transformar uma entrada serial em uma saída paralela de 8 vias, e cada uma dessas 8 vias da saída paralela irá controlar um led. E o melhor é que para controlar esses 8 leds vamos usar apenas 3 pinos do arduino.

Neste projeto os número decimais entre 0 e 255 vão ser representados de forma binária. Para você entender melhor segue abaixo uma tabela de equivalência entre binários e decimais.

  • 00000001 (binário) é igual a 1 (decimal);
  • 00000010 (binário) é igual a 2 (decimal);
  • 00100001 (binário) é igual a 33 (decimal);
  • 11111111 (binário) é igual a 255 (decimal).

Lembro que um led aceso é igual a 1 e um led apagado é igual a 0.

Numa visão geral este projeto funcionará da seguinte forma, o arduino avisa ao CI 74HC595 que vai enviar dados, o CI se prepara para receber os bits, então o arduino envia 8 bits, um de cada vez, ou seja sequencialmente, o CI apenas armazena cada um dos 8 bits enviados, o arduino envia um sinal ao CI para que ele libere os 8 bits armazenados, e o CI libera os 8 bits de uma vez, ou seja paralelamente. E esses passos se repetem para a formação de cada um dos número entre 0 e 255.

O CI 74HC595 é muito bom para controlar muitos leds usando poucos pinos do arduino. O projeto do contador binário apresentado neste post é apenas um exemplo entre milhares de projetos de controle de leds que podem ser desenvolvidos com o 74HC595. Então chega de teoria e vamos ao projeto.

Segue abaixo o datasheet do 74HC595, para que você conheça cada um dos pinos do mesmo.

data sheet 74HC595

Bem, para começar vamos conectar na protoboard os componentes do projeto, que são os oito leds, de 5mm neste caso, o CI 74HC595, e os oito resistores de 330 ohms, um em cada perna positiva dos leds.

Projeto arduino

Agora conecte os fios jumper entre os componentes da protoboard e entre a protoboard e o arduino. O esquema detalhado da ligação dos fios jumpers entre os componentes e o arduino está detalhado logo abaixo.

Esquema arduino leds e 74HC595

  • pino 1 do 74HC595 ligado ao positivo do 2º led;
  • pino 2 do 74HC595 ligado ao positivo do 3º led;
  • pino 3 do 74HC595 ligado ao positivo do 4º led;
  • pino 4 do 74HC595 ligado ao positivo do 5º led;
  • pino 5 do 74HC595 ligado ao positivo do 6º led;
  • pino 6 do 74HC595 ligado ao positivo do 7º led;
  • pino 7 do 74HC595 ligado ao positivo do 8º led;
  • pino 8 do 74HC595 ligado ao GND do arduino;
  • pino 9 do 74HC595 sem ligação;
  • pino 10 do 74HC595 ligado ao 5V do arduino;
  • pino 11 do 74HC595 ligado ao pino digital 2 do arduino;
  • pino 12 do 74HC595 ligado ao pino digital 3 do arduino;
  • pino 13 do 74HC595 ligado ao GND do arduino;
  • pino 14 do 74HC595 ligado ao pino digital 4 do arduino;
  • pino 15 do 74HC595 ligado ao positivo do 1º led;
  • pino 16 do 74HC595 ligado ao 5V do arduino;

E para completar segue abaixo o esquema da ligação do projeto controlando 8 leds com o arduino usando o CI 74HC595.

Esquema arduino leds e 74HC595

Depois de concluir o projeto físico, ou seja, a montagem e as conexões entre arduino e componentes, chegou a hora de programar o arduino para que ele faça o que queremos. Então usando o cabo USB conecte o arduino ao seu computador e execute a IDE do arduino. Segue abaixo o código fonte todo comentado deste projeto.

/*
Projeto Arduino contador binário 
com saída em 8 leds que formam 1 byte.
Por Jota
----------------------------------------
--=<| www.ComoFazerAsCoisas.com.br |>=--
----------------------------------------
*/

//Constantes associadas aos pinos do arduino
int const clock = 2; //ligado ao clock do 74HC595
int const latch = 3; //ligado ao latch do 74HC595
int const data  = 4; //ligado ao data do 74HC595

void setup() {
  //definindo os pinos como de saída
  pinMode(clock,OUTPUT);
  pinMode(latch,OUTPUT);
  pinMode(data,OUTPUT);
}

void loop() {
  //Contando de 0 até 255
  for (int i = 0; i <= 255; i++) {

    //permite o fluxo dos dados.	
    digitalWrite(latch,LOW); 
       
    for (int x = 0; x <= 7; x++) {

      //pronto para receber o bit.
      digitalWrite(clock,LOW); 
      
      if (i & (1 << x)) {
        digitalWrite(data,HIGH);
      } else {
        digitalWrite(data,LOW);
      }
      
      //grava o bit recebido.
      digitalWrite(clock,HIGH); 
    }    
    
    //finaliza o fluxo dos dados e envia os 8 bits.
    digitalWrite(latch,HIGH); 
    
    //tempo de espera entre a exibição de um 
    //número e o outro.
    delay(100); 
  }
}

Após introduzir o código fonte deste projeto na IDE do arduino, compile-o e posteriormente faça o upload. Aguarde alguns segundos e logo o seu projeto estará em funcionamento, contando de 0 até 255 em base binária, e além disso o efeito dos leds apagando e acendendo durante a contagem é muito legal.

Projeto arduino contador binário

E para completar, segue abaixo o vídeo mostrando este projeto em funcionamento, contando de 0 até 255 várias vezes. Veja!

Então é isso aí pessoal, e pra nos dar uma força curta, compartilhe, de um gostei no vídeo, adicione aos favoritos e 
inscreva-se no nosso canal do YouTube. Valeu e um grande abraço.

Então é isso aí pessoal, e pra nos dar uma força curta, compartilhe, de um gostei no vídeo, adicione aos favoritos e inscreva-se no nosso canal do YouTube. Valeu e um grande abraço!

Veja Mais

Arduino com servomotor robótico e display LCD
Arduino com servomotor robótico e display LCD
Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.
Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.
Projeto Arduino com display LCD.
Projeto Arduino com display LCD.
Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação
Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação
Motor CC no Arduino com controle de velocidade e leds medidores de potência.
Motor CC no Arduino com controle de velocidade e leds medidores de potência.
Controlando a velocidade de um motor CC no Arduino com potenciômetro.
Controlando a velocidade de um motor CC no Arduino com potenciômetro.
Projeto Arduino. Como controlar as cores de um led RGB com botões.
Projeto Arduino. Como controlar as cores de um led RGB com botões.
Projeto Arduino, Como controlar um led com um potenciômetro.
Projeto Arduino, Como controlar um led com um potenciômetro.
Projeto Arduino, botão que acende leds com efeito
Projeto Arduino, botão que acende leds com efeito
 

Tops do momento

Como calcular o resistor adequado para um LED.Como calcular o resistor adequado para um LED.
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Como fazer um mini gerador de energia eólica - versão 2.0Como fazer um mini gerador de energia eólica - versão 2.0
Projeto Arduino com display LCD.Projeto Arduino com display LCD.
Projeto Arduino, led com botão liga desliga.Projeto Arduino, led com botão liga desliga.
Como fazer um mini gerador de energia eólica - versão 1.0Como fazer um mini gerador de energia eólica - versão 1.0
Como Fazer um Circuito Pisca LEDComo Fazer um Circuito Pisca LED
Mini gerador de energia manual movido a manivelaMini gerador de energia manual movido a manivela

Destaques

Joystick controlando 3 servomotores no ArduinoJoystick controlando 3 servomotores no Arduino
Como fazer uma mini balestra pistola de palitos de picoléComo fazer uma mini balestra pistola de palitos de picolé
Como fazer uma lanterna de LEDs no palitoComo fazer uma lanterna de LEDs no palito
Como fazer um avião bimotor de palitos de picoléComo fazer um avião bimotor de palitos de picolé
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Circuito simples que controla a velocidade de um motorzinho. Como fazer!Circuito simples que controla a velocidade de um motorzinho. Como fazer!
Como ligar um joystick no Arduino e ler as posições X, Y e ZComo ligar um joystick no Arduino e ler as posições X, Y e Z
Circuito simples que controla o sentido de rotação de um motorzinho.Circuito simples que controla o sentido de rotação de um motorzinho.
 
Como Fazer as Coisas no Facebook Como Fazer as Coisas no G+ Como Fazer as Coisas no Twitter Como Fazer as Coisas no YouTube Como Fazer as Coisas no Pinterest Feed Como Fazer as Coisas