quarta-feira, 19 de março de 2014

Projeto 14 - Deslocador de bits com 74HC595

Componentes necessários:

- Protobord
- 8 LEDs de 5 mm
- CI 74HC595
- 8 resistores 100 ohms*
- Fios

*Verificar o resistor para o led, pois o valor pode ser diferente.

Explicação sobre o funcionamento do CI.

     Para ativar o registrador de deslocamento, o pino latch deve estar em LOW para receber os bits e ai depois deve ser colocado como HIGH para ativar as suas saídas.
     Nesse meio tempo entre a passagem do pino latch LOW para HIGH, observa-se que se possui os pinos clock e data, e são com esses pinos que são ativados em nível alto ou baixo cada saída. O clock deve ficar em LOW e o data (aqui aonde que se envia os dados para as portas Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7) e é definada como LOW ou HIGH e após de ser escolhido o estado da data o pino clock deve ser colocado como HIGH. Um ponto para ser observado é o seguinte, cada vez que o pino clock é colocado como LOW e depois como HIGH a saida é mudada, se estava na porta Q0 ele muda para Q1 e assim por diante.

 //Projeto 14 - Deslocador de bits com 74HC595  
 //Este código é de domínio público   
   
 int latchPin = 8; //Pino connectado no Pino 12 do 74HC595 (Latch)  
 int clockPin = 12; //Pino connectado to Pino 11 do 74HC595 (Clock)  
 int dataPin = 11; //Pino connectado no Pino 14 do 74HC595 (Data)  
   
 void setup() {  
  pinMode(latchPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);  
  pinMode(dataPin, OUTPUT);  
 }  
   
 void loop(){  
  digitalWrite(latchPin, LOW);  
  liga();  
  desliga();  
 }  
   
 void liga(){  
  for (int i=0; i<=7; i++){  
   digitalWrite(clockPin, LOW);  
   digitalWrite(dataPin, HIGH);   
   digitalWrite(clockPin, HIGH);  
   digitalWrite(latchPin, HIGH);  
   delay(1000);  
   digitalWrite(latchPin, LOW);  
  }  
 }  
   
 void desliga(){  
  for (int i=0; i<=7; i++){  
   digitalWrite(clockPin, LOW);  
   digitalWrite(dataPin, LOW);   
   digitalWrite(clockPin, HIGH);  
   digitalWrite(latchPin, HIGH);  
   delay(1000);  
   digitalWrite(latchPin, LOW);  
  }  
 }  

Nenhum comentário :

Postar um comentário