Tugas Besar EL3014 Sistem Mikroprosesor Audio Visualizer
Tugas Besar EL3014 Sistem Mikroprosesor
Music Visualizer
Music Visualizer ini merupakan alat yang dapat memberikan visualisasi dengan memanfaatkan sistem kendali LED yang secara real-time menampilkan spektrum frekuensinya dari sinyal suara yang ditangkap. Dalam hal ini Music Visualizer ini digunakan sebagai dekorasi ruangan ketika musik sedang dimainkan.Alat dirancang menggunakan Arduino UNO dan diprogram dengan bahasa pemrograman C. Lalu memiliki input sinyal audio yang akan ditangkap menggunakan microphone yang terbuhung. Output dari alat ini adalah tampilan visualisasi spektrum audio yang ditampilkan pada matriks LED.
Desain
Alat
Diagram Blok Audio Visualizer
·
Power supply yang digunakan untuk Audio
Visualizer adalah baterai 9V. Dengan menggunakan baterai, maka alat yang akan
dibuat memiliki kemampuan portable dan konsumsi daya yang rendah.
·
Untuk dapat menangkap audio yang ingin
diperlihatkan spektrum frekuensinya, digunakan electret condenser microphone.
·
Arduino UNO berfungsi untuk melakukan proses
penerjemahan audio ke dalam spektrum frekuensi dengan memanfaatkan FFT.
·
Output hasil proses penerjemahan berupa spektrum
frekuensi ditampilkan pada LED matrix.
Implementasi Hardware
Komponen yang Digunakan
Komponen yang digunakan untuk
membuat Audio Visualizer dimulai dari sensor suara sampai menampilkan spektrum
sinyal adalah sebagai berikut :
Sound Amplifier
dengan OP-AMP LM358
Komponen LM358
|
Skematik LM358
|
Komponen LM358 kemudian
dimanfaatkan dengan membuat rangkaian sound amplifier seperti berikut
Skematik Sound Amplifier
Komponen-komponen yang diperlukan
untuk membuat sound amplifier diantaranya :
·
Kapasitor (10µF, 100nF, dan 220µF)
o
Kapasitor C1 bernilai 10µF berfungsi sebagai
coupling capacitor
o
Kapasitor C2 bernilai 220nF berfungsi sebagai
output coupling
o
Kapasitor C3 bernilai 100nF berfungsi sebagai
power supply decoupling
·
Resistor (1kΩ, 10kΩ, dan 100kΩ)
o
Resistor R1 bernilai 1 – 10 kΩ berfungsi sebagai
load resistor untuk microphone
o
Resistor R2 dan R3 yang keduanya bernilai 10kΩ
berfungsi sebagai voltage divider yang membagi tegangan menjadi setengahnya
o
Resistor R4 dan R5 yang masing – masing bernilai
1kΩ dan 100kΩ bekerja sebagai penguat dengan penguatan sebesar 100 kali dan
bekerja pada mode inverting
·
Electret Microphone yang berfungsi untuk
mengambil suara.
·
Supply Voltage (Arduino)
Arduino Uno R3
Arduino Uno adalah board
mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari
output digital dimana 6 pin input
tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz
osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk
mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board
Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke
adaptor-DC atau baterai untuk menjalankannya.
Arduino Uno R3
LED matrix 8x8
bi-color
Hasil spektrum akan ditampilkan
dengan menggunakan LED matrix 8x8 bi-color. Untuk menampilkan besarnya
frekuensi dari audio, digunakan sumbu x sebagai penanda. Semakin kanan lampu
LED yang menyala pada LED matrix, maka semakin tinggi frekuensi dari audio yang
didengar. Untuk menampilkan besarnya amplituda dari audio, digunakan sumbu y
sebagai penanda. Semakin atas lampu LED yang menyala pada LED matrix, maka
semakin besar aplituda dari audio yang didengar. Untuk lebih jelasnya, dapat
dilihat pada gambar berikut
Implementasi Audio Visualizer pada LED Dot Matriks
Implementasi
Software
Flowchart
Pertama sinyal suara akan
dikonversi menggunakan ADC, kami mengeset regiter untuk ADC dengan mode
free-running agar konversi ADC cukup cepat. Sampel audio yang kita ambil adalah
128 sampel. Ketika sampling terlah selesai, sampel tersebut kami konversi
menjadi nilai spektrum menggunakan FFT. Kami menggunakan library yang
menyediakan konversi FFT 128-point. Setelah hasil di konversi, hasil spektrum
kemudian kami berikan equalizer dan noise filtering untuk meningkatkan
kualitasnya.
Lalu setelah didapatkan nilai
dari spektrum yang berupa array dengan 64 nilai, kami membaginya menjadi 8
bagian yang dijumlahkan dan nilainya akan ditampilkan pada LED matriks. Untuk
memberikan tampilan yang bagus pada LED matriks, nilai maksimal dari kedelapan
nilai akan dicari lalu nilai tersebut akan menjadi pembanding dengan ketujuh
nilai lainnya. Dengan cara ini, nilai ketika volume cukup kecil juga akan
memberikan visualisasi yang baik untuk menunjukkan frekuensi dominan dari sampling
yang diambil.
Untuk output pada LED matriks,
kami mengunakan timer interrupt yang aktif setiap 0,1 detik, yang isi dari
fungsi interruptnya adalah menampilkan hasil dari perhitungan FFT pada sampling
dan menampilkannnya pada LED matriks dengan scanning setiap rownya.
Hasil Implementasi
Hasil Implementasi LED
Matrix
Rangkaian diimplementasikan pada breadboard dengan menggunakan komponen tambahan
berupa jumper dan resistor 220 ohm. Hasil implementasi dapat terlihat sebagai
berikut
Gambar 2.3.1
Implementasi LED Matrix
Ketika dilakukan pengetesan alat, terlihat LED matrix menyala sesuai
harapan.
Gambar 2.3.2
Hasil Implementasi LED Matrix
Hasil Implementasi Sound Detector LM358
Rangkaian penguatan suara dengan menggunakan komponen LM358
diimplementasikan pada breadboard dan terlihat seperti berikut
Ketika LM358 dilakukan pengetesan alat dengan menggunakan
serial plotter pada arduino, didapatkan hasil seperti berikut
Ketika tidak ada input suara, nilai ADC yang terdeteksi
stabil pada nilai 564. Ketika ada input suara, terlihat sinyal akan terekam dan
mengalami osilasi seperti gambar diatas.
Hasil Implementasi Audio Visualizer
Rangkaian penguatan suara dengan menggunakan komponen LM358 digabungkan
dengan LED matrix seperti pada gambar berikut
Dapat dilihat pada sistem dibuat kondisi awal yang menunjukkan Baris pertama dari LED matrix yang menyala semua yang menandakan tidak adanya audio yang terekam. Ketika dilakukan pengetesan alat, didapatkan hasil sebagai berikut
Dapat dilihat pada sistem dibuat kondisi awal yang menunjukkan Baris pertama dari LED matrix yang menyala semua yang menandakan tidak adanya audio yang terekam. Ketika dilakukan pengetesan alat, didapatkan hasil sebagai berikut
Terlihat ketika diberikan input suara, maka audio yang dimasukkan melewati sound detector LM358 akan diproses dengan arduino dan pada akhirnya ditampilkan spektrumnya pada LED Matrix. Suara yang digunakan untuk pengetesan ini menggunakan suara manusia dan dapat dilihat spektrum yang dihasilkan menampilkan amplituda terbesar pada frekuensi yang rendah.
Dengan melakukan pengetesan besar frekuensi yang dapat dideteksi melalui
website http://onlinetonegenerator.com/ didapatkan rentang frekuensi yang dapat
dideteksi dimulai dari 300 Hz – 4000 Hz.
Lampiran : http://sismik-091-108.blogspot.com/2017/05/lampir.html
Video : https://www.youtube.com/watch?v=ChQRePPZ1m4
Lampiran : http://sismik-091-108.blogspot.com/2017/05/lampir.html
Video : https://www.youtube.com/watch?v=ChQRePPZ1m4
Comments
Post a Comment