Langsung ke konten utama

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 SDCARDpakai 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


Komentar

Postingan populer dari blog ini

Tutorial Membuat File EEPROM Menggunakan EEPROM EDITOR

Salah satu kelebihan dari mikrokontroler AVR adalah adanya fitur  Internal Eeprom . Dengan tambahan fitur ini membuat para oprekers makin cinta sama avr.  :v Eeprom  biasanya kita gunakan untuk menyimpan data pada hardware yang kita buat.data bisa  berupa nilai-nilai, atau karakter-karakter tertentu yang mana data-data tersebut bisa kita ubah-ubah dari halaman  Front End . Sehingga ketika ada perubahan/upgrade/seting pada alat yang kita buat, kita cukup melakukan perubahan pada file data yang tersimpan di eeprom saja tanpa harus merubah di halaman  Back End  ( Code Program ) nya. Jelas hal ini akan membuat sistem yang kita bangun menjadi  User Friendly , artinya akan sangat memberikan kemudahan bagi user yang menggunakan nya. Lalu, bagaimana cara membuat file untuk eeprom tersebut? Menulis data pada eeprom seringkali kita kerjakan langsung dari kode program. Contoh : Dim No_hp as string*11 No_hp = "08993188048" Writeeeprom No_hp , ...

DIY Jadwal Sholat Digital Menggunakan ATMEGA8

Shalat fardhu sebagai kewajiban yang diwajibkan Allah kepada ummat Islam, sebanyak lima kali sehari semalam, ditetapkan dengan berwaktu. Hal ini ditegaskan-Nya dalam firman-Nya sbb:   Maka apabila kamu telah menyelesaikan shalat(mu), ingatlah Allah di waktu berdiri, di waktu duduk dan di waktu berbaring, kemudian apabila kamu telah merasa aman, maka dirikanlah shalat itu (sebagaimana biasa). Sesungguhnya shalat itu adalah fardhu yang ditentukan waktunya atas orang-orang yang beriman . (QS. an-Nisa 103) Pelaksanaan shalat tersebut telah diatur oleh Allah baik dari segi waktu, tata-cara pelaksanaan dan bacaannya sehingga umat Islam tidak diberi hak untuk merubah, yang sering disebut dengan ibadah mahdlah (khusus). Waktu-waktu yang ditentukan itu, dalam fiqih Islam dikenal dengan:   1.      Subuh 2.    Dzuhur 3.    Ashar 4.    Magrib 5.    Isya’ Berkenaan dengan ini, mikrodb akan berbagi mengena...

Mengisi Bootloader Arduino ke ATMEGA8/168/328

Siapa yang tak kenal board  Arduino ?? Dewasa ini board ini sangat booming, dan memang tidak bisa dipungkiri kehadiran arduino ini seakan memberi warna tersendiri kepada banyak orang, terutama para penggemar elektronika / mikrokontroler. Dulu, untuk membuat project - project elektronika berbasis mikrokontroler, seseorang dituntut terlebih dahulu harus memiliki pengetahuan khusus/skill dalam desain hardware dan pemrograman. Namun, kini hal itu sudah menjadi bagian yang tak perlu dihiraukan lagi semenjak arduino muncul dengan berbagai kemudahan yang disediakan nya. Alih-alih yang tadi nya wajib bisa programming, kini semua hampir semua orang yang tak perlu memiliki dasar pemrograman sudah bisa membangun sebuah project mikrokontroler sekelas " Advanced ".  Plus minus orang menyikapi kehadiran Arduino ini, disatu sisi menganggap ini adalah sebuah kemudahan teknologi yang harus dimanfaatkan. Kalau bisa menjadi mudah, kenapa mesti mencari yang susah?? begitu kata teman sebelah...