//SEMATEC_2023 - Pratica 4
//chave em D5 e Led em D4. D5 comanda D4 (ação pisca-pisca)
//PB verde (D18) incrementa o tempo
//PB vermelho (D19) decrementa o tempo
//processamento do loop não é influenciado pelo tempo (chamada de função por tempo)
const int ledPin = 4;
const int ledChave = 5;
const int pushButtonInc = 18;
const int pushButtonDec = 19;
int i_tempoDelay=100;
long l_tempoPisca;
void setup() {
pinMode(ledPin,OUTPUT);
pinMode(ledChave,INPUT);
pinMode(pushButtonInc,INPUT);
pinMode(pushButtonDec,INPUT);
Serial.begin(115200);
}
void acionarLed(){
if(digitalRead(ledChave) == HIGH){
digitalWrite(ledPin, !(digitalRead(ledPin)));
} else{
digitalWrite(ledPin,LOW);
}
}
void loop(){
if(digitalRead(pushButtonInc)){
i_tempoDelay = i_tempoDelay + 1;
}
if(digitalRead(pushButtonDec)) i_tempoDelay = i_tempoDelay - 1;
if(millis() - l_tempoPisca > i_tempoDelay){
l_tempoPisca=millis();
acionarLed();
}
if(i_tempoDelay >= 700) i_tempoDelay = 700;
if(i_tempoDelay < 0) i_tempoDelay = 0;
Serial.print("millis(): ");
Serial.print(millis());
Serial.print("\t");
Serial.print("tempoPisca: ");
Serial.print(l_tempoPisca);
Serial.print("\t");
Serial.print("Tempo Delay: ");
Serial.println(i_tempoDelay);
}