- 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