Como usar o shift register 74HC595

Se estiver interessado em multiplexação com o shift register HC595, sugiro esse tutorial.

Nessa primeira parte do tutorial, será exemplificado o uso do controlador de LEDs em sua forma mais simples, apenas para saber como utilizá-lo em Arduino. Tentarei posteriormente portar o código para PIC.

O 74HC595 tem a capacidade de controlar 8 LEDs e pode ser encadeado a outros shift register 74HC595, o que é chamado de ‘chain’. Desse modo, uma única MCU pode controlar muitos e muitos LEDs. Como não tenho resistores suficientes, o exemplo será com apenas 1 controlador.

shift register 74HC595

Suas conexões são bastante simples, porém manipular esse CI com código não é intuitivo.
shift register 74HC595

Tive dificuldades em encontrar algum tutorial que mostrasse de forma simples seu uso, assim poderia ir diretamente a exemplos mais criativos, como o cubo de LED, então decidi começar pelo básico.

Código em Arduino para o shift register 74HC595


//Define os pinos de saida
int SER   = 8;
int RCLK  = 9;
int SRCLK = 10;
//array dos pinos, iniciando em LOW
int regis[] = {0,0,0,0,0,0,0,0};
//contador para fazer acender os LEDs em sequencia
int counter = 0;

//função para efetivar a modificação após mudança dos pinos
void changeValues(int val){
  clear();
  if (val <8){
    regis[val] = 1;
  }
  digitalWrite(RCLK, LOW);
  for(int i=7; i >=  0; i--){
    digitalWrite(SRCLK, LOW);
    int PIN = regis[i];
    digitalWrite(SER, PIN);
    digitalWrite(SRCLK, HIGH);
  }
  digitalWrite(RCLK, HIGH);
}

//Baixa todos os pinos do 74HC595
void clear(){
  for(int i=7; i >=  0; i--){
     regis[i] = LOW;
  }
} 


void setup(){
  //configurando pinos como saida
  pinMode(SER,OUTPUT);
  pinMode(RCLK,OUTPUT);
  pinMode(SRCLK,OUTPUT);
  //Parametro 9 indica que deve zerar os pinos do 74HC595
  changeValues(9);
}

void loop(){
  changeValues(counter);
  counter += 1;
//Apos aplicar a mudança, faz um delay
  delay(100);
  if (counter >7){counter =0;}
}

O esquema para as conexões com o shift register 74HC595 é este:
shift register 74HC595

A imagem acima é do site que utilizei como referência para esse exemplo, o Bildr.

Os componentes para esse teste foram adquiridos em uma loja virtual, mas você pode comprar também em lojas físicas a um custo baixíssimo.

Por fim, o video dessa primeira etapa:

Rumo ao cubo de LEDs agora!

Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Prefere seguir-nos pelo facebook? Basta curtir aqui.

Prefere twitter? @DobitAoByte.

Próximo post a caminho!

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Um comentário em “Como usar o shift register 74HC595

Deixe uma resposta