PANDUAN PRAKTIKUM DASAR ARDUINO

dokumen-dokumen yang mirip
PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

Logika pemrograman sederhana

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB IV ANALISA DAN PENGUJIAN ALAT

PROJECT LED SINYAL MORSE SOS

4.2 Persiapan Perangkat Keras dan Perangkat Lunak

BAB IV PENGUJIAN DAN ANALISA ALAT. perancangan alat. Tujuan pengujian adalah untuk mengetahui kebenaran

PRAKTIKUM 8 Output Seven Segment Pada Arduino

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

Membuat kontrol display seven segment Membuat program Counter baik Up Counter maupun Down Counter dengan media tampilan 7-Segment.

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB IV HASIL DAN UJI COBA

PENGENALAN ARDUINO. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

BAB III ANALISIS DAN PERANCANGAN

PERCOBAAN 1 SEVEN SEGMEN

PRAKTIKUM 9 Penulisan dan Pembacaan ADC pada Mikrokontroler

BAB II LANDASAN TEORI

Display LCD. Menggunakan Arduino Uno MinSys

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA. Untuk mengetahui apakah tujuan-tujuan dari pembuatan alat ini telah

BAB IV HASIL DAN UJI COBA

Komunikasi Serial. Menggunakan Arduino Uno MinSys

Output LED. Menggunakan Arduino Uno MinSys

DT-AVR Application Note

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III PERANCANGAN DAN IMPLEMENTASI

BAB IV PENGUJIAN DAN ANALISA

Light Dependent Resistor LDR Menggunakan Arduino Uno Minsys

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

BAB IV HASIL DAN UJI COBA

MODUL 2 Input Data dalam Arduino

BAB IV PERANCANGAN ALAT

BAB IV PERANCANGAN. 4.1 Flowchart

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB IV PENGUJIAN DAN ANALISIS

RANCANG BANGUN ALAT UKUR TINGGI BADAN DENGAN DISPLAY OLED DAN BERSUARA BERBASIS ARDUINO UNO

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA

BAB IV HASIL DAN UJI COBA

BAB III PEMBUATAN SOFTWARE

BAB IV PENGUJIAN DAN ANALISA ALAT

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

LAPORAN PRAKTIKUM TEKNIK KENDALI DIGITAL PERCOBAAN 1 PERANGKAT MASUKKAN DAN KELUARAN ARDUINO UNO. DOSEN : DR. Satria Gunawan Zain, M.

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB II LANDASAN TEORI

TUTORIAL DASAR MEMBUAT PROJECT ARDUINO UNO

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

BAB IV PENERAPAN DAN ANALISA

BAB IV PENGUJIAN. Gambar 4.1 Rangkaian Pengujian Arduino Uno.

BAB III PERANCANGAN ALAT

Belajar mikrokontroler Arduino untuk tingkat Pemula.

BAB IV PENGUJIAN DAN ANALISA SISTEM

Gambar 4.2 Rangkaian keypad dan LED

PRAKTIKUM MATA KULIAH MIKROPROSESSOR DAN BAHA ASSEMBLY INPUT/OUTPUT PADA ARDUINO

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISA DAN PENGUJIAN DATA

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV HASIL DAN UJI COBA

Level II A Materi Pemrograman

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN. Berikut ini merupakan penjelasan dari rangkaian power supply:

BAB V IMPLEMENTASI DAN PENGUJIAN

KRCT [MODUL WORKSHOP 1] TANJUNGPINANG 2012 KONTES ROBOT CERDAS

BAB IV HASIL DAN UJI COBA

MODUL PRAKTIKUM ROBOTIKA. Program Studi Sistem Komputer STMIK STIKOM Indonesia

BAB III PERANCANGAN SISTEM

MODUL PRAKTIKUM SISTEM DIGITAL. Disusun Oleh : Shoffin Nahwa Utama, M.T

DT-AVR DT-AVR Application Note

LAMPIRAN. A. FOTO KOMPONEN : 1) Water flow sensor G1

BAB III METODOLOGI PERANCANGAN. Diagram alir digambarkan pada gambar berikut :

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

BAB IV HASIL DAN PEMBAHASAN

DHT11 Temperature and Humidity Sensor Board Gambar 1 Blok Diagram AN196. 5V (Power) GND (Power)

