Can I use 16 Ohm speaker with Arduino?

I'm testing my new Duemilanove. (I already smashed out one Arduino an d now I tought that maybe I should ask before doing...)

Blink is working fine and now I'd like to test same other examples. I've got speaker 16 Ohm, 0.5W Robomaa. Can I just put black wire to GND-pin and red wire to pin 8 and upload sketch Example -> Digital -> Tone melody. Or do I need speaker of 8 Ohm?

The skettch is:
/*
Melody

Plays a melody

circuit:

  • 8-ohm speaker on digital pin 8

created 21 Jan 2010
by Tom Igoe

This example code is in the public domain.

*/
#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);
}
}

void loop() {
// no need to repeat the melody.
}

I would recommend putting a 150 Ohm resistor in series with the speaker to keep it from exceeding the recommended output current from an ATmega CPU.

Regards,

Dave

resistor in series with the speaker, then you would be OK.

But thee volume would be very low.

Do you have some small powered computer speakers? Could use that also for a little more volume.

Thanks. I decided to study some electricity before going on :). So when I use 150 Ohm resistor with 16 Ohm speaker, I'll be safe?

I was a little bit confused, because the product info says: "The 16 [ch937] impedance makes it possible to drive this speaker directly from the I/O lines of some microcontrollers, such as those on the Orangutan robot controllers and the Arduino."

Another question: Can I use two resistors on breadboard (one after another), if I don't have one suitable resistor?

Yes, that's putting resistors in series. A quick brush-up never hurt!

Thanks again :slight_smile: