Pages: [1] 2 3   Go Down
Author Topic: Teddy Bear mp3  (Read 3865 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 6
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-wink
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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.
Logged

Germany
Online Online
Edison Member
*
Karma: 46
Posts: 2310
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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... smiley-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.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany S-H
Offline Offline
Faraday Member
**
Karma: 138
Posts: 2891
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
http://arduino.cc/en/Tutorial/SimpleAudioPlayer

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".
;-)
Logged

Germany
Online Online
Edison Member
*
Karma: 46
Posts: 2310
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@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.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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)
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 138
Posts: 2891
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

« Last Edit: November 29, 2012, 10:28:09 am by jurs » Logged

Hamburg
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Germany
Online Online
Edison Member
*
Karma: 46
Posts: 2310
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
Quote
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...

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:
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah okay, vielen Dank euch allen  smiley
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?
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 138
Posts: 2891
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah okay, vielen Dank euch allen  smiley
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?

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.
Logged

Pages: [1] 2 3   Go Up
Jump to: