Teddy Bear mp3

In der Schule müssen wir selbstständig ein Arduino Projekt planen und zum laufen bringen. Deshalb hatten wir uns überlegt einen Teddybären so zu verändern., dass dieser, wenn man ihm auf die Hand drückt eine Melodie abspielt. Wir haben:

~ein Ethernetshiled
~einen Arduino
~eine Micro SD Card
~keine Ahnung was wir damit tun sollen

Für das Projekt haben wir bis Ende Dezember Zeit. Bitte helft uns deshalb schnell!

Since we have to make an Arduino project for school, we dicided to make a teddy bear which can play mp3 file when you press a button (which we want to put in it´s hand)
we already have:
~an Ethernetshiled
~an Arduino
~a Micro SD Card
~no idea what to do
Please help us fast because we have to finish the project till the end of December.

Für euer Projekt braucht ihr weder das Ethernetshield noch die SD-Card. Der Rest ist einfach und dürfte durch googlen oder Lesen der Tutorials ("Playground") recht schnell zu lösen sein. Einen fertigen Code wird hier keiner für euch schreiben, sonst lernt ihr ja nichts :wink:

Aber unser Problem ist, dass wir ein bestimmtes Lied abspielen lassen wollen und nicht nur irgendwelche Töne.
Außerdem wollen wir es ja nicht am Computer angeschlossen lassen sondern es in den Bär tun, weshalb wir das Lied ja irgendwo abspeichern müssen ->SD Card

Und wofür soll das Ethernet-Shield gut sein?

Wir bekommen kein SD Shield, weil das zu teuer ist. Aber wenn wir bei dem Ethernet Shield die SD Card einstecken kommt das anscheinend aufs selbe raus.

kein SD Shield, weil das zu teuer ist

??
Biete 2 SD-Card Module gegen 1 Ethernet Shield.

Und wie soll der Bär das mp3 Lied hörbar machen?
Mein Teddy früher hatte jedenfalls keinen Lautsprecher *), sondern brummte mechanisch, (bis ich rauskriegen wollte, wie er das macht)

Biete mp3 Player mit Start eines vordefinierten Lieds auf Knopfdruck, gegen Arduino mit Ethernet-Shield.


*) Auch keinen mp3-Decoder, Verstärker oder Batterie

P.S. Um mit mir Tauschgeschäfte abzuwickeln, solltet ihr über 18 sein. War also nicht ganz ernst gemeint.

michael_x:
P.S. Um mit mir Tauschgeschäfte abzuwickeln, solltet ihr über 18 sein. War also nicht ganz ernst gemeint.

Vermutlich werden sämtliche Bauteile auch von der Schule gestellt (bzw. ausgeliehen), von daher ist ein Tausch sicher nicht möglich... :wink:

Aber zurück zum Thema: Ich glaube kaum, dass man dem Arduino einen "schönen" Sound entlocken kann, zumindest nicht ohne zusätzlichen Dekoder für die mp3-Daten. Es besteht aber die Möglichkeit, wav-Dateien in Mono abzuspielen, dazu solltest du mal nach "SDplayWAV" googeln. Wenn ich mich recht erinnere, sind 22kHz in 8bit Mono möglich. Es wird schrecklich klingen, aber erfüllt vermutlich die Aufgabenstellung.
Einen kleinen Verstärker solltet ihr obendrein noch besorgen/aufbauen.

IrgendJemand:
Wir haben:

~ein Ethernetshiled
~einen Arduino
~eine Micro SD Card
~keine Ahnung was wir damit tun sollen

Ein kleiner Lautsprecher 8-16 Ohm Impedanz wäre noch schön.

Ihr könnt ausgehen von:

Statt dass der Song endlos in der loop-Funktion gespielt wird, macht ihr eine Abspielfunktion draus und als loop-Funktion macht ihr eine Abfrage, ob der Start-Taster an der Bärentatze gedrückt wurde und startet dann die Abspielfunktion.

