Piano Elektronik Menggunakan Microcontroler

Nataniel

Nataniel

Photographer, content designer and trader

. . .

Rangkaian ini merupakan Project Akhir dari kuliah Praktikum Sistem Microcontroler.

Rangkaian ini merupakan representasi dari sebuah piano dimana rangkaian ini dapat mengeluarkan sura dengan frekuensi tertentu. Dengan pengaturan frekuensi tersebut, maka suara yang dihasilkan berupa nada-nada harmonis. Rangkaian ini merupakan rangkaian yang menggunakan mikrokontroler 8051. Sebuah keypad digunakan untuk input yang mewakili key musik pada organ dengan nada dasar C dimulai dari C-middle. Tombol keypad 1 – 8 untuk mengeluarkan nada do sampai dengan Do. Tombol 9 untuk mengeluarkan sebuah lagu. Untuk output, sebuah speaker dihubungkan ke pin keluaran. Setiap penekanan tombol 1- 8, nada yang dihasilkan berbunyi selama 1 detik.

Setiap nada dalam musik memiliki frekuensi tertentu. Nada C-middle memiliki frekuensi 262 Hz sedangkan nada C pada satu oktaf diatasnya memiliki frekuensi 524 Hz atau dua kali dari frekuensi C-middle. Pada organ, terdapat 12 macam nada dalam satu oktaf yaitu C, C#, D, D#, E , F, F3#, G, G#, A, A#, B. Untuk nada dasar C ( C Mayor ) nada-nada yang digunakan adalah C, D, E, F, G, A , B, C’. Frekuensi dari nada-nada tersebut meningkat secara logaritmik dimana frekuensi setiap nada dari 12 nada merupakan n kali frekuensi nada dibawahnya ( n adalah akar dubelas dari 2 ).

Frekuensi setiap nada dapat dihitung dengan rumus :

Frekuensi nada ke-i = Frekuensi nada ke ( i-1 ) x 2 1/12

Jika 12Ö2   atau   21/12 = 1.059463094  atau 1.059 maka

Frekuensi dari

C- middle 262 Hz

C#     = 262        * 1.059 = 277.458        277 Hz

D       = 277.458 * 1.059 = 293.828 294 Hz.

D#   = 293.828 * 1.059 = 311.164 311 Hz.

E       = 311.164 * 1.059 = 329.522 330 Hz.

F        = 329.522 * 1.059 = 348.963 345 Hz.

F#     = 348.963 * 1.059 = 369.552 361 Hz.

G       = 369.552 * 1.059 = 391.355 391 Hz.

G#   = 391.355 * 1.059 = 414.445 414 Hz.

A       = 414.445 * 1.059 = 438.897 439 Hz.

A#     = 438.897 * 1.059 = 464.792 465 Hz.

B       = 464.792 * 1.059 = 492.215 492 Hz.

C’      = 492.215 * 1.059 = 523.674 524 Hz

Flow Chart

Source Code

==========================================

sib           equ         -1012
do            equ         -956
re             equ         -851
mi            equ         -758
fa             equ         -716
sol           equ         -637
la             equ         -568
si             equ         -508
do1          equ         -478

org          0H
jmp         start
start:
mov         TMOD,#01H
mov         R7,#0
mov         R6,#0
ajmp       scan
lagu:
acall        DO
acall        RE
acall        MI
acall        DO
acall        delay
acall        DO
acall        RE
acall        MI
acall        DO
acall        MI
acall        FA
acall        SOL
acall        SOL
acall        SOL
acall        MI
acall        FA
acall        SOL
acall        SOL
acall        SOL
acall        delay
acall        SOLs
acall        LAs
acall        SOLs
acall        FAs
acall        MI
acall        DO
acall        SOLs
acall        LAs
acall        SOLs
acall        FAs
acall        MI
acall        DO
acall        RE
acall        delay
acall        SIB
acall        DO
acall        DO
acall        RE
acall        delay
acall        SIB
acall        DO
acall        DO
ajmp       scan
DO:
mov         R0,#2
dol:
mov         R1,#255
dol0:
mov         TH0,#HIGH do
mov         TL0,#LOW do
setb         TR0
lcall         main
djnz        R1,dol0
djnz        R0,dol
ret
RE:
mov         R0,#2
rel:
mov         R1,#255
rel0:
mov         TH0,#HIGH re
mov         TL0,#LOW re
setb         TR0
lcall         main
djnz        R1,rel0
djnz        R0,rel
ret
MI:
mov         R0,#2
mil:
mov         R1,#255
mil0:
mov         TH0,#HIGH mi
mov         TL0,#LOW mi
setb         TR0
lcall         main
djnz        R1,mil0
djnz        R0,mil
ret

………………………….

…………………………..

…………………………..

< source code tidak ditampilkan seluruhnya >

==========================================

Skematik Rangkaian

Rangkaian Jadi

Thank to Dody Kurniadi <partner praktikum >

Leave a Reply

Archives