Menuntun Anda membuat sketch HelloWorld. Menjelaskan diagram alir pemrograman HelloWorld. Menjelaskan cara memprogram Arduino

BAB III METODOLOGI PENELITIAN. Adapun untuk gambar dan penjelasan dari blok diagram dari alat dapat dilihat pada. Modul sensor.

BAB II LANDASAN TEORI

Transkripsi:

BBROBOTINDONESIA PANDUAN PRAKTIKUM DASAR ARDUINO www.belajarbikinrobot.weebly.com

Praktikum 7 Belajar Arduino Menggunakan FOR LOOP Pada praktikum kita kali ini, kita akan membahas sebuah fungsi yang sangat berguna dalam pengontrolan program. Ada banyak fungsi yang sangat berguna bagi kita saat membuat sketch arduino, salah satunya yaitu, For Loop Iteration. For Loop ini akan membuat pengulangan-pengulangan, sehingga dapat digunakan untuk mempersingkat kode program yang kita ketikkan. Untuk lebih jelasnya, saya rasa langsung ke praktikumnya akan lebih mempermudah pemahaman Anda tentang kegunaan For loop ini. Untuk itu, kita langsung saja lanjutkan ke praktikumnya berikut ini. Komponen yang dibutuhkan Arduino Uno 1x Protoboard 1x LED 5mm 6x Resistor 220Ohm 6x Kabel Jumper 7x Langkah-Langkah Praktikum Rangkailah komponen-komponen praktikum seperti gambar di atas! Berikut ini langkah-langkahnya. 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. Hubungkan tiap Resistor ke 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. int timer = 100; void setup() for (int thispin = 2; thispin < 8; thispin++) pinmode(thispin, OUTPUT); void loop() for (int thispin = 2; thispin < 8; thispin++) digitalwrite(thispin, HIGH); delay(timer); digitalwrite(thispin, LOW); for (int thispin = 7; thispin >= 2; thispin--) digitalwrite(thispin, HIGH); delay(timer); digitalwrite(thispin, LOW); 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 program yang diupload benar dan tidak ada kesalahan dalam pemasangan rangkaian elektronikanya maka, LED-LED pada protoboard yang kita rangkai akan menyala secara bergiliran. Diskusi Sketch Sekarang, kita akan coba membahas tentang kode program yang sebelumnya kita telah buat. Seperti pada praktikum sebelumnya, kali ini kita juga akan membagi kode-kode program tersebut menjadi 3 bagian. Baiklah, perhatikan kembali sketch yang telah kita ketikkan berikut ini. //Blok Pertama : Deklarasi dan Inisialisasi Variable int timer = 100; //Blok Kedua : Routine Setup void setup() for (int thispin = 2; thispin < 8; thispin++) pinmode(thispin, OUTPUT); //Blok Ketiga : Routine Loop void loop() for (int thispin = 2; thispin < 8; thispin++) digitalwrite(thispin, HIGH); delay(timer); digitalwrite(thispin, LOW); for (int thispin = 7; thispin >= 2; thispin--) digitalwrite(thispin, HIGH); delay(timer); digitalwrite(thispin, LOW);

BLOK PERTAMA Kita mulai pembahasan dari Blok pertama sketch ini yaitu, blok deklarasi variable. Satu-satunya kode yang ada pada blok deklarasi ini adalah kode sketch berikut ini. int timer = 100; Kode ini adalah kode untuk deklarasi dan inisialisasi variable yang kita beri nama " timer ". Variable ini bertipe integer tentu Anda sudah familiar dengan deklarasi variable seperti ini. Fungsinya pada praktikum ini yaitu, kita gunakan untuk mengatur lama waktu dari kedipan LED. Baiklah, kita lanjutkan kembali pembahasan kita ke blok program yang kedua berikut ini. BLOK KEDUA Blok berikutnya yaitu, Blok Routine loop(). Pada blok ini, kita bertemu dengan "for loop" yang menjadi inti dari praktikum kita kali ini. Perhatikan kode programnya berikut ini. void loop() for (int thispin = 2; thispin < 8; thispin + + ) pinmode ( thispin, OUTPUT ) ; Mari kita simak satu per satu, apa saja yang ada di dalam kurung " for loop " ini. Kita mulai dari kode berikut ini. for (int thispin = 2; thispin < 8; thispin + + ) Jika Anda perhatikan kode di atas, ada tiga statement yang ada di dalam kurung " for loop ". Statement pertama yaitu, Inisialisasi variable " thispin ". Variable ini nantinya sebagai patokan pembanding. Bentuknya sama seperti variable yang biasa kita kenal. int thispin = 2 ; kemudian pada statement berikutnya, ada kondisi perbandingan, dimana variable " thispin " yang tadi sudah dideklarasikan akan dibandingkan dengan nilai. Dalam hal ini nilai pembandingnya adalah 8. thispin < 8 ; Ini adalah kondisi perbandingan yang akan menentukan program melanjutkan eksekusi atau berhenti. Jika kondisi pada perbandingan thispin < 8 ini BENAR/TRUE, maka program akan dilanjutkan untuk membaca kode program yang ada di dalam kurung kurawal buka dan kurung kurawal tutup for loop ini.

Jadi, ketika pertama kali nilai variable thispin dibandingkan dengan 8, maka perbadingan yang terjadi akan terbaca seperti ini. 2 < 8 ; Di sini, variable thispin memiliki nilai awal 2 (perhatian kembali kode for loop nya). Kita tahu bahwa nilai 2 itu memang lebih kecil (<) dari 8. Artinya, kondisi for loop ini terpenuhi atau BENAR/TRUE. Oleh karna itu, program akan mengeksekusi kode yang ada di dalam kurung kurawal for loop. Sebelum membahas lebih lanjut,kita lanjutkan dahulu ke statement yang ke tiga yaitu, thispin + +; Sintaks " + + " ini, adalah sintaks yang dapat memberikan penambahan nilai. Bisa kita artikan seperti ini " Tambahkan 1 ke nilai variable thispin ", atau dengan teknik penulisan lain kira-kira seperti ini. thispin + + Sama Artinya thispin = thispin + 1 Statement ketiga inilah yang menambahkan nilai dari variable " thispin ". Kenaikan itu kita dapatkan dari sintaks " + + " tersebut. Sebagai contoh lainnya, kita juga bisa memberikan pengurangan dengan sintaks " - - ", Atau dengan teknik perhitungan lainnya. Silahkan perhatikan contoh-contoh berikut. thispin + = 4 + = berarti " tambahkan 4 ke variabel di sebelah kiri " thispin - = 4 - = berarti " kurangi 4 ke variabel di sebelah kiri " Pada praktikum ini, kebetulan yang kita butuhkan adalah penambahan dengan sintaks" + + ". Ok.. Kita lanjutkan kembali ke pembahasan utamanya. Seperti yang telah disampaikan di atas, jika kondisi for loop kita terpenuhi, dalam hal ini ( thispin < 8 ), maka kode " thispin ++" akan dieksekusi. Hal ini, menyebabkan variable thispin akan bertambah nilainya. Jadi, variable thispin yang awalnya bernilai 2, sekarang bertambah nilainya menjadi 3. Barulah kemudian, kode pada kurung kurawal for loop di eksekusi. Setelah kode pada kurung kurawal for loop ini sudah dieksekusi, maka program akan membaca kembali kondisi for loop ini untuk yang kedua kalinya. Jika kondisi masih terpenuhi, maka nilai variable " thispin " akan bertambah lagi. Sampai akhirnya nilai variable " thispin " akan bertambah terus hingga mencapai nilai 8. Saat nilai thispin ini sudah mencapai 8, maka kondisi for loop sudah tidak lagi terpenuhi (ingat, kondisi yang kita minta pada for loop kali ini yaitu nilai variable thispin < 8). Right!! for (int thispin = 2; thispin < 8; thispin + + ) pinmode ( thispin, OUTPUT ) ;