Dann müßt ihr nur noch eine zum Abspielen mit dem Demoprogramm geeignete WAV-Audiodatei am PC erstellen und auf die SD-Karte packen. Eine nennenswerte Audio-Qualität läßt sich durch das Abspielen auf diese Art allerdings nicht erzielen, das wird schon ein ziemlich krächziger Bär werden. Ggf. mit verschiedenen Audio-Stücken und verschiedenen Samplingraten experimentieren und etwas passendes heraussuchen, damit das Ergebnis nicht zu gruselig klingt. Na ja, ihr werdet schon was passendes finden. Zu einem kleinen, knuffigen Bärchen vielleicht was nettes von AC/DC wie "Highway to Hell" oder passend zum Weihnachtsfest "Hells Bells".
:wink:

@jurs: Du verlinkst zum Audioplayer, der nur auf dem Due funktioniert. Der hat ja als Besonderheit neben den altbekannten PWM-Ausgängen zwei richtige Analogausgänge (DAC0 und DAC1).
Ggf. sollten wir mal abklären, welche Arduino verwendet wird.

Dies als Arduino shield oder ein
FTDI VMUSIC-2 geht wohl in die Richtung die ihr euch vorgestellt habt... (Da ist immer noch kein Verstärker/Lautsprecher dabei, aber der Arduino - Teil ist einfach)

sth77:
Ggf. sollten wir mal abklären, welche Arduino verwendet wird.

Stimmt, das "Due" Board ist ja ein ziemlich neues und vergleichsweise teures Arduino-Board, das kann man nicht direkt voraussetzen.

Dann vielleicht von dem Projekt hier ausgehen:
http://hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio
und die Audio-Files entsprechend als 8-Bit Datenfiles aufbereiten wie angegeben?

Ohne irgendeine Audio-Platine als "WAV-Module" oder "MP3-Module", nur mit Uno-Board und SD-Karte, wird es ja sonst wohl schwierig werden mit einer Sound-Ausgabe, die was anderes liefert als Piepstöne?

[Nachtrag] Ich habe gerade mal die SimpleSDAudio-Library getestet. Sieht perfekt für Euch aus!

Arduino-Uno mit aufgestecktem Ethernet-Shield und 2GB SD-Karte sowie einem kleinen 8-Ohm/0,5 Watt Lautsprecher (aus einem Uralt-PC ausgeschlachtet), angekoppelt in Reihenschaltung über einen 100 Mikrofarad Kondensator zwischen Ground und Pin9: Läuft mit 8-Bit AFM-Dateien! Der Ton aus dem Passiv-Lautsprecher ist zwar recht leise, und er ist noch leiser wenn man ihn über einen 100 Ohm Widerstand ankoppelt statt über Kondensator, aber wenn ihr mehr Power braucht, könnt ihr ja noch einen kleinen Batterieverstärker (MP3-Verstärker) nachschalten.

In was für einer Schule/Klasse, bekommt man eigentlich so eine "große" Aufgabe mit so wenig Vorkenntnissen übermittelt?
Ich kann mir kaum vorstellen, dass ihr die Shields selber dazu kaufen sollt. Mit vorhandenen Mitteln klappt es auf jedenfall nicht.

da2001:
In was für einer Schule/Klasse, bekommt man eigentlich so eine "große" Aufgabe mit so wenig Vorkenntnissen übermittelt?

Der Threadstarter schreibt ja dazu:

In der Schule müssen wir selbstständig ein Arduino Projekt planen und zum laufen bringen. Deshalb hatten wir uns überlegt einen Teddybären so zu verändern., dass dieser, wenn man ihm auf die Hand drückt eine Melodie abspielt.

Also Projekt selbst überlegt, nun muss man das beste draus machen...

da2001:
Ich kann mir kaum vorstellen, dass ihr die Shields selber dazu kaufen sollt. Mit vorhandenen Mitteln klappt es auf jedenfall nicht.

Das "nicht" klingt so hart. Wie gesagt geht es ja, wenngleich in bescheidener Qualität:

