Analog to Digital Convertion Menggunakan Arduino Uno Minsys Mahasiswa mampu memahami pemrograman C pada Arduino Uno MinSys Mahasiswa mampu membuat program Analog to Digital Convertion dengan Arduino Uno MinSys A. Hardware Arduino Uno Minsys Arduino didefinisikan sebagai sebuah platform elektronik yang open source, berbasis pada software dan hardware yang fleksibel dan mudah digunakan, yang ditujukan untuk seniman, desainer, hobbies dan setiap orang yang tertarik dalam membuat objek atau lingkungan yang interaktif. Arduino sebagai sebuah platform komputasi fisik (Physical Computing) yang open source pada board input ouput sederhana, yang dimaksud dengan platform komputasi fisik disini adalah sebuah sistem fisik hyang interaktif dengan penggunaan software dan hardware yang dapat mendeteksi dan merespons situasi dan kondisi. Arduino board merupakan papan mikrokontroler yang berukuran kecil atau dapat diartikan juga dengan suatu rangkaian berukuran kecil yang didalamnya terdapat komputer berbentuk suatu chip yang kecil. Pada Gambar 1 dapat dilihat sebuah papan Arduino dengan beberapa bagian komponen didalamnya.
Gambar 1. Hardware Arduino Uno Minsys Pada hardware arduino terdiri dari 20 pin yang meliputi: a. 14 pin IO Digital (pin 0 13) Sejumlah pin digital dengan nomor 0 13 yang dapat dijadikan input atau output yang diatur dengan cara membuat program IDE. b. 6 pin Input Analog (pin 0 5) Sejumlah pin analog bernomor 0 5 yang dapat digunakan untuk membaca nilai input yang memiliki nilai analog dan mengubahnya ke dalam angka antara 0 dan 1023. c. 6 pin Output Analog (pin 3, 5, 6, 9, 10 dan 11) Sejumlah pin yang sebenarnya merupakan pin digital tetapi sejumlah pin tersebut dapat diprogram kembali menjadi pin output analog dengan cara membuat programnya pada IDE. Arduino Uno dapat mengambil daya dari USB port pada komputer dengan menggunakan USB charger atau dapat pula mengambil daya dengan menggunakan suatu AC adapter dengan tegangan 9 volt. Jika tidak terdapat power supply yang melalui AC adapter, maka papan Arduino akan mengambil daya dari USB port. Tetapi apabila diberikan daya melalui AC adapter secara bersamaan dengan USB port maka papan Arduino akan mengambil daya melalui AC adapter secara otomatis. B. Software Arduino IDE Software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama pengembangan arduino. IDE atau Integrated Development Environment suatu program khusus untuk suatu komputer agar 14 dapat membuat suatu rancangan atau sketsa program untuk papan Arduino.IDE arduino merupakan software yang sangat canggih ditulis dengan menggunakan java. IDE arduino terdiri dari: 1. Editor Program Sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing
2. Compiler Sebuah modul yang mengubah kode program menjadi kode biner bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa processing. 3. Uploader Sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan arduino Dalam bahasa pemrograman arduino ada tiga bagian utama yaitu struktur, variabel dan fungsi : 1. Struktur Program Arduino a. Kerangka Program Kerangka program Arduino sangat sederhana, yaitu terdiri atas dua blok. Blok pertama adalah void setup() dan blok kedua adalah void loop. 1) Blok Void setup () Berisi kode program yang hanya dijalankan sekali sesaat setelah arduino dihidupkan atau di-reset.merupakan bagian persiapan atau instalasi program. 2) Blok void loop() Berisi kode program yang akan dijalankan terus menerus. Merupakan tempat untuk program utama. b. Sintaks Program Baik blok void setup loop () maupun blok function harus diberi tanda kurung kurawal buka { sebagai tanda awal program di blok itu dan kurung kurawal tutup } sebagai tanda akhir program. 2. Variabel Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas dengan menggunakan sebuah varibel. 3. Fungsi Pada bagian ini meliputi fungsi input output digital, input output analog, advanced I/O, fungsi waktu, fungsi matematika serta fungsi komunikasi. Pada proses Uploader dimana pada proses ini mengubah bahasa pemrograman yang nantinya dicompile oleh avr-gcc (avr-gcc compiler) yang hasilnya akan disimpan kedalam papan arduino. Avr-gcc compiler merupakan suatu bagian penting untuk software bersifat open source. Dengan adanya avr-gcc compiler, maka akan membuat bahasa pemrogaman dapat dimengerti oleh mikrokontroler. Proses terakhir ini sangat penting, karena dengan adanya proses ini maka akan membuat proses pemrogaman mikrokontroler menjadi sangat mudah. Berikut ini merupakan gambaran siklus yang terjadi dalam melakukan pemrograman Arduino :
1. Koneksikan papan Arduino dengan komputer melalui USB port. 2. Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam papan Arduino. 3. Upload sketsa program ke dalam papan Arduino melalui kabel USB dan kemudian tunggu beberapa saat untuk melakukan restart pada papan Arduino. 4. Papan Arduino akan mengeksekusi rancangan sketsa program yang telah dibuat dan di-upload ke papan Arduino. C. Analog to Digital Convertion Analog to Digital Convertion (ADC) adalah proses mengubah input analog menjadi kode kode digital. Alatnya namanya Analog to Digital Converter. Banyak digunakan sebagai pengatur proses industri, komunikasi digital dan rangkaian pengukuran/pengujian. ADC memiliki 2 hal penting, yaitu kecepatan sampling resolusi Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS). Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Sebagai contoh: ADC 8 bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan dalam 255 (2^n 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit akan memberikan ketelitian nilai hasil konversi yang jauh lebih baik daripada ADC 8 bit. Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner). signal = (sample/max_value) * reference_voltage = (153/255) * 5 = 3 V Arduino Uno Modul PC dengan OS windows 7 dan software Arduino IDE Project Board Potensiometer LED
Membaca Potensiometer dan dikirim menggunakan komunikasi serial Program 1
Program 2
1. Buat program ketika nilai potensiometer = 250 hingga 350 maka LED menyala, selain itu LED mati. 2. Tambahkan 2 LED lagi. Buat program ketika dengan logika berikut - nilai potensiometer = 0-100 semua LED mati - nilai potensiometer = 101-200 LED 1 saja yang menyala - nilai potensiometer = 201-300 LED 2 saja yang menyala - nilai potensiometer = 301-400 LED 1 dan 2 yang menyala - nilai potensiometer = 401-500 LED 3 saja yang menyala - nilai potensiometer = 501-600 LED 4 saja yang menyala - nilai potensiometer di atas 601 semua LED menyala