Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define pinSom 7
- #define pinRele1 2
- #define pinRele2 3
- #define tempoMaximoDeUmaPalma 150 //milisegundo
- #define tempoMaximoEntrePalmas 500 //milisegundo
- int contaPalmas = 0;
- long tempoEspera = 0;
- long tempoEsperaEntrePalmas = 0;
- void setup() {
- pinMode(pinSom, INPUT);
- pinMode(pinRele1, OUTPUT);
- pinMode(pinRele2, OUTPUT);
- }
- void loop() {
- int sensorSom = digitalRead(pinSom);
- if (sensorSom == LOW) {
- if (tempoEspera == 0) {
- tempoEspera = tempoEsperaEntrePalmas = millis();
- contaPalmas++;
- } else if ((millis() - tempoEspera) >= tempoMaximoDeUmaPalma)
- tempoEspera = 0;
- }
- if ( ( contaPalmas != 0) && ((millis() - tempoEsperaEntrePalmas)
- executarAcao();
- contaPalmas = 0;
- tempoEsperaEntrePalmas = millis();
- }
- }
- void executarAcao()
- {
- switch (contapalmas) {
- case 2:
- digitalWrite(pinRele1, !digitalRead(pinRele1));
- break;
- case 3:
- digitalWrite(pinRele2, !digitalRead(pinRele2));
- break
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement