didapatkan data proses selanjutnya adalah mengirimkan data tersebut ke Raspberry Pi dengan komunikasi paralel.
Selanjutnya program akan dieksekusi di Raspberry dengan melihat kondisi selector switch yang dipilih. Jika mode slendro yang dipilih program akan memanggil sample nada
slendro untuk dimainkan. Begitu juga sebaliknya jika yang dipilih mode pelog maka program akan memanggil sample nada pelog untuk dimainkan. Setelah proses memainkan
nada maka program akan melihat kondisi push button switch. Jika push button ditekan maka akan menghentikan suara rekaman yang sedang dimainkan dan sensor akan kembali
membaca pukulan untuk memainkan nada selanjutnya dan begitu seterusnya.
3.4.1. Program Pembacaan dan Pengolahan Sensor FSR
Keluaran dari sensor FSR berupa sinyal tegangan analog, oleh karena itu nilai keluaran tersebut harus dihubungkan dengan ADC karena pin GPIO pada Raspberry Pi hanya bisa
membaca masukan data digital. Resolusi bit ADC pada ATmega 8535 adalah 10 bit. Ini berarti bahwa ADC akan mengubah masukan analog dalam rentang 0V
– 5V menjadi nilai digital 0 - 1023. Besarnya nilai ADC dapat dihitung dengan persamaan 2.2.
Program pembacaan sensor FSR dimulai dengan mendeklarasikan port ATmega 8535 yang digunakan dalam proses ini. Selanjutnya proses pembacaan sensor dimulai dengan
membaca nilai ADC FSR 1 sampai dengan FSR 7. Setelah melakukan proses pembacaan maka dilakukan proses pengolahan data sensor dengan merata-rata data nilai ADC yang
terbaca dengan metode moving average seperti Persamaan 2.3. untuk kemudian didapatkan nilai ADC yang benar-benar mewakili kuatnya pukulan yang diberikan. Setelah didapatkan
nilai rata-rata selanjutnya adalah mengelompokan nilai rata-rata tersebut yang dijadikan acuan dalam memainkan suara demung pada Raspberry Pi. Pembagian range nilai ADC
dilakukan berdasarkan level suara yang akan dimainkan seperti pada Tabel 3.11. Diagram alir pembacaan sensor FSR dapat dilihat pada Gamabar 3.11.
Tabel 3.11. Perbandingan nilai ADC dalam menentukan tingkatan volume No
Nilai Pukul ADC Kondisi
1 threshold A
0b01 2
=A B 0b10
3 =B 1023
0b11 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Besarnya nilai pukul ADC berkisar antara 0-1023 karena pada penelitian ini menggunakan ADC 10 bit. A dan B merupakan variabel yang berfungsi sebagai batas tiap
tingkatan volume berdasarkan nilai ADC. Besarnya nilai A,B, dan threshold akan dibahas lebih lanjut saat implementasi pada Bab IV.
Gambar 3.11. Diagram alir pembacaan dan pengolahan sensor FSR PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.2. Program Pengiriman Data Dari ATmega 8535 ke Raspberry Pi
Setelah proses pembacaan dan pengolahan sensor FSR maka selanjutnya data akan dikirim dari ATmega 8535 ke Raspberry Pi dengan komunikasi pararel dengan jumlah data
5 bit. Komunikasi pararel dipilih karena proses pengiriman data bisa berlangsung lebih cepat. Data akan dikirimkan secara bersamaan dalam satu waktu bersamaan sehingga untuk
5 bit data diperlukan 5 jalur untuk transmisi data. Chanel merupakan bit data yang menunjukkan sensor FSR yang dipilih. Karena pada penelitian ini menggunakan 7 buah
sensor FSR jadi diperlukan 3 bit data untuk mewakilkan setiap sensor FSR 0b000 – 0b111.
Sedangkan untuk kondisi pengelompokan level suara diperlukan 2 bit data 0b00 – 0b11
yang mewakili Level 1 – Level 3. Diagram alir pengiriman data dari ATmega 8535 ke
Raspberry pi dapat dilihat pada Gambar 3.12.
Gambar 3.12. Diagram alir pengiriman data sensor data sensor PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Setelah mendapatkan data dari chanel dan kondisi selanjutnya adalah menggeser data chanel sebanyak 2 kali sehingga data chanel dan kondisi tidak tertumpuk. Setelah dilakukan
penggeseran maka kedua data tersebut di jumlahkan operasi or sehingga didapat 5 bit data yang mewakili masing-masing chanel dan kondisi. Selanjutnya ketika en berlogika high 1
maka data siap dikirim. Setelah selesai pengiriman en kembali berlogika low 0. Sehingga dalam komunikasi pararel ini menggunakan 6 jalur komunikasi. 5 jalur sebagai bit data dan
1 jalur sebagai pemicu atau penanda untuk proses pengiriman data.
3.4.3. Program Memainkan Nada