float percent(int valor, int maximo);
int apps1 = 15, apps2 = 4, bse1 = 0;
int apps = 0, bse = 0, breakAndPush = 0;
int desliga = 1;
int butao = 17;
void setup() {
Serial.begin(115200);
pinMode(apps1,INPUT);
pinMode(apps2, INPUT);
pinMode(bse1, INPUT);
pinMode(butao, IMPUT);
}
void loop() {
if(desliga == 1){
float appsPercent1 = percent(analogRead(apps1), 3229); // pegar o valor lido pelos potenciometros e passa para uma porcentagem
float appsPercent2 = percent(analogRead(apps2), 3229); // pegar o valor lido pelos potenciometros e passa para uma porcentagem
// float bsePercent = percent(analogRead(bse1), 3229); // pegar o valor lido pelos potenciometros e passa para uma porcentagem
float gap = appsPercent1 - appsPercent2; // calcula a diferenca das porcentagens
Serial.println(abs(gap));
//Serial.println("primeiro:");
//Serial.println(analogRead(apps1));
//Serial.println("segundo:");
//Serial.println(analogRead(apps1));
if((abs(gap) > 10) /* || (appsPercent1 >= 25 && bsePercent >= 5 Ver qual valor certo EV 4.7)*//*ver a condição do BSE*/){ // verifica se a diferenca eh maior que o permitido
if(abs(gap) > 10){
apps++; // contador para ver o tempo
}
//if(appsPercent1 >= 25 && bsePercent >= 5){
// breakAndPush++; // contador para ver o tempo
//}
// colocar a condicao do BSE
if(apps >= 10 || bse1 >= 10 || breakAndPush >= 10){ // caso o contador chegue em 10, e falha ainda esteja ocorrendo, desliga
desliga = 0;
}
}else{
apps = bse = breakAndPush = 0;
}
Serial.println("ligado"); // indicador para saber se esta ligado ou desligado
}else{
Serial.println("Desligado"); // indicador para saber se esta ligado ou desligadop
}
delay(10); // delay de 10ms para poder conseguir todos os dados sem sobrecarregar(?) e poder usar o contador de forma "eficiente"
}
float percent(int valor, int maximo){
return 100*valor/maximo;
}