PANDUAN PRAKTIKUM DASAR ARDUINO

dokumen-dokumen yang mirip
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

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PANDUAN PRAKTIKUM DASAR ARDUINO

PRAKTIKUM 9 Penulisan dan Pembacaan ADC pada Mikrokontroler

MODUL 2 Input Data dalam Arduino

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

PERCOBAAN 1 SEVEN SEGMEN

PROJECT LED SINYAL MORSE SOS

BAB III PERANCANGAN ALAT DAN PROGRAM

PRAKTIKUM 8 Output Seven Segment Pada Arduino

BAB IV PENGUJIAN DAN ANALISA

BAB III PERANCANGAN. Microcontroller Arduino Uno. Power Supply. Gambar 3.1 Blok Rangkaian Lampu LED Otomatis

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB II LANDASAN TEORI

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

4.2 Persiapan Perangkat Keras dan Perangkat Lunak

Praktikum II LED dan PUSH BUTTON

BAB IV PENGUJIAN DAN ANALISA SISTEM

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

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB IV HASIL DAN UJI COBA

BAB IV ANALISA DAN PENGUJIAN ALAT

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

BAB III PERANCANGAN ALAT

Output LED. Menggunakan Arduino Uno MinSys

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB III PEMBUATAN SOFTWARE

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

Display LCD. Menggunakan Arduino Uno MinSys

BAB IV PERANCANGAN ALAT

Komunikasi Serial. Menggunakan Arduino Uno MinSys

Light Dependent Resistor LDR Menggunakan Arduino Uno Minsys

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

KRCT [MODUL WORKSHOP 1] TANJUNGPINANG 2012 KONTES ROBOT CERDAS

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

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

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

BAB III ANALISIS DAN PERANCANGAN

DT-AVR Application Note

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

Level II A Materi Pemrograman

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

BB ROBOT INDONESIA THE ROBOTIC E-LEARNING CENTER I N S T A L L I N G T H E I D E

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

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

Komunikasi Serial pada ARDUINO UNO R3 untuk mengkatifkan (Menyalakan dan mematikan) LED

BAB III PERANCANGAN DAN IMPLEMENTASI

BAB IV HASIL DAN UJI COBA

#include <SoftwareSerial.h> SoftwareSerial BTSerial(10, 11);

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

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

JOBSHEET 5. Motor Servo dan Mikrokontroller

JOBSHEET 3. Sensor Warna dan Mikrokontroller

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

TOILET PINTAR ABSTRAK

MAKALAH MIKRO PROSESOR

BASIC MOBILE ROBOT ARDUINO Kelengkapan Nama Jumlah Unit 2 mm Akrilik Base Board 2 Pcs

BAB III PERANCANGAN ALAT

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

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISIS

BAB 3 PERANCANGAN ALAT. Gambar 3.1 diagram blok rangkaian

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III PERANCANGAN ALAT

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

BAB IV PERANCANGAN. 4.1 Flowchart

DT-AVR. Application Note AN214

BAB III PERANCANGAN SISTEM KENDALI EXHAUST FAN MENGGUNAKAN BLUETOOTH

BAB III PERANCANGAN SISTEM

BAB II TEORI PENUNJANG

BAB IV PENGUJIAN DAN ANALISA

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB IV PERANCANGAN ALAT

MODUL PRAKTIKUM ROBOTIKA. Program Studi Sistem Komputer STMIK STIKOM Indonesia

Belajar mikrokontroler Arduino untuk tingkat Pemula.

DT-AVR DT-AVR Application Note

MIKROKONTROLER ARDUINO

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN. Gambar 4.1 Rangkaian Pengujian Arduino Uno.

BAB IV HASIL DAN UJI COBA

LAPORAN PROJECT MICROCONTROLLER SEMESTER IV JUDUL PIR SENSOR ANTI MALING DISUSUN OLEH ELGYE YOLAND DENI NUL HAQIEM

Transkripsi:

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

