9
BBROBOTINDONESIA PANDUAN PRAKTIKUM DASAR ARDUINO www.BELAJARBIKINROBOT.WEEBLY.com

tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

Embed Size (px)

Citation preview

Page 1: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

BBROBOTINDONESIA

PANDUAN PRAKTIKUM

DASAR ARDUINO

www.BELAJARBIKINROBOT.WEEBLY.com

Page 2: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

Praktikum 2 Belajar Arduino digitalRead () dan Komunikasi Serial

Pada praktikum kali ini, kita akan mencoba menggunakan sebuah komponen yang kita hubungkan ke pin digital Arduino. Komponen ini, akan kita fungsikan sebagai input atau masukan ke papan Arduino kita. Input atau masukan ini, kemudian akan mengeksekusi sebuah aksi yang hasilnya akan kita tampilkan pada layar komputer kita. Ingat, dalam membangun sebuah robot cerdas kita membutuhkan komponen-komponen input yang berfungsi sebagai indra robot. Komponen-komponen input pada robot lebih kita kenal dengan nama Sensor. Salah satu komponen sederhana yang dapat kita jadikan sebagai sensor adalah Button atau saklar tekan. Dalam praktikum kita kali ini, kita akan mempraktekkan bagaimana sebuah Button kita gunakan untuk mendeteksi adanya input ke papan Arduino kita. Kemudian, hasilnya akan kita tampilkan pada layar komputer kita menggunakan komunikasi serial antara Arduino dan Komputer yang kita gunakan. Baiklah, untuk mempersingkat waktu kita langsung ke praktikumnya berikut ini..

Komponen yang Dibutuhkan

Arduino Uno 1x

Protoboard 1x

Pushbutton 1x

Resistor 1kOhm 1x

Kabel Jumper 3x

Langkah-Langkah Praktikum

Page 3: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

Susun dan rangkai komponen-komponen praktikum seperti gambar di atas! Berikut ini langkah-langkahnya. 1. Hubungkan Kaki 1 Push Button dengan pin 5v Arduino menggunakan kabel jumper (gunakan warna merah) 2. Hubungkan Kaki 2 Push Button dengan salah satu kaki Resistor 1K Ohm dan pin digital 2 Arduino. Untuk ke pin 2 arduino gunakan kabel jumper (gunakan warna kuning) 3. Hubungkan kaki Resistor yang belum terhubung ke pin Gnd arduino menggunakan kabel jumper(gunakan warna hitam) 4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer 5. Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut

int pushButton = 2; void setup() { Serial.begin(9600); pinMode(pushButton, INPUT); } void loop() { int kondisiButton = digitalRead(pushButton); Serial.println( kondisiButton); delay(1); }

6. Compile sketch tersebut menggunakan tombol "verify" pada IDE Arduino jika tidak ada error, Upload ke Board Arduino menggunakan tombol "Upload". 7. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor. Jika tidak ada kesalahan, maka hasil dari input yang mana dalam praktikum ini yaitu Pushbutton akan terbaca di jendela komunikasi serial pada IDE arduino. Cobalah menekan Pushbutton dan amati hasilnya pada jendela komunikasi serial tersebut.

Page 4: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

Diskusi dan Pembahasan Sketch Baiklah, sekarang kita akan membahas tentang sketch yang telah kita ketikkan. Untuk mempermudah memahaminya, kode-kode sketch ini kita bagi menjadi 3 blok program. Perhatikan kembali sketchnya berikut ini. //-------------blok Deklarasi variable--------------- int pushButton = 2 ; //-------------blok setup()---------------------------- void setup ( ) { Serial.begin ( 9600 ) ; pinMode ( pushButton , INPUT ) ; } //--------------blok loop()----------------------------- void loop ( ) { int kondisiButton = digitalRead ( pushButton ) ; Serial.println ( kondisiButton ) ; delay ( 1 ) ; } Blok Pertama Blok pertama dari kode program diatas adalah blok deklarasi variable, di mana kita mendeklarasikan dan menginisialisasi variabel. Dari praktikum sebelumnya, kita telah mengenal tipe data int integer (bilangan bulat). Kali ini, kita juga menggunakan tipe data yang sama untuk disimpan pada sebuah variable yang kita namakan “pushButton”. int pushButton = 2; Pada kode program di atas, kita menyimpan sebuah nilai integer (bilangan bulat) ke sebuah variable yang kita namakan “pushbutton” -- dan dalam hal ini, bilangan bulatnya adalah 2. Angka 2 ini, adalah angka dimana secara fisik, pin 2 Arduino kita hubungkan dengan Button kita.

Page 5: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

Perhatikan bagaimana cara mendeklarasikan dan menginisialisasikan variable dalam satu baris. Perhatikan juga bagaimana teknik penamaan pin 2 menjadi " pushButton ". Tips untuk penamaan variable ini sederhana, berikan saja nama variable sesuai dengan kegunaannya. Jika kita gunakan untuk pushbutton (saklar tekan), maka berikan saja nama variablenya " pushButton". Tujuannya adalah agar mempermudah kita untuk mengetahui -- untuk apa variable tersebut kita deklarasikan? Blok kedua Blok kedua kita kali ini, yaitu berisi blok routine setup ( ). Seperti pada praktikum sebelumnya, telah kita pahami bersama bahwa routine ini kita gunakan untuk meletakkan kode-kode program yang akan dieksekusi hanya pada saat pertama kali program Arduino yang kita upload dijalankan. Di antara kurung kurawal pada routine ini, ada dua fungsi yang kita gunakan -- salah satunya sudah pernah kita praktekkan penggunaanya pada praktikum sebelumnya, yaitu fungsi pinMode ( ). Dan salah satu fungsi yang lainnya adalah fungsi baru yang akan kita kenalkan dalam praktikum ini, fungsi tersebut adalah Serial.begin ( ). Serial.begin ( ) adalah bagian dari sekumpulan fungsi yang disebut dengan library. Nama librarynya yaitu Serial library. Library adalah sekelompok fungsi yang bekerja untuk tujuan yang sama. Jika kita analogikan, katakanlah sebuah library Restoran, mungkin library Restoran ini akan terdiri dari fungsi koki ( ), Pelayan ( ), penerimatamu ( ), dan kasir ( ). Semoga Anda paham dengan maksud analogi tersebut.. Untuk mengakses fungsi pada library, caranya adalah menulis nama librarynya dahulu, kemudian dibatasi oleh titik " . " dan diikuti dengan nama fungsi yang ada di library tersebut. Contohnya, Restoran.koki( ); Arduino memiliki banyak library, mengapa? -- karna Arduino adalah platform open source, maka ada banyak orang yang berkontribusi dalam perkembangan library-library Arduino ini. Jika membutuhkan library-library khusus dari Arduino, kita dapat mencari library-library Arduino di website resmi Arduino atau bisa search di Google. Jadi, Apa fungsi dari library Serial?! Library Serial ini, kita gunakan untuk membangun komunikasi antara komputer dengan board Arduino kita. Komunikasi ini berkaitan erat dengan pengiriman dan penerimaan data. Data dapat mengalir dua arah, dari komputer ke board Arduino atau sebaliknya. Nah, untuk melakukan itu, pada praktikum ini kita menggunakan sebuah fungsi yang bernama fungsi begin ( ) dari library Serial Arduino, yang kegunaanya sebagai jembatan komunikasi antara Arduino dengan Komputer yang kita gunakan. Berikut ini adalah kode sketchnya. Serial.begin ( 9600 ) ; Fungsi begin ( ) dari library serial ini membutuhkan sebuah parameter, dan parameter yang dibutuhkan yaitu - baud rate. Saya yakin anda bertanya, “apa itu baud rate?!”. Untuk saat ini, kita tidak akan membahasnya lebih dalam. Kali ini, kita gunakan saja baudrate yang biasa digunakan untuk komunikasi Arduino dengan komputer-- untuk sebagian besar sketch Arduino, baud rate yang digunakan adalah 9600. Untuk lebih rincinya, saya sarankan untuk googling atau lihat di situs resmi arduino.cc ya.. Baiklah, kita lanjutkan ke pembahasan fungsi berikutnya, yaitu fungsi pinMode ( ). Masih ingat fungsi ini ?! -- ya, sebelumnya kita pernah menggunakan fungsi pinMode ( ) ini untuk men-setting pin menjadi OUTPUT.

Page 6: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

Nah, kali ini berbeda dari praktikum sebelumnya, dimana sebelumnya fungsi ini kita gunakan untuk OUTPUT maka pada praktikum kali ini, fungsi ini kita gunakan untuk men-setting pin 2 menjadi INPUT. Hal ini kita lakukan karena pada praktikum ini, kita tidak menggunakan pin pada Arduino kita menjadi Output – tapi, menjadi Input. Ingat, Button kita gunakan sebagai Input atau masukan ke Arduino. Dan inilah kode programnya. pinMode ( pushButton , INPUT ) ; Di sini, kita menggunakan variable " pushButton " untuk memberi tahu fungsi bahwa pin 2 kita setting modenya menjadi INPUT. Jadi, dengan adanya kode ini, sekarang Arduino sudah paham bahwa pushbutton pada pin 2 nya digunakan sebagai inputnya. Semoga Anda paham maksud dari penjelasan saya.. Blok Ketiga Kita lanjutkan kembali pembahasan kita ke blok yang terakhir, yaitu fungsi loop ( ). Apa yang ada di routine ini?!—Oke, kita perhatikan kode apa yang ada pada routine kita ini. int kondisiButton = digitalRead ( pushButton ) ; Hmm.. ada apa ini; apakah itu deklarasi variable; bukannya deklarasi variable ada di Blok pertama ?! -- ya, memang kebanyakan kode pemrograman Arduino mendeklarasikan variable pada bagian awal program. Tapi, sebenarnya kita dapat mendeklarasikan dan menginisialisasikan variable pada program setiap saat kita inginkan. Yah, sekarang setidaknya Anda sudah tahu bahwa ternyata, kita bisa mendeklarasikan variable tidak hanya pada bagian awal program. Kita juga bisa mendeklarasikannya pada blok program yang lainnya. Jadi, jangan terlalu terpaku untuk mendeklarasikan dan menginisialisasikan variable hanya pada bagian awal program saja. Saya melakukannya di awal program agar lebih mudah untuk mengaturnya atau memperbaikinya jika ada kesalahan dalam membuat program. Baiklah, sekarang kita lanjutkan kembali ke pembahasan utamanya. Dengan melihat tipe data dan nama variable pada kode di atas, kita membuat variable dengan tipe integer dan menamakannya " kondisiButton ". Saya yakin Anda bisa menebak untuk apa variable ini? -- ya, variable ini kita gunakan untuk membaca dan menyimpan sementara nilai dari kondisi pushbutton di protoboard -- Apakah Button sedang ditekan atau tidak ? Dalam menginisialisasikan variable ini, kita menggunakan teknik yang sebelumnya belum kita gunakan-- Dimana, kita memberikan nilai pada variable " kondisiButton " ini, dengan cara mengambil nilai dari fungsi digitalRead ( ). Pertanyaannya sekarang, berapakah nilai yang ada pada fungsi digitalRead ( )?! Pada praktikum ini, fungsi digitalRead ( ) membaca nilai dari variable " pushButton " ( pin 2 ). Perhatikan lagi kodenya, digitalRead (pushButton); . Jadi, Jika pushbutton pada protoboard kita tekan, maka pin 2 atau variable " pushButton " akan bernilai atau

Page 7: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

berlogika HIGH. Artinya, pin Arduino mendapat input tegangan 5 Volt dari pushbutton pada protoboard. Sebaliknya, jika pushbutton pada protoboard tidak ditekan, maka variable “pushbutton” akan bernilai atau berlogika LOW.

Sekarang, kita coba menekan pushbutton pada protoboard kita -- Saat kita tekan, maka input ke pin 2 Arduino akan berlogika HIGH. sehingga, fungsi digitalRead ( ) akan membacanya sebagai 1 dan sebaliknya, saat tidak ditekan, maka input ke pin 2 akan LOW. sehingga, fungsi digitalRead ( ) akan membacanya sebagai 0. Right! Baiklah, kita lanjutkan ke baris kode selanjutnya, kode berikut ini menggunakan fungsi baru dari library Serial. Fungsi tersebut yaitu, println ( ). Berikut ini kodenya. Serial.println ( kondisiButton ) ; Fungsi Serial.println ( ) ini, akan membaca kode yang ada di dalam tanda kurungnya. Dalam praktikum ini, yaitu variable " kondisiButton ". Kemudian, fungsi ini akan mengirimkan nilai yang dibaca dari variable tersebut ke jendela Serial Monitor pada IDE Arduino kita. Untuk membuka Serial Monitor ingat caranya, pilih Tools > Serial Monitor pada IDE Arduino Anda. Teknik membaca nilai pada jendela Serial Monitor ini, nantinya, akan sangat berguna saat kita mempelajari penggunaan jenis-jenis sensor lainnya. Perlu diingat, fungsi Serial.println ( ) maupun fungsi Serial.print ( ) tidak akan berfungsi ketika kita tidak menyambungkan Arduino Board dengan komputer. Tetapi, saat kita sedang mencoba sebuah sensor atau pengecekan nilai-nilai sebelum robot yang nantinya kita buat, fungsi ini akan sangat membantu. Hmm.. sampai sejauh ini kita sudah cukup banyak berpusing-pusing ria. Akhirnya, kita sampai ke kode program yang terkhir dari routine loop ( ) ini, yaitu fungsi delay ( 1 );. Fungsi ini mendelay program selama 1 milidetik -- fungsinya pada praktikum ini hanya sebagai penstabil agar komunikasi serial dapat dieksekusi dengan sempurna. Setelah kita tutup routine loop ( ) dengan kurung kurawal penutupnya, program akan memulai eksekusi dari awal routine loop ( ) lagi dan mengecek kembali kondisi pushbutton, seperti yang sudah kita bahas di atas, dan

Page 8: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

demikian seterusnya berulang-ulang ratusan kali per detik. Jadi silakan , tekan tombol pushbutton di protoboard , lihat hasilnya di jendela Serial Monitor Anda. Demikianlah pembahasan praktikum kita kali ini. Tetap semangat dan sampai jumpa di praktikum kita berikutnya..

Latihan Mandiri

Cobalah ganti fungsi Serial.println ( ) menjadi Serial.print ( ) , jelaskan perbedaan hasilnya pada Serial Monitor ?

Ganti pin input yang tadinya pin 2, menjadi pin 12. Untuk lebih membiasakan mengetik program, cobalah ketik ulang program pada praktikum ini dengan mengganti pin yang digunakan.

Page 9: tutorial_arduino_bahasa_indonesia_praktikum_2.pdf

www.BELAJARBIKINROBOT.WEEBLY.com