Ah okay, vielen Dank euch allen :slight_smile:
Wir haben ein Arduino Uno und jetzt auch noch einen kleinen Lautsprecher dazu bekommen.
Wir haben versucht ein Programm zu schreiben, wissen aber nicht wie man eine "Library" erstellt wo das Lied reinmuss.
Außerdem sind wir uns nicht sicher wie man das auf die SD Karte macht. Muss man da das Arduino Programm noch mal extra draufinstalliern oder nur die Library draufspeichern?

IrgendJemand:
Ah okay, vielen Dank euch allen :slight_smile:
Wir haben ein Arduino Uno und jetzt auch noch einen kleinen Lautsprecher dazu bekommen.
Wir haben versucht ein Programm zu schreiben, wissen aber nicht wie man eine "Library" erstellt wo das Lied reinmuss.

"Das Lied" muß nicht in eine "Library" rein.
"Das Lied" sind programmtechnisch "Daten", also einfach nur Zahlenwerte. Und davon eine ganze Menge hintereinander weg.

Und Daten können entweder im RAM-Speicher, im Programmspeicher oder auf SD-Karte gespeichert sein. Die Daten für "Echtklang-Musik" sind so umfangreich, die können rein von der Menge her nur auf SD-Karte gespeichert werden. Kurze Piepston-Melodien kann man dagegen auch im RAM unterbringen.

Eine "Library" ist Programmcode. Z.B. Programmcode zum Abspielen von Daten, beispielsweise Musikdaten.

Was wollt ihr denn als erstes?

Erstmal einfach nur mit Lautsprecher eine Melodie aus Piepstönen abspielen?
Sowas wie früher die "Handy-Klingeltöne" als Melodie wie man sie vor 10 bis 15 Jahren hatte?
Habt ihr einen Kondensator im Wertebereich 1 ... 100 µF, um den Lautsprecher vernünftig am Board anzukoppeln?

IrgendJemand:
Außerdem sind wir uns nicht sicher wie man das auf die SD Karte macht. Muss man da das Arduino Programm noch mal extra draufinstalliern oder nur die Library draufspeichern?

Eine SD-Karte braucht ihr nur, wenn ihr "echte Lieder" spielen wollt, also wenn ihr jetzt irgenein MP3-Lied vorliegen habt, als Download oder von CD gerippt. Und auf die SD-Karte kommen dann nur die Daten, kein Programm.

Also:

  • SD-Karte raus aus dem Arduino
  • SD-Karte rein in den Kartenleser am PC
  • Karte mit "FAT" Formatieren
  • WAV-Datei draufkopieren (Achtung*)
  • SD-Karte raus aus dem PC
  • SD-Karte rein in Arduino

Achtung*=
Ihr könnt nur "8-Bit WAV-Dateien verwenden". Falls Ihr Euer Lied als MP3 vorliegen habt, müßt ihr es erst ins WAV-Format konvertieren. Das WAV-Format müßt ihr dann nochmals mit einem geeigneten Tool in ein "8-Bit WAV mono" mit bestimmter, maximaler Datenrate konvertieren. Was als maximale Datenrate geht, hängt auch von der verwendeten Library ab. Ein geeignetes Kommandozeilen-Tool zum Konvertieren der WAV in 8-Bit WAV ist "sox". Und darauf achten: Als Dateinamen sind nur 8.3-Dateinamen erlaubt, also maximal acht Zeichen, ein Punkt, nochmal drei Zeichen. Keine langen Dateinamen, damit kann die ganz kleine Arduino-SD-Library nicht umgehen!

Von SD-Karte kann ein Arduino kein Programm laden und ausführen. Daher muss das Programm zum Abspielen des Lieds IMMER aus der Arduino-Software auf das Arduino-Board draufgeladen werden.

Wieso könnt ihr nicht einfach ne Ampel machen ?
So wie ich das hier so mitbekommen habe, sind eure
Vorkenntnisse doch sehr sehr beschränkt.

Aber gut...

Als Lib braucht ihr nur die für die SD Karte. Auf die SD Karte kopiert ihr dann das WAV File in 8Bit und 22kHz.
Dann schickt ihr die Daten mit dem Arduino von der SD Karte Bit für Bit auf einen Analogen Pin.
Dabei solltet ihr darauf achten, den Takt von 22050 Bits pro sec. einzuhalten. Sonst wird der Sound
zu schnell oder zu langsam abgespielt.

