Logika pemrograman sederhana

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

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

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

BAB II LANDASAN TEORI

BAB IV PENGUJIAN DAN ANALISA

KRCT [MODUL WORKSHOP 1] TANJUNGPINANG 2012 KONTES ROBOT CERDAS

PERCOBAAN 1 SEVEN SEGMEN

BAB III PEMBUATAN SOFTWARE

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

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

PRAKTIKUM 9 Penulisan dan Pembacaan ADC pada Mikrokontroler

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA SISTEM

4.2 Persiapan Perangkat Keras dan Perangkat Lunak

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

BAB IV ANALISA DAN PENGUJIAN ALAT

PROJECT LED SINYAL MORSE SOS

BAB IV HASIL DAN UJI COBA

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

BAB IV PENGUJIAN ALAT DAN PEMBAHASAN

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

MODUL PRAKTIKUM ROBOTIKA. Program Studi Sistem Komputer STMIK STIKOM Indonesia

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT

JOBSHEET 3. Sensor Warna dan Mikrokontroller

MAKALAH MIKRO PROSESOR

BAB IV HASIL DAN UJI COBA

BAB IV PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III ANALISIS DAN PERANCANGAN

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

BAB 3 METODE PENELITIAN. Sikonek, rumah tinggal Sunggal, dan Perpustakaan Universitas Sumatera Utara.

PRAKTIKUM 8 Output Seven Segment Pada Arduino

BAB IV PERANCANGAN. 4.1 Flowchart

BAB IV PENGUJIAN DAN ANALISA ALAT

Praktikum II LED dan PUSH BUTTON

BAB IV ANALISA DAN PENGUJIAN

BAB III PERANCANGAN ALAT DAN PROGRAM

Light Dependent Resistor LDR Menggunakan Arduino Uno Minsys

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

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

Komunikasi Serial. Menggunakan Arduino Uno MinSys

BAB IV PENGUJIAN. Gambar 4.1 Rangkaian Pengujian Arduino Uno.

Level II A Materi Pemrograman

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

LAPORAN MEMBUAT ALAT PRAKTIK MIKROPROSESSOR

DT-AVR Application Note

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 ANALISA DAN PENGUJIAN ALAT

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN

MODUL 2 Input Data dalam Arduino

DT-SENSE Application Note

BAB III PERANCANGAN DAN REALISASI SISTEM. menggunakan sensor gas MQ-2 yang ditampilkan pada LCD 16x2 diperlukan

Laporan Mikroprosesor Sensor Jarak Ultrasonic HC SR04 Dengan Indicator Buzzer dan LED

BAB IV PENGUJIAN ALAT DAN ANALISA

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

PEMBUATAN PROTOTIPE ALAT PENDETEKSI LEVEL AIR MENGGUNAKAN ARDUINO UNO R3

DT-AVR DT-AVR ApplicationNote

BAB IV. PERANCANGAN. Blok diagram menggambarkan cara kerja semua sistem E-dump secara keseluruhan yang terdiri dari beberapa komponen:

RANCANG BANGUN SISTEM PENGAMAN PINTU RUMAH MENGGUNAKAN ANDROID BERBASIS ARDUINO UNO

RANCANG BANGUN SISTEM PENGAMAN PINTU RUMAH MENGGUNAKAN ANDROID BERBASIS ARDUINO UNO

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB II LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

BAB III DESAIN DAN PERANCANGAN

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

BAB IV HASIL DAN UJI COBA

Belajar mikrokontroler Arduino untuk tingkat Pemula.

BAB IV PENGUJIAN DAN PEMBAHASAN

BAB III PERANCANGAN ALAT

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

BAB IV PENGUJIAN DAN ANALISIS

BAB IV PEMBAHASAN DAN ANALISA DATA

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

Display LCD. Menggunakan Arduino Uno MinSys

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

Transkripsi:

Logika pemrograman sederhana Setelah belajar materi 1, 2 dan 3 sekarang saatnya mengenal logika pemrograman sederhana, di materi 1 sudah di bahas sedikit apa itu algoritma pemrograman, sekarang saatnya untuk mencoba mengaplikasikan pada arduino yang sudah di pelajari sebelumnya. Penggunaan logika sederhana menggunakan if-else statement. Sesuai dengan terjemahan dalam bahasa Indonesia, if berarti jika dalam suatu pemrograman algoritma ini banyak terjadi pengkondisian-pengkondisian sehingga ini sangat di perlukan, berhatikan contoh berikut ini Jika (saya punya uang) Saya beli barang Dengan menggunakan fungsi tersebut jika dalam kondisi (saya punya uang) belum atau tidak terpenuhi, maka saya beli barang tidak akan di jalankan, dan program akan menjalankan kondisi yang lainnya. Contoh lagi Jika (saya punya uang) Saya beli barang Jika tidak Saya tidak beli mari di coba menggunakan potensiometer sebagai input dan LED sebagai output. Input dari sensor potensiometer ini nantinya kita gunakan untuk mengontrol LED. Komponen yang dibutuhkan.. Arduino Uno 1x Protoboard 1x LED 5mm 1x Kabel Jumper 5x Potensiometer 10K 1x

Selanjutnya seperti pada percobaan materi 3 dan percobaan materi 2 1. Hubungkan pin A0 dengan kaki Tengah Potensiometer menggunakan kabel jumper (warna hijau). 2. Hubungkan salah satu kaki potensimeter yang terluar (kita sebut kaki 1 Potensio) dengan pin 5v Arduino menggunakan kabel jumper (warna merah). 3. Hubungkan Kaki 2 Potensiometer dengan pin Gnd Arduino menggunakan kabel jumper (warna coklat). 4. Hubungkan pin 13 Arduino dengan kaki + LED menggunakan kabel jumper (warna kuning). 5. Hubungkan kaki - LED dengan salah satu kaki Resistor 220Ohm. 6. Hubungkan kaki Resistor lainnya dengan pin Gnd Arduino menggunakan kabel jumper (warna hitam) 7. Pasangkan board Arduino dengan port USB komputer menggunakan kabel USB. 8. Bukalah IDE Arduino kemudian ketikkan sketch berikut. int potensio = A0; int led1 = 13; int batasnilai = 500; void setup() pinmode(led1, OUTPUT); Serial.begin(9600); void loop() int nilaipotensio = analogread(potensio); if (nilaipotensio > batasnilai) digitalwrite(led1, HIGH); else digitalwrite(led1,low); Serial.println(nilaiPotensio); delay(1); 9. Jika sudah, compile menggunakan tombol "verify", cek apakah ada kesalahan pengetikan sketch. Jika masih ada error coba di perbaiki lagi, mungkin ada salah ketik.

10. Upload ke Board Arduino menggunakan tombol "Upload" atau melalui File > Upload. 11. Buka jendela serial Monitor caranya, pilih Tools > Serial Monitor. Jika program yang diupload benar dan tidak ada kesalahan dalam pemasangan rangkaian elektronikanya maka, LED akan menyala saat nilai analog dari potensiometer lebih besar dari 400 (ingat range input analog nilainya dari 0 sampai 1023). Jika nilai analog dari potensiometer lebih kecil, maka LED padam. Diskusi Rangkaian Elektronikanya.. Jika Anda ingat dari pelajaran sebelumnya, potensiometer adalah resistor variable yang dapat digunakan sebagai pembagi tegangan. Pada satu kaki potensiometer kita memiliki tegangan 5 volt dari board Arduino dan satu kaki lagi terhubung dengan 0 volt / Gnd. Ketika kita memutar knop pada potensiometer, voltase pada kaki tengah potensiometer ini akan berubah sesuai dengan putaran knop tersebut. Semakin besar resistansinya maka voltase akan berkurang dan sebaliknya. Diskusi Sketchnya.. Perhatikan kembali sketch yang tadinya sudah kita ketikkan. int potensio = A0; int led1 = 13; int batasnilai = 500; void setup() pinmode(led1, OUTPUT); Serial.begin(9600); void loop() int nilaipotensio = analogread(potensio); if (nilaipotensio > batasnilai) digitalwrite(led1, HIGH); else digitalwrite(led1,low); Serial.println(nilaiPotensio); delay(1);

