Manual

do

Maker

.

com

Como usar o shift register 74HC595

Como usar o shift register 74HC595

Shift Register 74HC595 - ou - 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.

74hc595-ds.webp

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:

74hc959_right_2.webp

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 vídeo dessa primeira etapa.

Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Manual do Maker Brasil no YouTube.

Próximo post a caminho!

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.