Skocz do zawartości

Atmega8 i cyfrowy czujnik dźwięku. Filtracja zakłóceń.


dejmieno

Pomocna odpowiedź

Witam,

Posiadam taki cyfrowy czujnik dźwięku https://botland.com.pl/mikrofony-i-detektory-dzwieku/6638-czujnik-dzwieku-cyfrowy-5v.html.

Chciałem za jego pomocą zrobić światełka sterowane klaśnięciami jednak na początek chciałem wypróbować działanie czujnika.

Oto mój kod: Ogólnie czujnik działa jednak czasami objawia się niechciane zachowanie w stylu po klaśnięciu w dłonie dioda tylko mignie, włączy się i wyłączy, lub na odwrót.

Podejrzewam, że mikrokontroler wykrywa kilkukrotnie zbocze narastające i przełącza led.

Czy jest jakiś sposób, aby to jakoś odfiltrować, czy muszę się z tym pogodzić?

int main(void) {
DDRB = 0xFF;
DDRD = 0x00;

MCUCR |= (1 << ISC01 | ISC00);
GICR |= (1 << INT0);

sei();
   while (1) {

   }
}

ISR (INT0_vect) {
       // zmiana stanu led
PORTB ^= 0x01;
}
Link do komentarza
Share on other sites

Aha, potraktować to jak drgania styków w przyciskach.

Rozumiem, że proste rozwiązanie programowe, żeby odczekać kilka ms aż zakłócenia ustaną odpada, ponieważ _delay_ms nie ma wpływu na przerwania?

Czyli pozostaje filtr RC.

Link do komentarza
Share on other sites

Zapamiętujesz w przerwaniu czas kiedy ostatnio było przełączenie i na początku sprawdzasz czy nie było bliżej niż zadany czas, jeśli tak, to wychodzisz nie robiąc nic.

Do tego oczywiście potrzebujesz jakiś timer liczący czas, jak Arduinowe millis().

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.