Konsep dasar dari sketch ini adalah mengukur tegangan pada pin analog, dimana pin analog ini akan berubah tegangannya sesuai dengan putaran knop Potensiometer. Kemudian, kita memberikan ambang batas tegangan pada kisaran tertentu. dalam praktikum ini yaitu, nilai pin analog > 500. ( ingat, analog ini memiliki kisaran nilai antara 0 sampai 1023 ). Ketika pin analog memiliki nilai > 500, maka LED pada pin 13 kita nyalakan, dan ketika < 500 kita padamkan. Program ini mungkin terlihat agak panjang dibandingkan program-program praktikum sebelumnya. Salah satu cara yang saya gunakan untuk memahami sketch yang panjang adalah membaginya menjadi bagian-bagian atau blok-blok. Sehingga, kita bisa fokus untuk memahami tiap blok tersebut dan hubungannya dengan blok-blok sketch yang lainnya. Baiklah, kita bahas dan diskusikan sketch di atas. Sketch di atas kita bagi menjadi bagian-bagian atau blok-blok, bagian pertama yaitu bagian Deklarasi dan Inisialisasi Variable, Bagian kedua yaitu Routine setup(), dan Bagian ketiga yaitu Routineloop(). Mari kita mulai pembahasan pada blok pertama dari sketch kita.. --------------------------------------------BLOK PERTAMA------------------------------------------------ int potensio = A0 ; int led1 = 13; int batasnilai = 500 ; Perhatikan bahwa semua variable di atas memiliki int di depannya. Keyword ini adalah singkatan dari integer. Sebuah integer ini digunanakn untuk kualifikasi -- konstanta akan menyesuaikan dulu dengan variable yang telah dideklarasikan. integer ini akan mengunci nilai pada variable, sehingga nilai variable tidak akan berubah sepanjang jalannya program. Mengapa menggunakan inisialisasi? Pada saat mengetikkan atau memperbaiki sketch kemungkinan kita lupa dan tidak sengaja mengetikkan nilai baru pada variable di tengah-tengah proses pengetikan sketch. Hal ini, sering kali terjadi. Jadi, saya sarankan untuk menggunakan konstanta ketika kita membuat variable yang nilainya tidak ingin kita ubah-ubah. -----------------------------------------BLOK KEDUA------------------------------------------------------ Blok berikutnya yaitu routine setup(). Pada routine ini kita atur mode untuk pin led menjadi output dan mengatur baud rate komunikasi serial. void setup ( )

pinmode ( led1, OUTPUT ) ; Serial.begin ( 9600 ) ; Ingatlah bahwa semua pin pada dasarnya telah terseting secara default sebagai INPUT, Sehingga kita tidak perlu lagi mengatur mode untuk pin A0 ( analog pin yang kita hubungkan ke potensiometer ). Untuk komunikasi serial. Kita gunakan fungsi begin ( ) dari library serial dengan baud rate 9600. Sekarang kita sudah mengatur penggunaan pin dan komunikasi serial. Kita lanjutkan pembahasan ke blok berikutnya. --------------------------------------------BLOK KETIGA-------------------------------------------------- Blok routine loop ( ). Berikut adalah sketch yang kita punya pada routine loop kita. int nilaipotensio = analogread ( Potensio ) ; Kita menggunakan fungsi analogread ( ). Ingat bahwa analogread ( ) akan mengambil nilai antara 0 sampai 1023. Nilai ini akan berubah ketika kita memutar knop potensiometer pada protoboard. Jadi, baris kode ini berfungsi untuk memeriksa putaran potensiometer kemudian menyimpan nilainya pada variable " nilaipotensio ". Hal berikutnya yang kita lakukan adalah membandingkan nilai potensiometer yang telah disimpan oleh variable " nilaipotensio " dengan nilai batas yang telah kita tentukan, dalam hal ini yaitu " batasnilai ". if ( nilaipotensio > batasnilai ) digitalwrite ( led1, HIGH ) ; else digitalwrite ( led2, LOW ) ;

