Tutorial Modul Mp3 WT9501M03 ( Bag 2 )


Halo sobat mikrodb, ketemu lagi di pembahasan lanjutan masih soal Modul Suara WT9501M03. Di bagian I kemaren kita sudah bahas bagaimana cara menggunakan modul ini dengan mode switch, untuk pembahasan kali ini saya akan menjelaskan bagaimana mengakases modul ini dalam mode serial.

Dengan mode serial  kita bisa mengontrol modul suara ini menggunakan sebuah Mikrokontroler atau PC Serial.  Dan dengan mode serial kita bisa menjalankan track lagu2/suara nya baik secara berurutan maupun secara random/acak. Berbeda dengan mode switch yang hanya memungkinkan untuk menjalan kan lagu nya secara berurutan saja.

Modul suara WT9501 meminta syarat dalam komunikasi serial nya yaitu berupa protokol data yang harus dipenuhi supaya modul ini bekerja dengan baik, seperti apa itu protokol data yang disyaratkan oleh modul ini, perhatikan gambar di bawah ini:

Gambar tabel di atas merupakan model protokol data yang diminta oleh modul suara ini. Kita harus penuhi syarat tersebut dalam membangun komunikasi antara mikrokontroler dan modul suara WT9501.

Kita bahas ya?


Dalam pengiriman perintah-perintah serial nya harus mengikuti tabel di atas.

Data kita kirim diawali dengan : "Start Code"

Lalu diikuti  "Data Lenght" - "OpCode" - "NomorTrackPuluhanRibu" -"NomorTrackRibuan" - "NomorTrackRatusan" - "NomorTrackPuluhan" - "NomorTrackSatuan"

Dan ditutup dengan : "End Code"


Ini aturan paket data nya, dan kita bisa mengirim kan dalam bentuk ACII Code .

Misal saya ingin menjalan kan track nomor 1. Masih ingat dalam pemberian nama dalam track nya? yaitu dengan 5buah digit, bisa dibaca lagi di bagian sebelum nya disni.


Track nomor 1 itu berarti = 00001.mp3 , lalu kita tentukan tingkatan angka nya, seperti gambar di bawah ini:

 

 

Kita pisah per angka:


Puluhan Ribu  = 0 -->  ascii nya = 30H

Ribuan = 0  -- > ascii nya = 30H

Ratusan = 0 --> ascii nya = 30H

Puluhan = 0 --> ascii nya = 30H

Satuan = 1 --> ascii nya = 31H

 

 

 

Sehingga untuk memutar track1 , maka kode track nya adalah : 30H 30H 30H 30H 31H


Dan kalau kita gabung semua nya dengan mengikuti kaidah protokol data yang diminta, maka akan menjadi seperti ini:


Start Code = 7EH

Data Lenght = 07H

OpCode = A0H

NomorTrackPuluhanRibu = 30H

NomorTrackRibuan = 30H

NomorTrackRatusan = 30H

NomorTrackPuluhan = 30H

NomorTrackSatuan = 31H

End Code = 7EH

Sehingga akan menjadi seperti ini : 7EH 07H A0H 30H 30H 30H 30H 31H 7EH


Untuk menentukan nilai dari "Op Code" anda bisa melihat tabel di bawah ini:

Tabel diatas adalah tabel code untuk menetukan nilai dari Op Code nya. Jika kita ingin mengirim perintah "Play", maka code hex nya adalah "A0H", kalau "Pause" kode hex nya adalah "A1H",dst.

Nah, sebelum kita mencoba menghubungkan dengan mikrokontroler, ada baik nya kita coba dulu via PC ya. Kita memerlukan USB to Serial(ttl) modul, anda bisa memakai modul usb to serial merek apa saja. Disini saya menggunakan modul nya dari DI ( Depok Instrument ).  


Lanjut hubung kan modul suara WT9501M03 nya dengan modul USB To TTL nya seperti gambar koneksi di bawah ini:

Bagi yang belum mengetahui koneksi pin2 dari modul suara nya, di artikel sebelum nya sudah saya bahas, monggo dibaca lagi artikel sebelum nya.

Nah, jika sudah di koneksikan seperti diatas, sekarang hubungkan modul USB To TTL nya ke Port USB PC/Laptop nya, lalu buka software "Termite". Jika anda belum punya software ini, silahkan unduh dulu disni .

OK, kalau sudah di unduh sekarang buka program Termite nya, tampilan nya seperti ini :


Setelah itu kita lakukan seting2 dulu di termite nya supaya termite bisa mengirim code HEX. Berikut langkah-langkah nya.

      

Setelah itu, klik OK dan kita sekarang akan coba mengirimkan code hex seperti pembahasan di atas, yaitu kita ingin menjalan kan track 1 , dimana paket kode hex nya adalah :  7E 07 A0 30 30 30 30 31 7E


