Difference between revisions of "3 Make some noise with buzzer"
Line 4: | Line 4: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
/* | /* | ||
− | + | Make some noise with buzzer | |
Plays a melody | Plays a melody | ||
circuit: | circuit: | ||
− | * Buzzer on digital pin 8 | + | *Buzzer on digital pin 8 |
+ | */ | ||
#include "pitches.h" | #include "pitches.h" | ||
// notes in the melody: | // notes in the melody: | ||
Line 37: | Line 38: | ||
// no need to repeat the melody. | // no need to repeat the melody. | ||
} | } | ||
+ | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 16:42, 15 September 2014
Code
- /*
- Make some noise with buzzer
- Plays a melody
- circuit:
- *Buzzer on digital pin 8
- */
- #include "pitches.h"
- // notes in the melody:
- int melody[] = {
- NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};
- // note durations: 4 = quarter note, 8 = eighth note, etc.:
- int noteDurations[] = {
- 4, 8, 8, 4,4,4,4,4 };
- void setup() {
- // iterate over the notes of the melody:
- for (int thisNote = 0; thisNote < 8; thisNote++) {
- // to calculate the note duration, take one second
- // divided by the note type.
- //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
- int noteDuration = 1000/noteDurations[thisNote];
- tone(8, melody[thisNote],noteDuration);
- // to distinguish the notes, set a minimum time between them.
- // the note's duration + 30% seems to work well:
- int pauseBetweenNotes = noteDuration * 1.30;
- delay(pauseBetweenNotes);
- // stop the tone playing:
- noTone(8);
- }
- }
- void loop() {
- // no need to repeat the melody.
- }