Ich weiss nicht so genau wie das mit Arduino geht. Aber mit BASCOM ging das auf jeden Fall und ich denke
mit Arduino auch.

Das lesen von der SD Karte benötigt Zeit und und lässt kaum Platz für mehr kHz. Aber mit Bascom konnte ich
das mit dem Interrupt machen, der im 44100 Mhz die Daten auf den analogen Pin schaufelt. Dafür brauchte ich
aber nen doppelten Buffer von 1Kb ( 2 x 512 byte ) der abwechselnd die Daten von der SD Karte ließt.
Allerdings habe ich die SD Karte im raw Modus gelesen. Mit Fat braucht der Arduino wohl noch etwas mehr Zeit.
Also nur 22 kHz.....

sven1977:
Aber mit Bascom konnte ich das mit dem Interrupt machen, der im 44100 Mhz die Daten auf den analogen Pin schaufelt.

Wow, 44100 Mhz! Also über 44 Gigahertz zaubert Bascom aus einem einfachen Controller!

Mit solchen Super-Fähigkeiten wie Dein BASCOM kann ARDUINO natürlich überhaupt nicht mithalten!
:wink:

Anyway, weil das hier ein ARDUINO und kein BASCOM-Forum ist, poste ich dann hier mal zum Testen ein bischen was zum Töne machen für eines der schlappen ARDUINO-Boards, die bei 44100 Mhz nicht mithalten können.

Ohne SD-Karte.
Ohne Library.
Nur die tone()-Funktion von Arduino.

// Arduino-Code zum Abspielen von Melodien
// ueber Kopfhoerer oder Kleinlautsprecher per PWM
// frei nach "Tuerklingel von M. Baudisch 12/2008"

// Benoetigte Bauteile: 
// 1. Arduino-Board
// 2. Kleinstlautsprecher 8 Ohm
// 3. Elektrolytkondensator 1 ... 100 uF (Mikrofarad)
// Reihenschaltung vom LAUTSPRECHERPIN am Board, Kondensator, Lautsprecher zu Ground
// Achtung: Elektrolytkondensator immer polrichtig anschließen!
// Pluspolseite des Kondensators zum Ausgangspin am Board
// Minuspolseite des Kondensators zur GND-Seite
// Falls kein Kondensator zur Hand, ggf. 100 KOhm Widerstand verwenden
// (mit Widerstand statt Kondensator ist die Lautstaerke aber deutlich geringer)
// Alternative Beschaltung: 
// Statt eines Lautsprechers Anschluss am Line-In Eingang eines Verstaerkers

#define LAUTSPRECHERPIN 9

uint16_t ton[]=
{
262, // c 	 Timerwerte fuer die enspr. Tonhoehen in Hz
277, //cis
294, //d
311, //dis
330, //e
349, //f
370, //fis
392, //g
416, //gis
440, //a
466, //b
495, //h
524, //c'
554, //cis'
588, //d'
622, //dis'
660, //e'
698, //f'
740, //fis'
784, //g'
831, //gis'
880, //a'
929, //b'
992, //h'
1050, //c''
1106, //cis''
1179, //d''
1244, //dis''
1316, //e'
1397, //f''
1562, //g'' auf position von fis'' verschoben
};

uint8_t zeit[] =  // Notenlaengen
// beim Abspielen werden die Notenlaengen mit einem Faktor
// multipliziert, um die Notenlaenge im Millisekunden zu erhalten
{
2, //1/32 Note
3, //1/32. dito punktiert
4, //1/16 Note
6, //1/16. dite punktiert
8, //1/8 Achtelnote
12,//1/8.
16,//1/4 Viertelnote
24,//1/4.
};

//Format Lied :
//1. Byte: speed 2 schnell, 3..5 normal
//2. Byte - n Byte Noten

//Aufbau eines Notenbytes:

