Componentes necessários:
- Protobord
- LED de 7 segmentos
- CI 74HC595
- 8 resistores 100 ohms*
- Fios
*Verificar o resistor para o led, pois o valor pode ser diferente.
//Projeto 18 - LED 7 segmentos com CI 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)
// Cria uma matriz para os números
byte matriz_digits[10][7] = { { 0,0,0,0,0,0,1 }, // = 0
{ 0,0,1,1,1,1,1 }, // = 1
{ 1,0,0,0,0,1,0 }, // = 2
{ 0,0,0,0,1,1,0 }, // = 3
{ 0,0,1,1,1,0,0 }, // = 4
{ 0,1,0,0,1,0,0 }, // = 5
{ 0,1,0,0,0,0,0 }, // = 6
{ 0,0,0,1,1,1,1 }, // = 7
{ 0,0,0,0,0,0,0 }, // = 8
{ 0,0,0,1,1,0,0 } // = 9
};
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop(){
for (byte count = 10; count > 0; --count) {
digitalWrite(latchPin, LOW);
sevenSegWrite(10 - count);
digitalWrite(latchPin, HIGH);
delay(2000);
}
}
void sevenSegWrite(byte digito) {
for (byte coluna = 0; coluna < 8; ++coluna) {
digitalWrite(clockPin, LOW);
digitalWrite(dataPin, matriz_digits[digito][coluna]);
digitalWrite(clockPin, HIGH);
}
delay(100);
}