So I was playing around with the tone example from the arduino site and I basically got mine to play "Here comes the sun".
It sounds great but there's still something missing.... The Bass.
How would I connect two speakers (one for lead and one for bass) into the arduino so they can each play their own parts of the song?
Here's my code so far. What would I change in the code to incorporate the second speaker? :
/*
Melody
Plays a melody
circuit:
* 8-ohm speaker on digital pin 8
created 21 Jan 2010
modified 14 Oct 2010
by Tom Igoe
This example code is in the public domain.
http://arduino.cc/en/Tutorial/Tone
*/
#include "pitches.h"
// notes in the melody:
int melody[] = {
NOTE_CS5, NOTE_A4, NOTE_B4, NOTE_CS5,0, NOTE_A4 ,0, NOTE_CS5, NOTE_B4, NOTE_A4,NOTE_FS4, NOTE_A4, NOTE_B4,NOTE_A4, NOTE_FS4,NOTE_GS4,NOTE_FS4,NOTE_GS4,NOTE_A4,NOTE_B4,0,
NOTE_CS5, NOTE_A4, NOTE_B4, NOTE_CS5,0, NOTE_A4 ,0, NOTE_CS5, NOTE_B4, NOTE_A4,NOTE_FS4,0,NOTE_CS5,NOTE_B4,NOTE_A4,NOTE_GS4,};
// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4,4,4,4,4,2,4,4,2,2,2,2,2,2,4,4,4,4,2,2,2,4,4,4,4,4,2,4,4,2,2,2,4,4,2,2,1, };
void setup() {
// iterate over the notes of the melody:
for (int thisNote = 0; thisNote < 37; 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.
}