Praktikum 5 Belajar Arduino Meredupkan dan Menerangkan LED menggunakan PWM dan analogwrite() Pada praktikum kali ini, kita akan belajar menggunakan analogwrite() untuk meredupkan atau menerangkan output nyala dari sebuah LED. Sebelumnya, kita sudah mempelajari bagaimana menggunakan analogread() untuk membaca input analog. Pertanyaannya sekarang adalah -- apakah bisa menggunakan analog sebagai output?!. Jawabannya adalah, bisa! namun dengan sedikit trik yang berbeda. Untuk itulah, praktikum kali ini akan menjelaskan kepada Anda bagaimana cara kita melakukannya. Untuk melakukannya, kita menggunakan pin-pin digital khusus yang ada pada arduino. Meskipun ini adalah pin digital, namun pin ini bisa digunakan seakan-akan pin ini merupakan pin analog. Ada beberapa pin pada pin-pin Arduino yang memiliki label seperti ini ~ coba lihat board arduino Anda. Pin yang memiliki tanda ini adalah pin PWM (pin 3, pin 5, pin 6, pin 9, pin 10, dan pin 11). PWM ini adalah metode untuk mengubah pulsa digital "seakan-akan" menjadi pulsa analog. Berbeda dari input analog yang menghasilkan nilai antara 0 sampai 1023, nilai keluaran dari PWM ini yaitu bernilai dengan rentang dari 0 sampai 255. Pada praktikum ini, kita tidak membahas lebih dalam bagaimana cara kerja PWM secara teoritis. Kita hanya akan mempraktekkan bagaimana cara menggunakannya. Untuk Anda yang membutuhkan penjelasan lebih lanjut tentang PWM boleh berkunjung ke situs www.arduino.cc.. Okelah, tanpa perlu berlama-lama, kita langsung saja ke praktikumnya berikut ini. Komponen yang dibutuhkan Arduino Uno 1x Protoboard 1x LED 5mm 1x Resistor 220Ohm 1x Kabel Jumper 2x

Langkah-Langkah Praktikum Rangkailah komponen praktikum seperti gambar di atas! Berikut ini langkah-langkahnya. 1.Hubungkan Kaki + LED dengan pin 9 Arduino menggunakan kabel jumper (warna kuning). 2. Hubungkan Kaki - LED dengan salah satu kaki Resistor kita sebut saja kaki 1 Resistor. 3. Hubungkan Kaki Resistor lainnya/ Kaki 2 Resistor 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. int led = 9; int brightness = 0; int fadeamount = 5; void setup() pinmode(led, OUTPUT); void loop() analogwrite(led, brightness); brightness = brightness + fadeamount;

if (brightness == 0 brightness == 255) fadeamount = -fadeamount ; delay(30); 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 akan menyala secara perlahan dari gelap, kemudian secara perlahan menjadi terang. Kemudian, kembali lagi dari terang, secara perlahan mejadi gelap. Demikian seterusnya. Diskusi Sketch Sekarang, kita akan mencoba membahas program yang telah kita buat di atas. Berikut ini adalah sketch program yang telah kita ketikkan, coba kita perhatikan kembali! int led = 9; int brightness = 0; int fadeamount = 5; void setup() pinmode(led, OUTPUT); void loop() analogwrite(led, brightness); brightness = brightness + fadeamount; if (brightness == 0 brightness == 255) fadeamount = -fadeamount ;

delay(30); Seperti biasa, untuk lebih mudah memahami sketch tersebut, kita bagi program tersebut menjadi tiga bagian. Pertama, blok deklarasi variable. Kedua, blok routine setup(). Dan ketiga, blok routine loop(). Kita mulai dari blok yang pertama yaitu, blok deklarasi dan inisialisasi variable. BLOK PERTAMA Baiklah, sekarang kita perhatikan apa yang ada pada blok deklarasi dan inisialisasi variable kita berikut ini. int led = 9; int brightness = 0; int fadeamount = 5; Pada bagian pertama ini, ada tiga variable yang kita gunakan. Variable pertama yaitu " led ", variable ini kita beri nama led dan kita inisialisasikan 9. Karna, pada pin 9 Arduinolah kita menghubungkan LED ( tentunya dengan tambahan resistor 220 Ohm ) dengan Arduino. Variable selanjutnya, yaitu variable " brightness ". Variable ini, kita gunakan untuk menyimpan sementara nilai dari kecerahan nyala LED kita. Kemudian, variable yang terakhir yaitu, variable " fadeamount ". Variable ini berfungsi untuk menambah atau mengurangi tingkatan kecerahan dari LED. Setelah kita mendeklarasikan dan menginisialisasikan variable seperti yang kita bahas di atas, kita beralih ke blok yang selanjutnya yaitu, blok fungsi setup(). BLOK KEDUA Berikut ini adalah kode program pada routine setup() kita kali ini. Untuk itu, mari kita perhatikan bersama kodenya berikut ini. void setup() pinmode(led, OUTPUT); Pada bagian program ini, satu-satunya hal yang kita lakukan yaitu, mengatur mode dari pin. Pada kode program di atas, kita menentukan mode dari pin 9 sebagai OUTPUT menggunakan fungsi pinmode ( ). Ingat kembali, fungsi pinmode ( ) memerlukan dua parameter yaitu, nomor pin dan mode yang diinginkan. Dalam kasus ini, kita menetapkan variable " led " atau pin 9 untuk parameter pertama dan mode OUTPUT sebagai parameter yang kedua. Saya rasa, anda telah memahami blok program ini, karna kita sudah pernah membahasnya pada praktikumpraktikum kita sebelumnya. Oke, sekarang setelah bagian setup ini sudah selesai kita seting, kini saatnya kita melanjutkan pembahasan kita ke blok program yang berikutnya, yaitu blok routine loop().

