Un clap switch (Întrerupător acustic) este un dispozitiv care functioneaza ca un intrerupator actionat prin bataia palmelor.
Acest dispozitiv poate fi folosit pentru aprinderea/stingerea a 3 LED-uri prin batai de palme succesive: o bataie, doua, trei pentru a aprinde oricate LED-uri se doreste.
Pentru a detecta bataile palmelor, acest aparat se bazeaza pe faptul ca intensitatea sonora generata prin bataia palmelor este foarte ridicata comparativ cu sunetele care apar frecvent in mediul inconjurator si astfel ele pot fi separate de zgomotul cauzat de alti factori.
Microfonul electret va detecta bataia din palme si va genera un semnal care va fi amplificat de catre tranzistorul 2N3904, dupa care semnalul ajunge pe portul AC7 al microcontrollerului. Semnalul analogic va fi convertit in semnal digital de catre ADC-ul de pe ATMega16 si in functie de valoarea rezultata se va comanda aprinderea/stingerea celor 3 LED-uri.
Lista de piese:
Software-ul va consta in folosirea ADC-ului pentru a afla valoarea semnalului primit de la microfon si compararea valorii obtinute cu o valoare de referinta (pentru pragul de liniste). In functie de rezultatul comparatiei si de starea celorlalte LED-uri se va comanda aprinderea sau stingerea LED-urilor.
Bibilioteci folosite: <avr/io.h> si <util/delay.h>
Functia InitADC() este folosita pentru initializarea ADC-ului si seteaza prescalerul la 128x.
Functia ReadADC() intoarce valoarea citita la portul ADC7.
Am folosit un delay de 150ms pentru a garanta faptul ca o singura bataie din palme nu duce la aprinderea mai multor LED-uri.
Placuta finala arata si se comporta asa: http://www.youtube.com/watch?v=KnljcHbZnJ8
Placuta finalizata:
Spatele placutei:
Proiectul a fost implementat cu succes, fara sa intampin dificultati prea mari pe parcurs. Din punct de vedere hardware este foarte simplu, insa trebuie avut grija la alegerea microfonului.
Trebuie mentionat faptul ca pe multimetru nu se observa aproape nici o variatie a tensiunii decat daca zgomotul produs era foarte mare.
Codul se poate descarca de aici:clap_switch.zip
Proiecte asemanatoare:
Descriere ATMega16: