STM32F103 RTTL PLAYER NOKIA RING TONE
/ 19:48
Introduction
Siapa yang tak mengalami HP Nokia di era tahun
2000, pasti anda yang memiliki kelahiran 80-90 mengalaminya. Apa yang masih
teringat dipikiran anda tentang HP tersebut, kalau saya yang masih teringat itu
adalah membuat ringtone, dengan susah payah mencari lagu yang diinginkan
kemudian mengetiknya dalam format teks di layar HP, yang disebut dengan RTTL (
Ring Tone Transfer Language ) yang dapat diputar dan memainkan nada nada dari
lagu yang kita inginkan.
Teringat akan hal itu, saya mencoba mengenang memori dimasa itu untuk memainkan kembali RTTL tersebut tetapi di dalam platform yang berbeda yaitu menggunakan MCU.
Proyek kali ini saya ingin membuat RTTL Player berbasis MCU STM32F103 Blue Pill, kemudian saya ambil liblary yang secara khusus digunakan untuk papan arduino dari miliknya ponty.
Kenapa saya ambil liblary ini, karena liblary ini memberikan penggunaan yang cukup simple dan mudah.
Teringat akan hal itu, saya mencoba mengenang memori dimasa itu untuk memainkan kembali RTTL tersebut tetapi di dalam platform yang berbeda yaitu menggunakan MCU.
Proyek kali ini saya ingin membuat RTTL Player berbasis MCU STM32F103 Blue Pill, kemudian saya ambil liblary yang secara khusus digunakan untuk papan arduino dari miliknya ponty.
Kenapa saya ambil liblary ini, karena liblary ini memberikan penggunaan yang cukup simple dan mudah.
Bill Of Material
·
Board STM32F103C Blue Pill
·
Bread Board 400 dot point
·
Speaker 1.5” 8 Ohm
·
Resistor 18 Ohm
·
USB to TTL module for Upload
Program
·
Dan beberapa kabel Jumper Female
to Male, dan Male to Male
Wiring
Connection Table
STM32
|
Speaker
Pin
|
USB
to TTL
|
5V
|
VCC
5V
|
|
G
|
SPK
(-)
|
GND
|
PB0
|
SPK
(+)
|
|
PA9
|
RX
|
|
PA10
|
TX
|
Program
Pertama
kali sebelum memulai program anda terlebih dahulu menginstall liblary arduino
rttl player yang dapat di unduh pada link ini https://github.com/ponty/arduino-rtttl-player
Dan
install pada direktori /../../liblaries.
Ada
beberapa parameter yang perlu anda ketahui yaitu menetukan pin speaker pada
blue pill, untuk menentukan pin ini anda dapat menggunakan pin yang mendukung
fungsi tambahan sebagai PWM, contoh saja dalam hal ini saya menggunakan pin PB0
sebagai pin output ke speaker, kemudian menentukan octave nada, dalam contoh
ini default saja yaitu di isi dengan 0.
const int pinSpeaker = PB0;
const int octave = 0;
Selanjutnya
adalah mencari sumber nada RTTL yang anda sukai di berbagai sumber yang
menyediakan RTTL tone. Pada contoh ini saya menggunakan ring tone flinstone,
RTTL ini di simpan kedalam flash memori dengan menggunakan fungsi PROGMEM
sehingga anda dapat menghemat pemakaian SRAM yang ada pada blue pill board.
//
Liblary link https://github.com/ponty/arduino-rtttl-player
#include
<Tone.h> //the external Tone library is used
#include
<rtttl.h>
const
int pinSpeaker = PB0;
const
int octave = 0;
const
char Flinstones[] PROGMEM = "Flinstones:d=4,o=5,b=40:32p,16f6,16a#,16a#6,32g6,16f6,16a#.,16f6,32d#6,32d6,32d6,32d#6,32f6,16a#,16c6,d6,16f6,16a#.,16a#6,32g6,16f6,16a#.,32f6,32f6,32d#6,32d6,32d6,32d#6,32f6,16a#,16c6,a#,16a6,16d.6,16a#6,32a6,32a6,32g6,32f#6,32a6,8g6,16g6,16c.6,32a6,32a6,32g6,32g6,32f6,32e6,32g6,8f6,16f6,16a#.,16a#6,32g6,16f6,16a#.,16f6,32d#6,32d6,32d6,32d#6,32f6,16a#,16c.6,32d6,32d#6,32f6,16a#,16c.6,32d6,32d#6,32f6,16a#6,16c7,8a#.6";
void
setup(void)
{
player.begin(pinSpeaker);
player.play_P(Flinstones, octave);
}
void
loop(void)
{
}
Test & Result
Pada
hasil pengujian setelah melakukan upload program kedalam blue pill, ternyata menghasilkan
suara ringtone yang cukup memuaskan, tapi sayang suara yang dihasilkan
terdengar lemah. Tapi tak masalah, hal ini dapat diatasi dengan menggunakan
mini power amplifier untuk memperkuat suaranya.
Anda
dapat melihat hasil dengan nyata melalui link youtube berikut.
Comments 0
EmoticonEmoticon