BLOK KETIGA Sekarang, kita sudah sampai ke pembahasan pada blok yang ketiga. Di sini, kita memiliki routine loop(). Berikut ini kode pada routine kita ini. void loop() analogwrite(led, brightness); brightness = brightness + fadeamount; if (brightness == 0 brightness == 255) fadeamount = -fadeamount ; delay(30); Blok routine loop() ini diawali dengan fungsi analogwrite ( ). Fungsi inilah yang kita gunakan untuk memanggil Pulse Width Modulation atau yang sering kita singkat PWM. PWM pada dasarnya adalah metode yang digunakan untuk mengubah output digital menjadi output yang " seakan-akan " analog. Sehingga, kita bisa menggunakan output ini layaknya sebuah pin output analog. Skala output dari PWM ini memberikan pin nilai antara 0 sampai 255 dimana, 0 sebagai tegangan terendah dan 255 sebagai tegangan tertinggi. Untuk lebih jelasnya tentang PWM silahkan kunjungi situs resmi Arduino. Baik, kita kembali ke pembahasan tentang analogwrite ( ). Seperti yang telah kita pahami bahwa fungsi analogwrite ( ) membutuhkan dua parameter, yaitu parameter angka pin dan nilai output antara 0 sampai 255. analogwrite ( pin, value ) Dalam sketch ini kita menggunakan parameter : analogwrite ( led, brightness) ; Jadi, hal pertama yang kita lakukan dalam blok routine loop() ini adalah memberikan nilai pada variable " led " atau pin 9 dengan nilai dari variable " brightness ". Karna variable brightness ini nilai awalnya adalah 0 maka, LED kita akan mulai dari padam terlebih dahulu.

Baris berikutnya dari kode kita pada blok ketiga ini yaitu, brightness = brightness + fadeamount; Jika kita ubah menjadi angka-angka, isi dari variable-variable pada kode di atas akan terbaca seperti ini. ( 0 ) = ( 0 ) + ( 5 ) Jadi, di sini kita mengambil nilai dari variable " brightness " kemudian menambahkan brightness tersebut dengan nilai " fadeamount ". Nilai ini kemudian tersimpan sementara, sehingga sekarang nilai variable brightness yang awalnya 0 sekarang menjadi 5. Sekarang, kita sudah tahu bahwa variable " brightness " nilainya sudah berubah menjadi 5, dan akan bertambah terus dalam kelipatan 5. kira-kira gambaran pertambahannya seperti ini, 0-5 - 10-15 - 20 -...sampai... - 255. Setiap pertambahan nilai brightness tersebutlah yang membuat LED dari padam perlahanlahan menjadi terang. Permasalahan selanjutnya yang kita hadapi adalah, bagaimana jika nilai variable " brightness " sudah menjadi 255? Apakah LED akan terus menyala? lalu, bagaimana cara meredupkannya kembali?! Untuk itulah kita menggunakan kode yang selanjutnya yaitu fungsi if statement. Fungsi if ( kondisi ) adalah fungsi kontrol yang sangat sering digunakan. Fungsi ini, bekerja dengan mengecek sebuah kondisi - dan jika kondisi yang di cek tersebut terpenuhi, maka kode yang ada di dalam kurung kurawal fungsi if ini akan di eksekusi. Sebagai contoh, coba perhatikan analogi berikut, if (apel matang DAN tidak busuk) ambil apel () masukkan ke keranjang ()

