#define OE2 8 //Atribui valor do nome constante ao pino digital 8
#define OE1 7 //Atribui valor do nome constante ao pino digital 7
#define LE2 10 //Atribui valor do nome constante ao pino digital 10
#define LE1 9 //Atribui valor do nome constante ao pino digital 9
#define Clear 11 //Atribui valor do nome constante ao pino digital 11
#define SClk 12 //Atribui valor do nome constante ao pino digital 12
#define SData 13 //Atribui valor do nome constante ao pino digital 13
#define Key0 A2 //Atribui valor do nome constante ao pino digital AD2
#define Key1 A3 //Atribui valor do nome constante ao pino digital AD3
#define debounceDelay 20 //Define para todos ostempos de debounce em
#define lastDebounceTime 0
// Variables will change:
int ledState = HIGH; // the current state of the output pin
// the current reading from the input pin
int lastButtonState = LOW; // the previous reading from the input pin
void setup() {
pinMode(OE2,OUTPUT); //configuracao do pino digital OE2 como saída
pinMode(OE1,OUTPUT); //configuracao do pino digital OE1 como saída
pinMode(LE2,OUTPUT); //configuracao do pino digital LE2 como saída
pinMode(LE1,OUTPUT); //configuracao do pino digital LE1 como saída
pinMode(Clear,OUTPUT); //configuracao do pino digital Clear como saída
pinMode(SClk,OUTPUT); //configuracao do pino digital SClk como saída
pinMode(SData,OUTPUT); //configuracao do pino digital SData como saída
pinMode(Key0,INPUT);
pinMode(Key1,INPUT);
digitalWrite(OE1,HIGH); //Desativa o display OE1 com valor lógico 1
digitalWrite(Clear,HIGH); // Desativa o pino Clear com valor lógico 1
digitalWrite(OE2,HIGH);
}
byte contagem=0; // Definição e inicialização a zero da variável contagem
void loop() {
bool reading = digitalRead(Key0); // read the state of the switch into a local variable
// If the switch changed, due to noise or pressing:
if (reading != lastButtonState) {
// reset the debouncing timer
lastDebounceTime = millis();
}
if ((millis(20) - lastDebounceTime ) > debounceDelay) {
// whatever the reading is at, it's been there for longer than the debounce
// delay, so take it as the actual current state:
// if the button state has changed:
if (reading != buttonState) {
buttonState = reading;
// only toggle the LED if the new button state is HIGH
if (buttonState == HIGH) {
ledState != ledState;
}
}
}
// set the LED:
digitalWrite(OE2,LOW);
// save the reading. Next time through the loop, it'll be the lastButtonState:
lastButtonState = reading;
}
void Display7Seg(byte valor){
digitalWrite(OE2,HIGH); //Ativa output enable com valor Low
digitalWrite(LE2,LOW);
if(valor == 0) shiftOut(13, 12, MSBFIRST, 0xC0); //Mostra o número 0 no display
if(valor == 1) shiftOut(13, 12, MSBFIRST, 0x79); //Mostra o número 1 no display
if(valor == 2) shiftOut(13, 12, MSBFIRST, 0x24); //Mostra o número 2 no display
if(valor == 3) shiftOut(13, 12, MSBFIRST, 0x30); //Mostra o número 3 no display
if(valor == 4) shiftOut(13, 12, MSBFIRST, 0x19); //Mostra o número 4 no display
if(valor == 5) shiftOut(13, 12, MSBFIRST, 0x12); //Mostra o número 5 no display
if(valor == 6) shiftOut(13, 12, MSBFIRST, 0x02); //Mostra o número 6 no display
if(valor == 7) shiftOut(13, 12, MSBFIRST, 0x78); //Mostra o número 7 no display
if(valor == 8) shiftOut(13, 12, MSBFIRST, 0x00); //Mostra o número 8 no display
if(valor == 9) shiftOut(13, 12, MSBFIRST, 0x10); //Mostra o número 9 no display
if(valor == 10) shiftOut(13, 12, MSBFIRST, 0x06); //Mostra o número E no display
if(valor == 11) shiftOut(13, 12, MSBFIRST, 0xC0); //Volta ao número inicial 0
digitalWrite(OE2,LOW); //Ativa output enable com valor Low
digitalWrite(LE2,HIGH); //Ativa RCLK Input Com valor High
}
it worked at the first time, now im trying to use it again, but says "lvalue required as left operand of assignment"
the one thing i changed was the "#define lastDebounceTime 0"