Dalam contoh ini, jika variabel " thispin " sudah lebih besar dari 7 atau dengan kata lain sudah bernilai 8. Maka for loop akan berhenti dieksekusi ulang. Sebenarnya, untuk apa kita menggunakan for loop ini?! kita menggunakan for loop ini untuk membantu kita melakukan pengulangan terhadap kode program yang ada di dalam kurung kurawal for loop ini. Dalam hal ini kode yang ingin kita ulangi eksekusinya yaitu kode berikut ini. pinmode ( thispin, OUTPUT ) ; Kita sudah familiar dengan fungsi pinmode ( ) -- fungsi ini kita gunakan untuk mengatur mode pin, dan pada kode tersebut pin ingin di jadikan OUTPUT. Nah, yang menjadi pertanyaan adalah, pin mana yang akan di jadikan OUTPUT? Oke, kita bahas sekarang! Pada putaran pertama for loop, nilai dari variable " thispin " adalah 2. Maka, hasil dari eksekusi kode pinmode() untuk putaran pertama for loop ini hasilnya kira-kira seperti berikut. pinmode ( thispin " nilainya 2 ", OUTPUT ) ; Pin 2 sekarang ditetapkan sebagai OUTPUT Setelah putaran pertama selesai, nilai dari variable thispin akan bertambah akibat penggunaan kode ( thispin + + ) sehingga, sekarang nilai dari thispin sekarang menjadi 3. pinmode ( thispin " nilainya 3 ", OUTPUT ) ; Pin 3 sekarang ditetapkan sebagai OUTPUT Pada putaran kedua, kita memeriksa kondisi lagi, dan ternyata nilai variable thispin yang saat ini sudah berubah menjadi bernilai 3 memang benar masih kurang dari 8. Sehingga, kita menjalankan kode program yang ada di kurung kurawal lagi dan ini menyebabkan nilai variable thispin bertambah lagi menjadi 4. pinmode ( thispin " nilainya 4 ", OUTPUT ) ; Pin 4 sekarang ditetapkan sebagai OUTPUT Setelah putaran kedua selesai, variable thispin ( yang nilainya sudah menjadi 3 ) bertambah lagi, sehingga nilainya menjadi 4. Maka, artinya pin 4 menjadi OUTPUT juga. pinmode ( thispin " nilainya 4 ", OUTPUT ) ; Pin 4 sekarang ditetapkan sebagai OUTPUT Proses penambahan ini dan pengujian kondisi ini akan terus berlangsung sampai variable thispin = 8, karna ketika thispin sudah sama dengan 8, maka kondisi for loop sudah tidak terpenuhi lagi. Ingat, kondisi yang diminta adalah thispin < 8. Right!

Hasil pengulangan eksekusi dari kode program tersebut, kira-kira sama dengan kita mengetikkan kode berikut ini satu per satu. pinmode ( 2, OUTPUT ) ; pinmode ( 3, OUTPUT ) ; pinmode ( 4, OUTPUT ) ; pinmode ( 5, OUTPUT ) ; pinmode ( 6, OUTPUT ) ; pinmode ( 7, OUTPUT ) ; Nah, sekarang kita bisa lihat disini, bahwa for loop membantu kita agar tidak mengetik kode program yang sama secara berulang-ulang. Katakanlah sekarang kita ingin menambahkan 3 LED lagi pada protoboard kita. Dengan metode for loop ini, maka kita hanya perlu mengubah angka pada statement perbandingannya saja. sedangkan dalam versi koding yang biasa, kita harus mengetikkan tiga fungsi pinmode ( ) lagi. Baiklah, kita sudah selesai membahas metode for loop pada routine setup() kita kali ini. Sekarang, kita lanjutkan kembali pembahasan kita ke blok program yang berikutnya. BLOK KETIGA Blok Program kita yang ketiga kali ini kita gunakan untuk meletakkan routine loop ( ). Coba perhatikan kode sketch berikut, dimana for loop kembali kita gunakan. for (int thispin = 2; thispin < 8; thispin + + ) digitalwrite ( thispin, HIGH); delay ( timer) ; digitalwrite ( thispin, LOW ) ; Bisa kita lihat di atas, semua kode dalam kurung for loop sama seperti yang sebelumnya. Yang berubah adalah kode yang ada di dalam kurung kurawalnya. Sebelumnya, sudah kita bahas bahwa ketika kondisi perbandingannya terpenuhi, maka kode pada kurung kurawal akan di eksekusi.