Yang tadi saya sebut " kondisi " adalah apa yang kita ketikkan di dalam kurung dari fungsi if tersebut. Di dalam kurung ini, kita mengetik kode yang kita gunakan sebagai kondisi. Dalam analogi di atas, jika " apel matang DAN tidak busuk " terpenuhi, maka kode fungsi yang ada di dalam kurung kurawal akan di eksekusi. - " ambil apel " kemudian " masukkan ke keranjang ". Jadi, ayo kita lihat bagaimana fungsi if membantu kita mengembalikan LED menjadi padam kembali. if ( brightness == 0 brightness == 255 ) fadeamount = - fadeamount ; Mungkin awalnya terlihat sedikit membingungkan, tapi tenang saja kita akan bahas perlahan. Siap..? Kita awali dari pembahasan. Dua garis itu artinya adalah OR (dlm bahasa indonesia ATAU). Jadi, kondisi di atas artinya " jika variable brightness sama dengan 0 ATAU 255. Selanjutnya, kita bahas tanda ==. Tanda dua sama dengan ini adalah operator perbandingan yang membandingkan dua nilai yang sama. Apa bedanya dengan tanda sama dengan =. Untuk mudahnya, kita lihat contoh berikut. brightness = 0 / / pernyataan ini memberikan nilai ke variabel brightnes dengan nilai 0 sedangkan, brightness == 0 / / pernyataan ini membandingkan variabel brightnes kecerahan dengan 0. Kondisi dalam kondisi fungsi if ini akan menghasilkan salah satu dari 2 nilai berikut -- bernilai TRUE (benar) atau FALSE (salah). Jika TRUE, maka kode yang ada di dalam kurung kurawal akan di eksekusi. Ingat, kelipatan dari variable " brightness " yang bertambah?! Kondisi pada if akan terus bertambah sampai brightness mencapai 255. Nah, sekarang jika kondisi ini terpenuhi. Bagaimana selanjutnya?! if ( brightness == 0 brightness == 255 ) Kondisi ini terpenuhi - selanjutnya apa? fadeamount = - fadeamount ; Yang kita lakukan selanjutnya yaitu, merubah nilai variable " fadeamount " menjadi minus/negatif. fadeamount = - fadeamount ;

Jadi, sekarang jika variable brightness sudah bernilai 255, maka nilai dari fadeamount akan menjadi negatif. Sehingga, brightness sekarang akan dikurangi 5, karna nilai fadeamount ( - 5 ). Dan seterusnya sampai brightness kembali lagi menjadi Nol dan fadeamount berubah kembali menjadi positif 5 ini hitungan yang terjadi " (-(-5)) ". Ok, kita sudah cukup untuk membahas tentang fungsi if. Kita lanjutkan ke kode selanjutnya, yaitu kode agar kita dapat melihat perubahan kecerahan dan keredupan dari LED dengan mendelay program selama beberapa milidetik. Berikut ini kode delay tersebut. delay (30); Kode ini kita gunakan, karna mata manusia kurang cepat dalam menangkap perubahan jika tidak kita delay. Dalam praktikum ini, kita mendelaynya selama 30 milidetik. Tujuannya, agar kita dapat dengan jelas melihat perubahannya. Nah, bagaimana?! -- Sekarang Anda sudah dapat menikmati lampu LED anda berkelap-kelip secara perlahan. Demikianlah pembahasan kita pada praktikum kali ini. Terimakasih atas perhatiannya, selamat berlatih, dan sampai jumpa pada praktikum kita selanjutnya.. Latihan Mandiri Untuk latihan mandiri kali ini, cobalah beberapa hal berikut ini! 1. Ganti nilai dari variable int fadeamount. Jelaskan, bagaimana hasilnya?! 2. Kurangi nilai dari fungsi delay(), apa yang terjadi? Jelaskan! 3. Tambahkan 1 LED lagi pada rangkaian hubungkan dengan pin 11 Arduino. Kemudian buatlah kedua LED tersebut fade in dan fade out seperti hasil praktikum di atas

www.belajarbikinrobot.weebly.com