//Bit
// 7  6  5  4  3  2  1  0
// |__|__|  |__|__|__|__|_Tonhoehe ( 1..31 (C..G'') incl. aller Halbtonschritte
//    |                                             ausser 31: G'' statt FIS''
//    |                                     wenn 0, kein Ton sondern Pause
//    |
//    |___________________________________________Tonlaenge
//
//                                                7: 1/4.
//                                                6: 1/4
//                                                5: 1/8.
//                                                4: 1/8
//                                                3: 1/16.
//                                                2: 1/16
//                                                1: 1/32.
//                                                0: 1/32
//




void playTeddy(byte *lied, byte anzNoten)
// Parameter *lied ==> Bytepointer auf die Noten des Lieds
// Parameter anzNoten ==> Anzahl der Noten im Lied
{
  byte lspeed=0;
  byte dauer;
  byte hoehe;
  byte note ;
  byte i;
  lspeed= pgm_read_byte(lied); // im ersten Byte die Abspielgeschwindigkeit lesen
//  Serial.print("Speed: ");Serial.print(lspeed);Serial.println();
//  Serial.print("Anzahl Noten: ");Serial.print(anzNoten);Serial.println();
  for (i=1;i<anzNoten;i++)
  {
    note=pgm_read_byte(lied+i); //Note holen
//    Serial.println(note);
    hoehe=note & 0x1f; //Tonhöhe ausmaskieren (5 Bit)
    dauer= zeit[(note >> 5)]; // 5 Bit nach rechts schieben und Zeit holen
    if (hoehe) //wenn keine Pause 
    {
       tone(LAUTSPRECHERPIN,ton[hoehe-1]);
       delay(int(dauer)*int(lspeed)*int(25));
       noTone(LAUTSPRECHERPIN);
       delay(25);
    }
    else
     delay(dauer);
  }    
  noTone(LAUTSPRECHERPIN);
}


// Ein paar wenige kurze Melodien, 
// um RAM-Speicher zu sparen als "PROGMEM"-Variablen deklariert
byte lied_1[] PROGMEM={3,13,82,22,82,13,76,148,18,81,20,81,13,74,146,13,82,22,82,13,76,148,18,81,13,79,17,210};
byte lied_2[] PROGMEM={2,10,8,202,202,8,6,3,5,194,0,163,192,10,8,202,202,101,102,98,195};
byte lied_3[] PROGMEM={4,65,65,3,6,5,3,72,72,8,10,5,6,67,67,3,6,5,3,1,12,10,8,6,5,3,129};
byte lied_4[] PROGMEM={3,5,106,5,113,10,78,12,14,74,69,74,83,81,14,15,177,0,5,74,83,81,14,15,81,12,14,74,69,74,14,15,108,10,138};
byte lied_5[] PROGMEM={4,100,3,1,3,4,8,107,10,8,10,11,15,178,64,102,5,3,5,6,10,109,12,10,12,13,17,180,128};
byte lied_6[] PROGMEM={3,70,6,6,70,6,6,6,6,6,6,6,10,1,1,70,6,6,70,6,6,6,6,6,6,3,1,64,70,6,6,70,6,6,6,6,6,6,6,10,64,173,74,13,10,6,64,128};
byte lied_7[] PROGMEM={2,8,74,8,69,77,74,168,8,10,8,10,72,77,172,64,6,72,6,67,76,74,168,8,10,8,10,72,74,165};
byte lied_8[] PROGMEM={2,1,1,65,1,1,65,1,1,6,72,74,0,1,1,65,1,1,65,10,10,8,69,65,0,1,1,65,1,1,65,1,1,6,72,74,0,6,10,77,13,13,13,11,10,8,6,106,6};
byte lied_9[] PROGMEM={3,81,17,17,17,17,17,81,74,77,81,79,15,15,15,15,15,15,8,0,76,79,81,17,17,17,17,17,17,19,20,22,0,84,81,15,12,0,74,0,74};
byte lied_10[] PROGMEM={5,6,8,8,6,72,0,8,6,8,10,8,6,5,6,6,5,70,0,6,5,6,8,6,69,0,3,5,5,3,69,0,3,5,6,5,3,0,139};

