void loop() { //verifica o estado do sensor de som (ele fica normalmente com a porta ligada. Quando ouver uma palma, ele desliga momentaneamente a porta) int sensorSom = digitalRead(pinSom);
//se o sensor detectou palmas if (sensorSom == LOW) {
//espera um tempo para nao detectar a mesma palma mais de uma vez if (tempoEspera == 0) { tempoEspera = tempoEsperaEntrePalmas = millis(); contaPalmas++; } else if ((millis() - tempoEspera) >= tempoMaximoDeUmaPalma) { tempoEspera = 0; } }
//caso exceda o tempo maximo entre palmas, zera o contador de palmas if ( (contaPalmas != 0) && ((millis() - tempoEsperaEntrePalmas) > 500) ) { executarAcao(); contaPalmas = 0; tempoEsperaEntrePalmas = millis(); }
}
void executarAcao() {
switch (contaPalmas) { case 2: digitalWrite(pinRele1, !digitalRead(pinRele1)); break;
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)