Advertise here

Jumat, 12 April 2019


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.


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

Advetise banner