Boa tarde!

assim eu preciso utilizar o maximo do buzzer, no caso fazer o barulho mais irritante possivel para um certo tipo de erro, no meu codigo eu tenho ele assim:

for(buzz=0;buzz<100;buzz++)
{
output_high(pin_a1);
delay_us(100);
output_low(pin_a1);
delay_us(300);
}

Teria como fazer-lo "gritar" mais alto sem modificar o hardware?

Obs: Utilizo o CCS compiller

Exibições: 4101

Responder esta

Respostas a este tópico

Não. Creio que você terá que comprar um buzzer/speaker maior.

 Olá Leonardo.

 Pelo que vejo você está usando uma frequência de 2,5KHz = (1/(300us+100us)). Dependendo do seu buzzer pode ser que não seja a frequência onde ele opera com a máxima intensidade. Geralmente os buzzers que utilizo possuem melhor resposta em 1KHz, então apenas para teste você poderia colocar a configuração em 500us High e 500us Low. Se não for isso terá que seguir a resposta do André, que é comprar outro buzzer, que tenha uma resposta boa entre as frequências de 1KHz e 4KHz, que possua impedância e tensão adequadas para o seu projeto. Lembrando que acima disto, a audição humana começa a perder sensibilidade, então frequências altas que poderiam realmente irritar começam a perder intensidade.

 Outro fator que pode estar te limitando é a forma como o buzzer está sendo acionado, por exemplo, geralmente utilizam um transistor para aumentar a corrente que passa por ele, que faz soar o apito bem mais intensamente do que acioná-lo diretamente pelo pino do Arduino. Como seu hardware é uma restrição uma vez que não possa modificá-lo, se o caso for parecido com este em que o buzzer está sendo acionado diretamente pelo microcontrolador, ou o circuito fornece pouca energia para ele, então nem trocando o buzzer poderá resolver seu problema, talvez terá que malhar na relação do duty cicle. ^^

 

 Espero ter ajudado.

 T+

Bah, ajudou bAstante, assim eu ja coloquei um 547 pra amplificar um pouco, hje a tarde vou mudar a frequencia pra ver se ajuda, mas mesmo assim, agradeço os dois por terem respondido, muito obrigado!

Painéis com teclado de alarme residencial usam 4000 Hz.

E a alimentação do Buzzer é com 12V para dar maior potencia.

use um transistor para acionar o buzzer.

Humm mas para eu gerar essa frequencia, como eu coloco ai no codigo?

Meu exemplo no Alarme Arduino - Open Source

http://labdegaragem.com/forum/topics/projeto-alarme-sem-fio-arduino...

Ligue o Buzzer no Pino Digital10 do Arduino.

// Apito

int Apito = 10;

unsigned int tempo_apito = 0;

void setup()

{

pinMode(Apito,OUTPUT);

}

void Buzzer(unsigned int tempo_apito)
{
tone(Apito,4000);          // Ligando o Apito com uma frequencia de 4000 hz.
delay(tempo_apito);      // Duração do Apito
noTone(Apito);             // Desliga o apito
}

void loop ()

{

Buzzer (100);     // Dois bips  - altere o tempo se desejar 
delay(100);
Buzzer (100);

delay(100);

}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço