• Tidak ada hasil yang ditemukan

PANDUAN PRAKTIKUM DASAR ARDUINO

N/A
N/A
Protected

Academic year: 2021

Membagikan "PANDUAN PRAKTIKUM DASAR ARDUINO"

Copied!
7
0
0

Teks penuh

(1)

BBROBOTINDONESIA

PANDUAN PRAKTIKUM

DASAR ARDUINO

(2)

Praktikum 10

Belajar Arduino

Switch Case Statement Menggunakan Keyboard Komputer Sebagai

Input Serial Arduino

Pada praktikum kita kali ini, kita akan mempelajari tentang penggunaan Keyboard komputer sebagai input serial yang kita gunakan untuk mengontrol Arduino kita. Seperti pada praktikum switch case sebelumnya, fungsi utama yang kita gunakan pada praktikum kita kali ini yaitu, switch case, fungsi read() dari library serial, dan fungsi default sebagai tambahan dari switch case statement kita.

Kali ini, kita akan mengaplikasikan keyboard komputer kita, layaknya input arduino. Ada 6 tuts keyboard yang akan kita gunakan untuk input arduino—yang mana nantinya bacaan dari input keyboard itu akan kita control menggunakan fungsi switch case statement untuk menyalakan LED-LED yang kita rangkai dengan pin-pin digital Arduino kita. Baiklah, untuk mempersingkat waktu kita langsung saja ke praktikumnya.

Komponen yang dibutuhkan

Arduino Uno 1x Protoboard 1x LED 5mm 6x Resistor 220Ohm 6x Kabel Jumper 7x

Langkah-Langkah Praktikum

1.Hubungkan kaki-kaki + LED ke pin digital 2,3,4,5,6,dan 7 Arduino.

2. Hubungkan kaki-kaki - LED ke tiap resistor 220 Ohm.

(3)

4. Pasangkan board Arduino dengan port USB komputer menggunakan kabel USB.

5. Bukalah IDE Arduino kemudian ketikkan sketch berikut.

void setup(){

Serial.begin(9600);

for(int thisPin = 2; thisPin < 8; thisPin ++) {

pinMode(thisPin,OUTPUT);}

}

void loop()

{

if(Serial.available()>0){

int huruf = Serial.read();

switch(huruf) { case'a': digitalWrite(2,HIGH); break; case'b': digitalWrite(3,HIGH); break; case'c': digitalWrite(4,HIGH); break; case'd': digitalWrite(5,HIGH); break; case'e': digitalWrite(6,HIGH); break; case'f': digitalWrite(7,HIGH); break; default:

for(int thisPin = 2; thisPin < 8; thisPin ++) {

digitalWrite(thisPin,LOW);

} } } }

(4)

6. Jika sudah, compile menggunakan tombol "verify" , cek apakah ada kesalahan pengetikan sketch. Jika masih ada error coba di perbaiki lagi, mungkin ada kesalahan dalam pengetikan.

7. Upload ke Board Arduino menggunakan tombol "Upload" atau melalui File > Upload.

Jika program yang diupload benar dan tidak ada kesalahan dalam pemasangan rangkaian elektronikanya maka, LED akan menyala sesuai dengan huruf yang kita tekan pada keyboard komputer kita. Huruf yang kita gunakan yaitu a, b, c, d, e, dan f. Jika kita ketikkan selain dari huruf-huruf tersebut, maka seluruh LED akan padam.

Diskusi Sketch

Baiklah, sekarang kita bahas tentang kode-kode program tersebut -- Perhatikan kembali sketch yang telah kita ketikkan pada praktikum ini. Di sini, kita hanya menggunakan 2 blok program, karena pada praktikum ini, kita tidak mendeklarasikan variable-variable global yang biasanya kita letakkan pada bagian awal program. Baiklah, kita mulai pembahasannya dari blok pertama yaitu blok routine setup().

BLOK PERTAMA

Berikut ini adalah kode program pada bagian routine setup () dari blok program kita kali ini. Perhatikan kembali kode program berikut!

void setup()

{

Serial.begin(9600);

for(int thisPin = 2; thisPin < 8; thisPin ++) {

pinMode(thisPin,OUTPUT);}

}

Pada routine setup () kali ini, kita memulai program dengan men-setting komunikasi serial antara komputer dengan Arduino. Untuk melakukan hal itu, kita menggunakan fungsi begin () dari library serial.

Kemudian, kita lanjutkan dengan mengatur mode dari tiap pin yang kita gunakan sebagai OUTPUT

menggunakan metode pengontrolan for loop dan fungsi pinMode (). Tentunya, Anda sudah familiar dengan metode ini pada praktikum-praktikum kita sebelumnya.

Baiklah, sekarang kita sudah selesai dengan blok routine setup (), mari kita lanjutkan pembahasan kita ke blok program berikutnya.

BLOK KEDUA

Pada blok program kedua ini, kita memiliki routine loop (). Routine loop () ini, kita awali dengan sebuah fungsi if yang kita gunakan untuk mengecek sebuah kondisi. Dalam hal ini yaitu, mengecek adanya komunikasi serial antara komputer dan Arduino. Berikut ini adalah kodenya.

(5)

Pada kondisi if statement di atas, kita menggunakan sebuah fungsi yang bernama available() dari library serial. Fungsi available() ini berguna untuk mengecek adanya komunikasi serial antara komputer dan Arduino melalui serial port. Jika terdapat komunikasi serial antara komputer dan Arduino, maka fungsi available() ini akan bernilai > 0 (lebih besar dari nol).

Bagaimana hal itu bisa terjadi?! Baiklah, sekarang kita akan bahas mengapa fungsi available() bisa > 0 (lebih besar dari nol). Kita tentu masih ingat bahwa kali ini kita menggunakan keyboard komputer sebagai input Arduino. Sebenarnya, hal yang terjadi adalah, ketika kita mengetikkan huruf pada keyboard komputer, maka ada aliran data yang terkirim dalam bentuk bytes ke serial port – dan dalam hal ini, serial port komputer kita hubungkan ke Arduino kita menggunakan sebuah kabel usb.

Setiap karakter pada tuts keyboard komputer sebenarnya memiliki kode-kode dan nilai numerical yang berbeda pada setiap karakter – inilah yang familiar kita kenal dengan nilai ASCII – dimana nilainya tersimpan dalam tipe data byte. Ketika katakanlah, kita menekan huruf “c” pada keyboard, maka yang terjadi adalah komputer akan mengirim nilai 67 (kode ASCII untuk huruf “c” tersebut) ke port serial. Dengan adanya data nilai karakter ASCII dari serial port tersebut, kondisi fungsi if (Serial.available() > 0) akan terpenuhi.

Baiklah, sekarang Anda sudah paham, bagaimana kondisi pada fungsi if terpenuhi. Sekarang, kita lanjutkan dengan kode program yang membaca nilai data yang terkirim tersebut. Untuk melakukan hal itu, kita

menggunakan sebuah fungsi dari library serial yang bernama read(). Fungsi read() inilah, yang membaca nilai dari ketikan karakter keyboard yang dikirimkan oleh komputer ke port serial. Nilai ini, kemudian kita simpan pada sebuah variable yang kita berinama “huruf”. Berikut ini adalah kode programnya.

int huruf = Serial.read();

Pada kode program di atas, kita menginisialisasikan variable “huruf” dengan nilai yang sama dengan nilai yang dibaca oleh fungsi read(). Artinya, jika kita mengetikkan huruf “c”, maka nilai dari variable “huruf” ini akan mengikuti kode ASCII untuk huruf “c” yaitu 67. Sebagai contoh lain, jika kita mengetikkan huruf “x”, maka nilai dari variable “huruf” ini akan mengikuti kode ASCII untuk huruf “x” yaitu 88. Semoga Anda paham dengan penjelasan saya.. 

Hal selanjutnya yang kita lakukan adalah, memilih tuts keyboard mana saja yang akan kita gunakan untuk menyalakan LED. Dalam praktikum ini, saya mencontohkan dengan menggunakan tuts keyboard a, b, c, d, e, dan f. Untuk mengatur fungsi dari tiap-tiap tuts tersebut, kita menggunakan switch case statement—dan berikut ini adalah kode programnya.