Kode yang pertama yang ada di dalam kurung kurawal adalah digitalwrite ( ). Ingat bahwa digitalwrite( ) menggunakan dua parameter pertama, nomor pin yang akan digunakan?! dan kedua, jenis outputnya, HIGH atau LOW?! Berikut ini kode program tersebut. digitalwrite ( thispin, HIGH ) ; Kode ini artinya, kita menjadikan pin bernilai HIGH. Fungsinya adalah agar LED menyala. Pertanyaannya adalah LED yang mana?! --Sederhana, tentunya pin yang dimaksud adalah pin yang telah ditentukan oleh variable counter " thispin ". Jadi, itulah mengapa LED yang pertama kali menyala adalah LED yang terhubung dengan pin 2, karna nilai pertama dari variable thispin ini adalah 2. Setelah itu kita tunda lama nyala LED menggunakan fungsi delay ( ). Lamanya delay ditentukan dari nilai variable timer yang sudah kita inisialisasikan. delay ( timer) ; Kemudian pindah ke perintah selanjutnya... digitalwrite ( thispin, LOW ) ; Sekarang, kita menulis tegangan 0 volt/ LOW ke pin 2, dan ini mengakibatkan LED padam. Setelah itu apa yang terjadi?!-- Nah, sama seperti pembahasan for loop pada routine setup() sebelumnya, variable counter thispin akan bertambah dan diuji perbandingannya lagi. Jika masih memenuhi syarat, maka LED akan berkedip lagi. Tapi, LED yang berkedip adalah LED yang terhubung dengan pin 3. Selanjutnya terus berulang seperti itu, sampai thispin sudah sama dengan 8. Sehingga, for loop tidak dieksekusi lagi. Inilah yang menyebabkan LED-LED pada protoboard kita menyala secara bergiliran. Sekarang, masalahnya adalah bagaimana jika variable thispin sudah bernilai 8?! apakah LED terakhir akan terus berkedip?! Nah, untuk itulah kita menggunakan for loop yang lain lagi untuk menurunkan nilai dari variable conter thispin turun kembali lagi sehingga mencapai nilai 2. Perhatikan kode programnya berikut ini. for (int thispin = 7; thispin > = 2; thispin -- ) digitalwrite ( thispin, HIGH ) ; delay ( timer) ; digitalwrite ( thispin, LOW ) ; Sekarang, kita ubah kode yang ada di dalam kurung for loop menjadi (int thispin = 7; thispin > = 2; thispin -- ). Kondisi untuk pengujian perbandingan sekarang sudah kita ubah menjadi thispin > = 2. Artinya, jika nilai thispin lebih besar dari 2 maka, kode pada kurung kurawal akan di eksekusi dan nilai thispin sebelumnya dikurangi 1 (ingat, sintaks thispin - - menyebabkan nilai variable thispin berkurang nilainya satu angka).

Jadi, sekarang kita tidak lagi menghitung naik, tapi menghitung mundur dari thispin 7 sampai nilai thispin sudah menjadi 2 lagi. Setelah semuanya selesai di eksekusi, maka program akan kembali berputar ke Routine void loop ( ). Ingat, antara " for loop " dengan routine loop ( ) itu beda yah.. Satu hal penting, yang mungkin perlu saya sampaikan disini yaitu, apa yang sisebut ruang lingkup variable. Ruang lingkup variable adalah tempat dimana variable dapat digunakan. Variable-variable yang kita deklarasikan dan kita inisialisasikan pada blok pertama program, sebelum setup ( ) dan loop ( ), memiliki lingkup global artinya, variable-variable itu dapat kita gunakan pada seluruh bagian program. Sedangkan variable yang di deklarasikan di dalam sebuah for loop, hanya dapat digunakan di dalam for loop itu saja. Demikianlah pembahasan praktikum kita kali ini. Terimakasih telah mengikuti seri praktikum Arduino ini dan sampai jumpa pada praktikum-praktikum Arduino kita selanjutnya... Latihan Mandiri Untuk latihan mandiri kali ini, cobalah beberapa hal berikut ini! 1. Ganti nilai dari int timer. Buatlah agar lama nyala LED sedikit lebih lama.(3 detik sekali) 2. Tambah lagi 4 LED tambahan pada pin 9, 10, 11 dan 12. Ubah sketch agar LED tersebut ikut dalam barisan LED sebelumnya. Gunakan metode for loop.

www.belajarbikinrobot.weebly.com