Jika pada praktikum sebelumnya kita pernah menggunakan ' if-statement ', sekarang kita menambahkan dengan satu statement lagi yaitu ' else-statement '. if-statement akan memeriksa kondisi yang ada di dalam kurung, Jika kondisi didalam kurung terpenuhi atau benar (TRUE), maka kode program yang ada diantara kurung kurawal buka dan kurung kurawal tutup pada if-statement ini akan di eksekusi -- jika tidak terpenuhi atau salah (FALSE), maka program akan dilanjutkan ke ' else-statement '. Perhatikan analogi program berikut : if ( Jeruk Masih Segar ) Masukkan ke Keranjang ( ) Else Buang ke Tempat Sampah ( ) Kita dapat melihat pada gambar di atas bahwa ' else-statement ' memberikan kita kontrol atas apa yang harus dilakukan ketika ' if-statement ' tidak terpenuhi. Dalam praktikum arduino selanjutnya kita akan berbicara tentang ' elseif statement ' yang akan

memberikan kita teknik kontrol yang lebih lanjut. Kembali ke pembahasan... kondisi yang di cek.. nilaipotensio > batasnilai Jika ini BENAR kita menyalakan LED dengan menggunakan fungsi digitalwrite ( )... if ( nilaipotensio > batasnilai ) digitalwrite ( pinnyaled, HIGH ) ; Jika kondisi di atas SALAH, maka kita mematikan LED dengan mengeksekusi kode di dalam kurung kurawal else... else digitalwrite ( ledpin, LOW ) ; Mari kita melakukan review singkat Operator Perbandingan : Kondisi yang kita akan cek menggunakan apa yang disebut Operator Perbandingan. Referensi dari website resmi Arduino seperti berikut, == ( Sama dengan )! = ( Tidak sama dengan ) < ( Kurang dari ) > ( Lebih besar dari ) < = ( Kurang dari atau sama dengan ) > = ( Lebih besar dari atau sama dengan ) Dengan operator-operator perbandingan ini kita dapat membuat pilihan kondisi yang lebih banyak. Kembali ke baris program, setelah if-else statement beres, kita ingin melihat nilai analog yang dihasilkan oleh potensiometer di layar komputer kita. Untuk melihat perubahan nilai potensiometer pada praktikum ini kita menggunakan kode program berikut, / / Mencetak nilai analog ke Serial Monitor Serial.println ( nilaipotensio ) ; Baris kode ini menggunakan fungsi println ( ) dari library serial. Inilah yang mengirimkan nilai dari Arduino ke komputer kita. Putar potensiometer, maka kita akan melihat nilai akan berubahubah pada jendela Serial Monitor di komputer kita.

Akhirnya, kita sampai pada kode yang terakhir di routine loop ini, yaitu: delay ( 1 ) ; //fungsi ini kita gunakan untuk delay beberapa saat untuk stabilitas program. Jadi mari kita resume penjelasan sketch pada praktikum arduino kita kali ini. 1. Pertama kita membaca nilai pin analog dan menyimpannya pada sebuah variable 2. Selanjutnya kita memeriksa kondisi, apakah variable lebih besar dari batas nilai yang kita tentukan? 3. Jika benar nilai variable lebih besar dari batas nilai, kita nyalakan LED. 4. Jika ternyata nilai variable tidak lebih besar dari batas nilai, kita padamkan LED. 5. Kita lihat perubahan nilai dari input potensiometer di serial monitor 6. kita delay beberapa milidetik agar program berjalan stabil Latihan Mandiri Untuk latihan magandiri kali ini coba beberapa hal berikut.. 1. Ganti nilai dari int batasnilai bagaimana hasilnya? 2. Buat sketch agar LED menyala jika batasnilai lebih kecil dari 100 dan lebih besar dari 800. Jika nilai ada di antara 100 dan 800, padamkan LED. 3. Gunakan 6 led, bikin cara menyalakan led urut mulai led 1 s/d led 6 dengan menggunakan pengaturan potensiometer, semakin kecil nilai potensiometer semakin sedikit led yang nyala, semakin besar nilai potensiometer semakin banyak yang nyala