void setup() {
  Serial.begin(9600); // Serielle Schnittstelle initialisieren
}

void loop() 
{
  // Spielt die 10 kurzen Melodien in Endlosschleife
  playTeddy(lied_1,sizeof(lied_1));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_2,sizeof(lied_2));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_3,sizeof(lied_3));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_4,sizeof(lied_4));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_5,sizeof(lied_5));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_6,sizeof(lied_6));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_7,sizeof(lied_7));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_8,sizeof(lied_8));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_9,sizeof(lied_9));
  delay(2000); // Kurze Pause nach der Melodie
  playTeddy(lied_10,sizeof(lied_10));
  delay(2000); // Kurze Pause nach der Melodie
}

Damit ihr Euren Lautsprecher wenigstens mal etwas testen könnt, bevor ihr anfangt, etwas mit der SD-Karte zu machen.

Ups.... 44100 Mhz ist natürlich Quatsch... hab mich verschrieben... Hz natürlich.
Ich arbeite auch gerade daran das mit Arduino zu machen. Die ersten Tests
laufen schon prima :smiley:

HAHA 44100 Mhz .... WOW bin ich gut... Das soll mit mal einer nachmachen... :wink:

Vielen, vielen Dank!! <33
Also wir haben den Lautsprecher so angeschlossen, dass das Programm das jurs gepostet hat läuft. Aber wir hatten ja schon so ein ähnliches gemacht gehabt das genauso läuft:

/*
Jojo und Fani Arduino Harry Potter Melodie~
*/

#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978

int pin=8;


int note[] = {
  NOTE_B4, NOTE_E5,NOTE_G5, NOTE_FS5, NOTE_E5, NOTE_B5, NOTE_A5, NOTE_FS5, NOTE_E5, NOTE_G5, NOTE_FS5, NOTE_D5, NOTE_F5, NOTE_B4, NOTE_B4, NOTE_E5, NOTE_G5, NOTE_FS5, NOTE_E5, NOTE_B5, NOTE_D6, NOTE_CS6, NOTE_C6, NOTE_GS5, NOTE_C6, NOTE_B5, NOTE_AS5, NOTE_AS5, NOTE_G5, NOTE_E5};


int noteDurations[] =                               // tonlänge: 4 = viertel note 8 = achtel note, etc.:
  {4, 4, 7, 4, 2, 3, 1, 1, 3, 7, 4, 2, 4, 1, 4, 3, 8, 4, 2, 4, 2, 4, 2, 4, 3, 8, 3, 6, 4, 2, 3, 0.5};

void setup() {                                      

  for (int i = 0; i <= 29; i= i+1) {

    int noteDuration = 1000/noteDurations[i];
    tone(8, note[i],noteDuration);

    // kurze Pause zwischen den einzelnen Noten
    int pauseBetweenNotes = noteDuration * 1.30;
    delay(pauseBetweenNotes);
    // stopt die Melodie
    noTone(8);
  }
}

void loop() {
}

Wir wollten ja "nur" anstatt von der Melodie ein Lied einbauen und dass es auf Knopfdruck funktioniert. Außerdem haben wir das ganze jetzt an einen 9 Volt Block angeschlossen damit wir es vom Computer weg in den Teddy kriegen.
Wir verstehen nur nicht ganz wie man das Programm dazu bekommt statt der Melodie das Lied abzuspielen.

IrgendJemand:
Wir verstehen nur nicht ganz wie man das Programm dazu bekommt statt der Melodie das Lied abzuspielen.

Also nochmal der Hinweis:
http://hackerspace-ffm.de/wiki/index.php?title=SimpleSDAudio

Wo hakt es denn genau?

Das Lied passend in eine 8-Bit Mono WAV-Datei zu konvertieren?

Eine SD-Karte mit FAT16 zu formatieren und die Datei im 8.3-Format auf die Karte zu kopieren?

Die SD-Karte (wohl aus der Fassung auf dem EthernetShield?) mit der SimpleSDAudio-Library anzusprechen?

Oder ist das Problem, einen Tastschalter so anzusprechen, dass das Drücken des Tasters die Abspielfunktion startet?