BBROBOTINDONESIA
PANDUAN PRAKTIKUM DASAR ARDUINO
www.BELAJARBIKINROBOT.WEEBLY.com
Praktikum 4 Belajar Arduino Membaca Pin-Pin Analog dan Mengubahnya Menjadi Nilai Voltase Pada praktikum analogRead() dan Komunikasi Serial sebelumnya, kita telah mempelajari bagaimana cara menggunakan analogRead() untuk membaca nilai input dari sebuah potensiometer. Nilai yang dihasilkan dari input analog ini adalah angka atau nilai dari 0 sampai 1023. Nah, pada praktikum kali ini, kita akan mencoba memetakan angka 0 sampai 1023 tersebut menjadi angka voltase yaitu dari 0 volt sampai 5 Volt. Sehingga kita tahu berapa besar tegangan listrik input yang diterima Arduino dari potensiometer yang kita gunakan. Metode ini, nantinya dapat kita gunakan untuk memetakan berbagai jenis hasil bacaan sensor. Misalnya, memetakan jarak – dari yang awalnya hasil bacaan 0 sampai 1023. Dengan metode ini, kita bisa mengubahnya menjadi jarak misalnya, 0 meter sampai 10 meter. Demikian juga, hal tersebut dapat kita aplikasikan dengan jenis-jenis sensor lainnya, dengan pemetaan yang kita sesuaikan dengan fungsi sensor tersebut.
Komponen yang dibutuhkan
Arduino Uno 1x
Protoboard 1x
Langkah-Langkah Praktikum
Potensiometer 10Kohm 1x
Kabel Jumper 3x
Rangkailah komponen seperti gambar di atas! Berikut ini langkah-langkahnya. 1. Hubungkan Kaki 1 Potensiometer denaan pin 5 volt Arduino menggunakan kabel jumper (warna merah). 2. Hubungkan Kaki Tengah Potensiometer dengan pin A0 Arduino menggunakan kabel jumper (warna kuning). 3. Hubungkan Kaki 2 Potensiometer dengan pin Gnd Arduino menggunakan kabel jumper (warna hitam). 4. Pasangkan board Arduino dengan port USB komputer menggunakan kabel USB. 5. Bukalah IDE Arduino kemudian ketikkan sketch berikut.
void setup() { Serial.begin(9600); } void loop() { int voltpotensio = analogRead(A0); float voltasenya = voltpotensio * (5.0 / 1023.0); Serial.println(voltasenya); } 6. Jika sudah, compile menggunakan tombol "verify" , cek apakah ada kesalahan pengetikan sketch. Jika masih ada error coba di perbaiki lagi, mungkin ada salah ketik. 7. Upload ke Board Arduino menggunakan tombol "Upload" atau melalui File > Upload. Jika prosesnya benar, cobalah putar potensiometer perhatikan hasilnya pada IDE arduino yaitu jendela komunikasi serial caranya, pilih Tools > Serial Monitor. Pada praktikum sebelumnya hasil bacaannya yaitu antara 0 sampai dengan 1023. Nah, setelah kita ubah sketchnya seperti diatas, maka bacaan pada jendela serial monitor akan berubah menjadi 0 sampai 5. Ini adalah nilai voltase yang masuk ke pin A0 arduino.
Diskusi Sketch Tidak berbeda dengan kode program pada praktikum sebelumnya. Kali ini, kode program kita bagi menjadi 2 bagian saja. Kita mulakan dari blok program yang pertama berikut ini.
BLOK PERTAMA Blok Sketch yang pertama kita kali ini, yaitu routine setup(). Routine setup() ini, akan dijalankan sekali saat
sketch dieksekusi oleh Arduino dan akan dibaca ulang jika kita me reset arduino. Berikut ini adalah kode programnya. void setup() { Serial.begin(9600); } Seperti praktikum sebelumnya, kita menggunakan komunikasi serial agar kita dapat membaca hasil bacaan potensiometer pada protoboard kita. Saya rasa, Anda sudah paham tentang kegunaan dari kode program di atas. Karna kita sudah membahasnya pada praktikum kita sebelumnya. Untuk itu, kita lanjutkan saja ke kode program kita yang berikutnya.
BLOK KEDUA Blok program yang kedua kita kali ini, yaitu routine loop(). Setiap baris kode program yang ada dalam routine inilah yang nantinya akan dieksekusi berulang-ulang dan menjadi program utamanya. Berikut ini adalah kode program pada routine ini. void loop() { int voltpotensio = analogRead(A0); float voltasenya = voltpotensio * (5.0 / 1023.0); Serial.println(voltasenya); } Sama seperti pada praktikum sebelumnya, pada routine ini, kita membaca nilai input dari potensiometer menggunakan fungsi analogRead(). Kemudian, menyimpan nilainya kedalam sebuah variable yang kita berinama “voltpotensio”. Hal yang sama juga kita lakukan untuk menampilkan hasil bacaannya ke jendela serial monitor kita, yaitu dengan menggunakan fungsi Serial.println() dari library serial. Jadi, apakah yang berbeda dari praktikum kita kali ini?! – Baiklah, coba perhatikan pada kode program kedua yang berada dalam routine ini. float voltasenya = voltpotensio * (5.0 / 1023.0); Apakah Anda masih ingat?! bahwa rentang yang dibaca oleh fungsi analogRead ( ) adalah antara 0 dan 1023. Kali ini, kita ingin ini mengganti bacaan ini menjadi voltase aktual yang diterima oleh pin Arduino -- yaitu antara 0 sampai 5 volt. Untuk itulah, sketch berikut kita gunakan untuk melakukan hal itu. float voltasenya = voltpotensio * (5.0 / 1023.0);
Di sini, kita menggunakan tipe data baru yang disebut float. Sebuah tipe data float, dapat menyimpan angka desimal. Contohnya, 3.14 atau 2.2356. Tujuannya, agar kita bisa mendapatkan angka voltase yang lebih teliti – anggaplah misalnya 2.8 volt atau 3.2 volt. Nah, untuk mendapatkan angka desimal seperti itulah alasan kita memilih tipe data float sebagai tipe datanya. Tipe data float ini, mengambil memori yang lebih besar dari integer, itulah mengapa jarang kita gunakan, karna akan lebih banyak menggunakan kapasitas memori Arduino. kita menggunakan float pada praktikum ini karna kita akan mengubah nilai dari 0 sampai 1023 yang bertipe integer menjadi 0.0 sampai 5.0 volt. Artinya, kita bisa membaca nilai dengan angka desimal seperti 3.25 volt. Semoga Anda paham maksud penjelasan saya ini.. Oke, demikianlah pembahasan sketch kita kali ini. Sebelum mengakhiri pembahasan ini, mari kita review apa saja yang kita lakukan pada program praktikum kali ini. Berikut ini poin-poinnya. 1. Membaca nilai sensor pada pin analog . 2. Menyimpan nilai ini ke sebuah variabel. 3. Mengkonversi nilai ini menjadi tegangan. 4. Simpan pengukuran tegangan pada sebuah variable lainnya. 5. Menampilkannya kembali ke layar serial monitor, sehingga kita dapat melihat berapa besar voltase yang masuk dari potensiometer kita. Demikianlah praktikum kali ini. Terimakasih atas perhatiannya dan sampai jumpa lagi di praktikum kita yang berikutnya..
Latihan Mandiri Untuk latihan mandiri kali ini, cobalah untuk mengubah nilainya menjadi sudut putaran potensiometer. Kita asumsikan putaran penuh potensiometer adalah 300 derajat. Untuk itu, sekarang ubah sketch agar mengkonversi range 0 sampai 1023, menjadi range sudut putaran potensiometer (0 sampai 300 derajat)!
www.BELAJARBIKINROBOT.WEEBLY.com