Kita ketikkan di termite nya seperti ini :

 

Setelah di ENTER, maka akan nampil HexView nya seprti gambar di bawah ini, dan seharus nya modul sudah nge Play Track 1. :D

Ini video saat test via PC melalui USB to ttl modul, dan untuk memory card nya saya test pakai flashdisk.. Kalau pakai flash disk cuman beda di Operation Code nya aja, misal: kalau untuk nge PLAY dari SDCARD pakai code A0H, kalau nge PLAY dari Flashdisk pakai code B0H.



Bagaimana?? masih bingung? hehe
saya harap tidak lah ya.... :D, kita lanjut skrg menghubungkan modul dengan mikrokontroler , untuk koneksi nya sama dengan sebelum nya ( antara modul dan usb to ttl ). Yang perlu diperhatikan adalah pemasangan Tx dan Rx nya di cross alias disilang.


Tx modul  suara ---> ke Rx Mikro
Rx modul suara --
-> ke Tx Mikro
Gnd modul suara ---> ke Gnd Mikro

 

Perintah program nya sama dengan ketika kita bermain komunikasi serial pada mikro, dan yang terpenting baudrate antara mikro dan modul sama, yaitu 9600.


Langsung saja ya, saya akan tuliskan kode program untuk nge PLAY Track1 via mikro . Saya kasih contoh program yang pakai bahasa Pascal, pakai compiler MikroPascal, bisa anda unduh di situs resmi nya : http://www.mikroe.com/.


Berikut kode program nya :


 

 

 Yah seperti itu kode nya untuk nge Play Track 1, mudah kan?  anda bisa berkreasi sesuai ide yang dimiliki. Misal mikro digabung dengan display Seven Segment , setiap display menampilkan angka , maka  modul juga akan mengeluarkan suara sesuai dengan angka yang tampil. Tinggal di susun aja dulu flowchart nya, lalu dibuat program nya, monggo kalau ada komentar, masukan,dll silahkan di tulis di bawah...supaya kita bisa saling sharing.. OK

Semoga bermanfaat.. :D

Oh iya..ini video testing pakai modul WT9501M03+ATMEGA8


 

 

 

 

 

 

 

 

Comments   

0 #9 Sandi Saputro 2014-06-27 14:44
mas Junedi : harus nya setiap dia nge play track nya, durasi nya ya sepanjang durasi track nya mas..
mungkin ada salah code ,mas pakai bahasa pemrograman apa ?
Quote
0 #8 Junaedi 2014-06-25 01:34
Mas,
Mau nanya, saya udh coba di mode serial.
sudah bisa play mp3,
tapi kok play cuma sekitar 1 detik trus mati ya?
Quote
0 #7 Sandi Saputro 2014-06-20 01:53
jangan dalam bentuk string mas..
Quote
+1 #6 samba 2014-06-17 13:07
mas mau nanya, ane pake bascom pake printah print "0x7e" tapi tetep gk bisa keluar suaranya. tolong diperbaiki program ane berikut ini siapa tau ada salahnya :
$regfile = "8535def.dat"
$crystal = 11059200
$baud = 9600
waitms 1500
print "0x7e"
print "0x07"
print "0xa0"
print "0x30"
print "0x30"
print "0x30"
print "0x30"
print "0x31"
print "0x7e"
waitms 3000
Quote
0 #5 Sandi Saputro 2014-06-13 15:40
thanks to Martin ..
yup,,in datasheet, we will get 16 byte response code,, and i got it...u can test the module using usb to ttl and please use serial software monitoring like Hterm..when u give command to module ( such as : play, next, prev,etc ), then u`ll see response code.. :)
Quote
0 #4 Martin Trampus 2014-06-12 18:37
Hello to author and thanx for nice post. I don't understand your language, but thanx to Google translate I was able to read it.
I'm also trying to use this module, but there's wery little info about it. It works fine on teminal and on buttons (I didn't try to connect it to microcontroller yet).
In all instructions on internet there is an explanation of response string, which should be much longer and should include filename (16 chars). But I can't get it.
Did you managed to get filename out of it?
Thanx in advance for your answer.
Best regards, Martin
Quote
0 #3 ruslan 2014-05-25 03:47
siip memang disini di bahas caranya menggunakan modul itujadi bisa di implementasi dengan bahasa macam2
Quote
0 #2 Administrator 2014-05-19 13:20
@mas rudi : cara nya sama aja kayak kode diatas mas,
kalau di pascal kan kirim serial pakai
"Uart_Write", nah kalau di bascom kan pakai perintah "print"
Quote
0 #1 rudi 2014-05-18 22:37
ada contoh program pakai bascom ga gan?
Quote

Add comment


Security code
Refresh