PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierung Soundmodul WTV020 in C



Chris169
10.11.2013, 23:02
Guten Abend,

um es kurz zu fassen. Ich bräuchte dringend mal einen Beispielcode, wie man das neue, oben genannte Soundmodul in C(!!) programmiert (oder eine Anleitung oder ein Tutorial wo man sich den Code selbst programmieren kann). Auf den mitgelieferten CDs, sowie auf sämtlichen Anleitungen im Internet findet man nur die Ansteuerung in Bascom und ich hab nun kein Peil, wie man mit den Port, die zu dem Modul führen umgeht.

Vielen Dank.

Wsk8
11.11.2013, 13:48
So wie ich das sehe, gibts da nichts zum programmieren. Du steckst ne SD mit deinen Files rein, schließt die Stromversorgung an und hängst ein paar Tasten dran. Und je nachdem welche Taste du drückst führt das Modul dann Play/Pause/Stop etc aus.

mfg

Frank
12.11.2013, 01:17
Das Modul lässt sich nicht nur mit Tasten ansteuern!
Er möchte sicher das Modul mit einem Controller ansteuern, da muss man dann schon ein klein wenig programmieren.
Ich habe leider nur Bascom Programm parat, siehe am Ende der Doku:
http://www.robotikhardware.de/download/Soundmodul_WTV020.pdf

Es sollte jedoch leicht sein die entscheidende Unterfunktion in C zu übertragen!

Chris169
12.11.2013, 21:18
Das Modul lässt sich nicht nur mit Tasten ansteuern!
Er möchte sicher das Modul mit einem Controller ansteuern, da muss man dann schon ein klein wenig programmieren.


Exakt. Leider hab ich wenig Ahnung wie man mit die Ports definiert, bzw. mit ihnen umgeht.

Wsk8
12.11.2013, 22:20
Ob jetzt Taste oder I/O-Port bleibt sich völlig gleich. Dementsprechend ist auch die Frage hier falsch.
Hier gehts um simple I/O-Programmierung und davon gibts unendlich viele Tutorials, da es das erste ist was man gewöhnlicherweise lernt.

mfg

oberallgeier
13.12.2013, 14:49
Hi Chris169,

läuft das WTV020 bei Dir? UND - Woher gabs die 1GB-SDmicro?

davidt
15.12.2013, 11:24
Ich habs in C umgesetzt:



//---- sound module config
#define sound_port PORTA
#define sound_reset PIN7_bm
#define sound_clk PIN6_bm
#define sound_data PIN5_bm
//---- sound module config

void wtv020_send_command(unsigned int command) {
unsigned int mask;

sound_port.OUTCLR = sound_clk;

delay_ms(2);

for (mask = 0x8000; mask > 0; mask >>= 1)
{
sound_port.OUTCLR = sound_clk;

if(command & mask)
{
sound_port.OUTSET = sound_data;
}
else
{
sound_port.OUTCLR = sound_data;
}

_delay_us(100);
sound_port.OUTSET = sound_clk;
_delay_us(100);
}

delay_ms(10);
}


und dann mit sowas ansteuern:


#define wtv020_play_pause wtv020_send_command(0xFFFE)
#define wtv020_stop wtv020_send_command(0xFFFF)
#define wtv020_mute wtv020_send_command(0xFFF0)

Chris169
29.12.2013, 16:55
Funktioniert leider immernoch nicht. Die SD-Karte funktioniert, der Lautsprecher funktioniert. Es fehlt mir nur der richtige Code.
Ich hab versucht mich ein bisschen schlau zu machen, wie man mit den Ports umgeht. Als ich versucht habe anhand des Bascom Codes, den Code in c umzuschreiben bin ich auf ein shiftout gestoßen und weiß jetzt nicht mehr weiter.

Kann mir einer bezüglich des Shiftouts helfen?
Danke.

PS.: Die SD-Karte hab ich glaub ich bei Conrad bestellt.

Mit freundlichen Grüßen
Chris

Chris169
12.01.2014, 22:02
Könnte mir einer den Bascom code in C umsetzen?

Shiftout Dout , Clk , Song_nr , 1 , 16 , 200

Bis auf diese Zeile, müsste ich eigentlich alles übersetzt haben.

Vielen Dank.

Valerian
28.10.2014, 21:39
Hallo! Hätte da nochmals eine Frage zu dem Soundmodul WTV 020 :)

Und zwar bin ich am Bauen eines kleinen Drumpads, und da würde ich eine sehr schnelle Ansprache des Soundmoduls bevorzugen. Wenn man einen Soundansteuern, wie lange beträgt den die zeit bis zum abspielen des Sounds? Also wird der Sound in "Echtzeit" abgespielt oder beträgt oder ist da die Zeit im Millisekundenbereich?

Danke Valerian

oberallgeier
29.10.2014, 09:24
... Frage zu ... WTV 020 ... zeit bis zum abspielen des Sounds? Also wird der Sound in "Echtzeit" abgespielt oder ... Millisekundenbereich ...Da gibt das Datenblatt recht brauchbare Informationen/Antwort.

Frank
29.10.2014, 12:28
Ich habe es jetzt nicht gemessen, aber ich schätze das es zwischen 300 und 1000ms liegt, weil die Datei immer von SD geladen werden muss.
Für dein Vorhaben vermutlich zu lang! Du brauchst was anderes. Vielleicht ein RaspBerry PI, vermutlich gibts da die Möglichkeit Sounddateien im Speicher zu halten. Dazu frag am besten in unserem PaspBerry Pi Unterforum nach!

oberallgeier
19.04.2016, 19:55
.. ich schätze das es zwischen 300 und 1000ms liegt ..Die wenigen Zehntel Sekunden für kurze Sätze ("Wer bist Du und woher kommst Du?") kann ich nachvollziehen, der Satz "Meine Steuerung ist elektronisch auf neun Platinen verteilt." braucht ne halbe Sekunde Ladezeit vom Befehl (per RC-5 an Controller m1284 und von dem seriell ans WTV020) bis zum ersten Sound. Sekundenlange Pausen stelle ich bei den "üblichen" Sätzen meines Archies nicht fest. Ebenfalls vom Befehl (RC-5 an Controller) dauert das Anspielen des ersten Tons von "NewYork, NewYork" ziemlich genau zwei Sekunden. Dafür dauert der ganze Sound mit F.Sinatra an die vier Minuten.