switch(huruf) { case'a': digitalWrite(2,HIGH); break; case'b': digitalWrite(3,HIGH); break; case'c': digitalWrite(4,HIGH); break;

(6)

case'd': digitalWrite(5,HIGH); break; case'e': digitalWrite(6,HIGH); break; case'f': digitalWrite(7,HIGH); break;

kode switch case statement di atas, kita gunakan untuk membagi fungsi dari tiap tuts keyboard yang kita gunakan menjadi 5 case. Case pertama kita gunakan huruf “a” untuk menyalakan LED pada pin 2

menggunakan fungsi digitalWrite(2,HIGH), kemudian huruf “b” untuk LED pada pin 3, huruf “c” untuk LED pin 4, dan seterusnya sampai huruf “f”.

Oke, sekarang pertanyaannya – bagaimana jika kita mengetikkan karakter lain selain a, b, c, d, e, dan f?!

Untuk karakter selain 6 karakter tersebut, kita gunakan rencana cadangan untuk switch case statement kita. Fitur untuk rencana cadangan ini adalah penggunaan default. Kode default ini adalah fitur dari switch case

statement yang akan dieksekusi apabila tidak ada case yang sesuai dengan case yang kita telah buat. Berikut ini adalah kode tersebut.

default:

for(int thisPin = 2; thisPin < 8; thisPin ++) {

digitalWrite(thisPin,LOW);

}

Jadi, jika karakter yang kita ketikkan adalah karakter selain a, b, c, d, e, dan f, maka kode inilah yang akan dieksekusi. Pada kode default ini, kita membuat program for loop untuk memadamkan seluruh pin-pin LED. Saya tidak akan menjelaskan lebih detail bagaimana pin-pin ini dipadamkan, karna jika anda mengikuti praktikum-praktikum sebelumnya, tentunya Anda sudah familiar dengan kode for loop di atas. Right!

Akhirnya, selesai sudah pembahasan kita pada praktikum kali ini. Sampai jumpa kembali pada praktikum yang berikutnya. 

Latihan Mandiri

Untuk latihan mandiri kali ini coba beberapa hal berikut!

1. Tambahkan 2 buah case baru pada switch case statement pada kode program praktikum ini!

2. Buatlah agar seluruh LED berkelap-kelip seperti pada praktikum blink LED jika tidak ada dari salah satu case yang sesuai. (gunakan pada bagian default).

(7)

Referensi

Dokumen terkait

Antara bahagian tumbuhan berikut, yang manakah tidak bergerak balas terhadap cahaya matahari.. Rajah di bawah menunjukkan gerak

Perhitungan laba komersial oleh perusahaan, harus di koreksi fiskal untuk mendapatkan Penghasilan Kena Pajak, karena tidak semua ketentuan dalam dalam standard akuntansi

Dalam kitab itu dia berpendapat bahwa tujuan pendidikan Islam tidak hanya berhenti pada tingkat kognitif saja tapi lebih dari itu, adalah pada pengamalan terhadap ilmu yang

media berbasis web moodle lebih baik daripada yang menerapkan model pembelajaran langsung tanpa menggunakan media berbasis web moodle. Manfaat yang didapat dari hasil

Pengaruh perlakuan perendaman benih palem raja pada asam giberelin terhadap tinggi kecambah berdasarkan hasil analisis keragaman menunjukkan pengaruh tidak nyata,

Rata-rata orang yang tinggal di daerahku ini adalah pendatang, baik dari luar daerah Palembang seperti dari OI, OKI, Banyuasin,dll maupun juga luar Provinsi seperti dari

Laporan kerja praktek ini akan memberikan informasi mengenai profil PT Hyup Sung Purbalingga, proses produksi bulu mata palsu untuk setiap jenis produk yang

yang dilakukan telah sesuai atau tidak dengan spesifikasi. yang dimaksud dalam kontrak, serta