Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Rui
- // Seguencia LEDs usando o CI 74HC595
- #define clock 2 // Conectar ao pino 11 dos 74HC595
- #define data 3 // Conectar ao pino 14 dos 74HC595
- #define latch 4 // Conectar ao pino 12 dos 74HC595
- #define botao 8 // Botão ligado no pino 8
- bool Level; // Nivel de Data
- bool estadoB = LOW; // Indicador se botão foi acionado
- byte Cnt = 0; // Contador de saidas
- // ********************************************************************
- void setup()
- {
- Serial.begin(9600);
- pinMode(clock,OUTPUT); // Port D2 saída
- pinMode(data,OUTPUT); // Port D3 saída
- pinMode(latch,OUTPUT); // Port D4 saída
- pinMode (botao, INPUT_PULLUP); // Botão para avancar
- Apaga(); // Apaga tudo antes de iniciar
- }
- //----------------------------------------------------------------------
- void HC595()
- {
- digitalWrite(data,Level); // Data bit ON acende 1o. LED
- digitalWrite(latch,LOW); // transfere dados dos regs para os latchs e saídas
- digitalWrite(clock,HIGH); // Liga clock para entra dado
- digitalWrite(clock,LOW); // Desiga clock
- digitalWrite(latch,HIGH); // Desatica transferencia
- }
- //---------------------------------------------------------------
- void Apaga () // Rotina para apagar tudo
- {
- Level = 0; // Define nivel das saidas
- Cnt = 0; // Contador de saida
- for (unsigned int i = 0; i<8; i++) // Faça 8 vezes
- {
- HC595(); // Envia para o 595
- }
- }
- // ********************************************************************
- void loop()
- {
- while (digitalRead (botao) == HIGH) // Se botão não está acionado
- {
- estadoB = HIGH; // Diga que ele esta HIGH
- }
- while (digitalRead (botao) == LOW) // Se botão está acionado
- {
- if (estadoB == HIGH) // Se ele foi acionado
- {
- estadoB = LOW; //. Limpa a indicação
- // Serial.println(Cnt);
- Cnt++; // Incrementa saida
- Level = 1; // inverta o nivel de Data
- HC595(); // Envia para o 595
- delay(100); // Tempo de 50 ms
- }
- }
- if (Cnt >8) // Se a saida é maior que 8, apaga tudo
- {
- Apaga();
- }
- } // End loop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement