Kamis, 20 Maret 2014

Arduino, Keypad, dan Processing

Yak, setelah kemarin bermain dengan keypad, hari ini saya mencoba untuk menghubungkan keypad tersebut ke program yang berjalan ke komputer. Idenya sih dengan menggunkan komunikasi serial pada Arduino, kemudian data dari serial tersebut diolah oleh suatu program. 

Awalnya saya ingin membuat program tersebut dengan bahasa pemrograman Java seperti pada contoh di arduino.cc. Akan tetapi, sayang sekali karena saya malas untuk menginstall file .dll yang diperlukan, selain itu juga kebetulan saya tidak dapat mengakses rxtx.qbang.org untuk mengunduh file .dll yang diperlukan agar dapat menghubungkan java dengan serial.

Singkat kata, saya googling-googling lagi, saya menemukan suatu bahasa pemrograman yang ternyata cukup banyak digunakan oleh orang-orang yang bermain dengan Arduino, bahasa pemrograman tersebut adalah processing. Nah ternyata processing ini dibuat dengan basis Java, namun ada suatu kalimat di websitenya yang membuat saya tertarik untuk mencoba, yaitu
Processing seeks to ruin the careers of talented designers by tempting them away from their usual tools and into the world of programming and computation. Similarly, the project is designed to turn engineers and computer scientists to less gainful employment as artists and designers.
Wah ada bahasa pemrograman yang sepertinya user friendly dan sangat powerful untuk membuat program dengan interface nih. Tanpa basa basi, saya langsung googling lagi mencari tutorial untuk menggunakan processing. Ditemukanlah di tautan berikut playground.arduino.cc. Saya pun langsung mengikuti instruksi di website tersebut.

Intinya, yang saya lakukan berdasarkan website tersebut adalah:
  1. unduh program processing tentunya...
  2. unduh library untuk menghubungkan arduino dan processing
  3. upload program firmata yang terdapat di file->examples pada IDE Arduino ke board Arduino Uno
  4. jalankan program contoh di processing
Nah saya sudah membuat rangkaian seperti pada gambar 1 (hanya memasang LED di pin 13) :D

Gambar 1 - rangkaian yang saya buat untuk mencoba processing

Saya menjalankan program pada processing dengan kode seperti dibawah ini

Hasilnya seperti pada video dibawah ini.
Oke, jadi sekarang saya sudah cukup mengerti processing(sok ngerti, padahal cuman copas). Sekarang saya mau menghubungkan Arduino, keypad, dan program yang akan saya buat dengan processing.
Eh tapi ternyata, setelah saya pikir-pikir ada yang aneh dengan percobaan yang baru saya lakukan. Arduinonya di install program tertentu(firmata) dan menggunakan processing untuk mengoperasikannya, disini saya melihat bahwa semua perintah ditentukan oleh program dari processing, sedangkan Arduino nya sendiri hanya berfungsi untuk menjankan perintah itu. Karena ini hanya bergantung pada satu program saja, maka saya coba cara lain untuk menghubungkan Arduino dan program yang dibuat dengan processing.
Setelah saya googling, saya mendapatkan link yang cukup menarik yaitu dari learn.sparkfun.com/ yang menjelaskan cara untuk menyambungkan Arduino dengan program processing, cara yang dilakukan beda dan sesuai dengan yang saya inginkan.
Berbekal dengan pengetahuan yang baru saya dapatkan dan juga dokumentasi dari www.processing.org saya akan coba membuat GUI untuk program yang akan menampilkan tombol yang saya tekan di keypad.
Setelah saya lihat dokumentasi nya processing, saya menyimpulkan akan ada beberapa fungsi yang saya gunakan, yaitu setup(), draw(), noLoop(), serialEvent(), redraw(), createFont() dan textFont(). Fungsi-fungsi ini yang menjadi perhatian utama saya, kemudian saya mencoba membuat kode program di Processing, awalnya saya tidak menggunakan redraw(), draw(), dan font, saya mencoba menampilkan tombol yang saya tekan di console IDE processing.
Kode untuk processing yang saya gunakan adalah

sedangkan kode untuk board Arduinonya tidak jauh berbeda dengan postingan saya sebelumnya, kode nya adalah

Hasil yang saya dapatkan dapat dilihat pada video berikut
Karena saya kurang puas dengan hanya melakukan print karakter ke console, dan rasa ingin untuk membuktikan quote yang ada di website http://processing.org; bahwa processing merupakan bahasa pemrograman yang dapat digunakan dengan mudah untuk membuat GUI, maka saya melakukan editing pada kode program sebelumnya, dengan menambahkan fungsi draw(), redraw(), noLoop(), serta fungsi-fungsi untuk membuat font.

Kode akhirnya adalah sebagai berikut

Hasil yang saya dapatkan dapat dilihat di video berikut 
Sebelum ngoprek, saya membaca dan memahami dokumentasi dari bahasa pemrograman processing yang terdapat di www.processing.org, sehingga percobaan pertama saya dengan menggunakan bahasa processing langsung berjalan dengan mulus.
Postingan ini merupakan pertama kalinya saya mencoba bahasa processing dan perlu diakui, bahasa ini lebih mudah untuk membuat GUI daripada bahasa lain yang pernah saya gunakan (Java, C, C++, python), namun hal ini hanya kesan pertama saja, masih bisa berubah dikemudian hari... Sekian saja postingan saya kali ini, tunggu postingan berikutnya dengan oprekan yang lebih menarik!

Tidak ada komentar:

Posting Komentar