let's make some noise!!

Thread Starter

Eric007

Joined Aug 5, 2011
1,154
Hi all

Here's what I'm working on:

' I'm trying to build an alarm that can be suitable for an emergency alert by making a 'two tone' alarm that will toggle every half second between two different frequencies that are variable so as to have a more realistic sound.'

As you know, the hardware come first then the software!

Attached is the amplifier schematics I'm planning to use (I have one BC547B npn transistor and a BC577 pnp transistor, 2k2 resistor, 100uF capacitance) and use PIC16F690 and a (8 ohm, 0.3 W) speaker.

Here's how I'm planning to breadboard it: choose any I/O pin of the uc and connect it to Vin of amplifier, on the other side of amplifier (Vout) connect the speaker and ground the speaker as well via a resistor!

My internet is down at the moment so can't google it for some information...

My fisrt concer is if da way I'm planning to breadboard it is correct? Or I would need extra circuitry? And which resistor value would be suitable to ground the speaker with?

As for the software part, I'm planing to choose 2 different sounding frequencies BUT I'm not too sure which ones??

Now, I'm wondering if, in order to make the sound ramp up and down, I would need to have different magnitudes (5 for instance) for these 2 frequencies and toggle between those magnitudes and looping?

Enough talking for now...

Any comments/ guidance towards the right track would be really appreciated!

Kindly Regards, Eric
 

Attachments

Thread Starter

Eric007

Joined Aug 5, 2011
1,154
I'm surprised there's not a single comment...I'm wondering why...
Anyways I managed to write a code and it working perfectly BUT I have a question...

I choose 525.21Hz and 657.89 Hz as frequencies... Now I need to know if choosing large frequencies will result in louder sound??

Will post my code later...

Please comment...

Kindly regards, Eric
 

BillO

Joined Nov 24, 2008
990
Higher frequencies will carry more energy, but unfortunately the response of the human ear will not really make them seem louder.

Besides, there are so many factors at play here. Such as any resonance response in the reproduction system or in your own hearing. Even in the physical properties of the room in which you are listening.

My guess is, there will not be much overall difference within an octave or two of the frequencies you are currently using. Much beyond that and it may even get quieter for all the reasons stated above.
 

Thread Starter

Eric007

Joined Aug 5, 2011
1,154
Thanks Bill for your comments...i really appreciated it!

im a bit lazy to post my solution but i will...and like i said it works perfectly!

regards,
 

Thread Starter

Eric007

Joined Aug 5, 2011
1,154
Hi all,

Like I promised, here's my code attached for those who would like to have a look...I really wanted to post my solution (but didn't find the time) coz I had the impression from my previous thead that some people think/thought that i'm expected a ready given solution from the forum (absolutely not true!!!)

that's why I always ask for ressources to read and understand what's going on....

Anyways...have a look and of course i could have done a better job but it working and this is good enough...

But writing it on the chip i noticed that the siren started from a high sound to a low sound then i re-wrote from volume 5 to 1 so that it can starts from lower to higher sound

i will revisit this tread adding more interresting features later

Cheerful regards,
 

Attachments

Markd77

Joined Sep 7, 2009
2,806
Nice, well commented code.
You could save some program space by having a subroutine which is one of the sections and calling it repeatedly with the frequency and loudness in a couple or three registers.
You could then store the sequence of notes and loundesses in lookup tables and cycle though them, or use an algorithm to set them.
 

Thread Starter

Eric007

Joined Aug 5, 2011
1,154
Thanks Mard77 for your reply and remarks...

You are 100% right...I knew I could have saved space but I think I was just being lazy...especialy as I'm doing some reading on what I would like to discuss...

I was planning to do a second version where I would improve the code and reduce the space but well...too busy for that...

I'll think of a better project to implement with all your suggestions some other time...

Regards, Eric
 
Top