Anda di halaman 1dari 12

MODUL 1

DASAR PEMROGRAMAN
TUJUAN

Setelah menyelesaikan percobaan ini mahasiswa diharapkan mampu:

➢ Mahasiswa mampu memahami dan mempraktekkan interface dan menggunakan pin


digital I/O pada Arduino.
➢ Mahasiswa mampu mempraktekkan Blinking LED dan interface LCD 16x2 I2C.

ALAT DAN BAHAN

1. Komputer / PC / Laptop dengan port USB


2. Board Arduino Uno + kabel
3. Software Arduino IDE

1.1 Menyiapkan Sistem Arduino

Memasang (install) IDE Arduino

Unduh perangkat lunak Arduino versi yang sesuai sistem operasi. Kemudian install
perangkat lunak tersebut ke system jika yang dipilih adalah berkas installer. Atau ekstraksi isi
file yang diunduh ke folder jika mengunduh berkas versi zip.

Mengubungkan Dev Board Arduino

Hubungkan board Arduino ke "port" USB tunggu Windows untuk memulai proses
instalasi driver. Windows, akan menampilkan dialog instalasi device driver untuk perangkat
keras baru. Jika Windows tidak berhasil memilih driver yang tepat, beritahukan untuk
menggunakan driver yang ada di folder drivers di mana tadi diinstal atau mengekstraksi
perangkat lunak Arduino.
Jika instalasi driver otomatis gagal:

Klik pada Start Menu dan buka Control Panel. Di dalam Control Panel, masuk ke menu
System and Security. Kemudian klik pada System. Setelah tampilan System muncul, buka
Device Manager.

Lihat pada bagian Ports (COM & LPT). Anda akan melihat sebuah port terbuka dengan
nama "Arduino Uno (COMxx)" Klik kanan pada port "Arduino Uno (COMxx)" dan pilih opsi
"Update Driver Software". Kemudian, pilih opsi "Browse my computer for Driver software".

Ketika ditanya Can Windows connect to Windows Update to search for software? pilih
No, not this time. Klik next. Pilih Install from a list or specific location (Advanced) dan klik
next.

Pastikan bahwa Search for the best driver in these location dicentang; Seach removable
media jangan dicentang; Include this location in the search dicentang dan masuk ke direktori
drivers/FTDI USB Drivers pada folder software Arduino. (Versi terakhir dari driver ini dapat
ditemukan pada situs FTDI). Klik next.

Wizard akan mencari driver dan kemudian memberitahu bahwa sebuah "USB Serial
Converter" telah ditemukan. Klik finish. Jika wizard hardware baru akan muncul kembali,
ulangi langkah yang sama seperti sebelumnya dengan pilihan yang sama dan lokasi folder yang
sama. Kali ini sebuah " USB Port Serial" akan ditemukan.

Masuk dan pilih file driver di dalam folder "Drivers" pada Software Arduino yang telah
di-download tadi. Windows akan meneruskan instalasi driver.

Pilih jenis Dev Board Arduino

Arduino memiliki banyak varian. Mikrokontroler yang digunakan pun berbeda, oleh
karena itu perlu memilih jenis Arduino yang sesuai. Pilih opsi pada menu Tools > Board yang
sesuai dengan board Arduino yang dipakai.

Pilih serial port

Pilih port serial yang digunakan oleh board Arduino anda pada menu Tools > Serial
Port. Biasanya ini adalah COM3 atau yang lebih tinggi (COM1 dan COM2 biasanya sudah
direservasi untuk serial port hardware). Untuk mencari tahu, dapat melepaskan koneksi ke
board Arduino dan buka kembali menu tadi; pilihan yang menghilang harusnya adalah board
Arduino anda. Koneksikan kembali board-nya dan pilih serial port yang sesuai.
Berkenalan dengan Struktur Pemrograman Arduino

Bahasa pemrograman Arduino adalah bahasa C. Tetapi bahasa ini sudah dipermudah
menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa mempelajarinya dengan
cukup mudah. Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang
harus ada.

Buka contoh program pada menu File -> Example -> Basic -> BareMinimum

void setup() {

Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program
Arduino dijalankan untuk pertama kalinya.

void loop() { }

Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan
satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power)
dilepaskan.

Format Penulisan Bahasa C

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
//(komentar satu baris) dan /* */(komentar banyak baris)

Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode
yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan
dibelakangnya akan diabaikan oleh program.

Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai
komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.

{ } (kurung kurawal)

Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan
juga pada fungsi dan pengulangan).

; (titik koma)

Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang
hilang maka program tidak akan bisa dijalankan).

Variabel

program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan
dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.

int (integer) : Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai
angka desimal dan menyimpan nilai dari -32,768 dan 32,767.

long (long) : Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari
memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.

boolean (boolean) : Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar)
atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.

float (float) : Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari
RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.

char (character) : Menyimpan 1 karakter menggunakan kode ASCII (misalnya 'A' = 65).
Hanya memakai 1 byte (8 bit) dari RAM.

Operator Matematika

Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang
sederhana).

Yaitu: + (tambah), - (kurang), * (kali), / (bagi), % (sisa pembagian)


Operator Pembanding

Digunakan untuk membandingkan nilai logika.

== Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE


(benar))

!= Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE
(salah))

< Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah)) atau 12 < 14 adalah TRUE
(benar))

> Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 14 adalah FALSE (salah))

Struktur Pengaturan

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya,
berikut ini adalah elemen dasar:

if (kondisi) { }

else if (kondisi) { }

else {

Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam
kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah
kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.

for (int i = 0; i < batas; i++) { }

Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal
beberapa kali, ganti batas dengan jumlah pengulangan yang diinginkan. Melakukan
penghitungan ke atas dengan i++ atau ke bawah dengan i--

Manajemen Hardware

pinMode (pin, mode)

Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan
digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT
atau OUTPUT.
digitalWrite (pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH
(ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

digitalRead (pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini
untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW
(diturunkan menjadi ground).

analogWrite (pin, value)

Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5,
6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga
membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode
tersebut adalah angka antara 0 (0% duty cycle ~ OV) dan 255 (100% duty cycle ~ 5V).

analogRead (pin)

Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-
nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).
1.2 Blinking LED

Project ini saya menggunakan pin 4 pada Arduino UNO untuk menyalakan sebuah LED
Berkedip atau Blink LED, serta saya akan menjelaskan mulai dari hardware dan software
berserta cara kerjanya yang bermaksud membuat para pembaca dapat mengerti dengan apa
yang saya sampaikan dan saya kerjakan. Aamiin.

ALAT DAN BAHAN

1. 1 Buah LED 5mm atau LED 3mm


2. 1 Buah Resistor 220Ω Ohm
3. 2 Buah Kabel Jumper
4. 1 Buah Protoboard
5. 1 Buah Arduino

PROSEDUR PERCOBAAN

1. Rangkailah seperti dibawah ini:

2. Ketikkan kode program berikut pada sketch Arduino:

void setup(){
pinMode(7, OUTPUT);
}
void loop() {
digitalWrite(7, HIGH);
delay(1000);
digitalWrite(7, LOW);
delay(1000);
}
3. Upload sketch dengan klik Upload lalu tunggu hingga pada board arduino anda.
Setelah upload program selesai akan ada tulisan Done Uploading.
4. Dari percobaan diatas, simpulkan kemudian tuangkan dalam bentuk laporan
praktikum.

TUGAS

1. Buatlah satu program Blinking LED dengan kondisi berikut:


Pin 3, 4 dan 5 sebagai “ OUTPUT “ dengan delay berurut : 0,5 detik, 1 detik, dan 3
detik.
2. Jelaskan dengan Flowchart dari program Blinking LED yang anda buat!
3. Tuliskan Sketch Program Blinking LED yang anda buat!
4. Rekamlah hasil, lalu kumpulkan melalui SIPDA!
1.3 Interfacing Liquid Crystal Display 16x2 Dengan Metode I2C

LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang menggunakan
kristal cair sebagai penampil utama. LCD (Liquid Crystal Display) bisa menampilkan suatu
gambar/karakter dikarenakan terdapat banyak sekali titik cahaya (piksel) yang terdiri dari satu
buah kristal cair sebagai titik cahaya. Walau disebut sebagai titik cahaya, namun Kristal cair
ini tidak memancarkan cahaya sendiri. LCD 16x2 dapat menampilkan sebanyak 32 karakter
yang terdiri dari 2 baris dan tiap baris dapat menampilkan 16 karakter.

Pada LCD 16×2 pada umumnya menggunakan 16 pin sebagai kontrolnya, tentunya
akan sangat boros apabila menggunakan 16 pin tersebut. Karena itu, digunakan driver khusus
sehingga LCD dapat dikontrol dengan modul I2C atau Inter-Integrated Circuit. Dengan modul
I2C, maka LCD 16x2 hanya memerlukan dua pin untuk mengirimkan data dan dua pin untuk
pemasok tegangan. Sehingga hanya memerlukan empat pin yang perlu dihubungkan ke
NodeMCU yaitu :

• GND : Terhubung ke ground


• VCC : Terhubung dengan 5V
• SDA : Sebagai I2C data dan terhubung ke pin A4 (Arduino Uno)
• SCL : Sebagai I2C data dan terhubung ke pin A5 (Arduino Uno)

Berikut ada beberapa fungsi-fungsi dari library LCD :

1. begin() : Untuk begin() digunakan dalam inisialisasi interface ke LCD dan


mendefinisikan ukuran kolom dan baris LCD. Pemanggilan begin() harus
dilakukan terlebih dahulu sebelum memanggil instruksi lain dalam library LCD.
Untuk syntax penulisan instruksi begin() ialah sebagai berikut.
lcd.begin(cols,rows)
dengan lcd ialah nama variable, cols jumlah kolom LCD, dan rows jumlah baris
LCD.
2. clear() : Instruksi clear() digunakan untuk membersihkan pesan text. Sehingga
tidak ada tulisan yang ditapilkan pada LCD.

3. setCursor() : Instruksi ini digunakan untuk memposisikan cursor awal pesan


text di LCD. Penulisan syntax setCursor() ialah sebagai berikut.
lcd.setCursor(col,row)
dengan lcd ialah nama variable, col kolom LCD, dan row baris LCD.

4. print() : Sesuai dengan namanya, instruksi print() ini digunakan untuk


mencetak, menampilkan pesan text di LCD. Penulisan syntax print() ialah
sebagai berikut.
lcd.print(data)
dengan lcd ialah nama variable, data ialah pesan yang ingin ditampilkan

ALAT DAN BAHAN

1. 1 Buah LCD 2x16 I2C


2. Kabel Jumper Secukupnya
3. 1 Buah Arduino + kabel

PROSEDUR PERCOBAAN

1. Rangkailah seperti dibawah ini:


2. Bukalah arduino, pilih Sketch>include Library>LiquidCrystal_I2C

3. Ketikkan kode program berikut pada sketch Arduino:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

/*Atur alamat LCD menjadi 0x27 untuk 16 karakter dan 2 baris


display*/

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup(){
// initialize LCD
lcd.begin();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LABORATORIUM"); // teks pada “ “ dapat diubah
lcd.setCursor(0,1);
lcd.print("MICRO & DIGITAL"); //teks pada “ “ dapat diubah
}

void loop(){
}
4. Upload sketch dengan klik Upload lalu tunggu hingga lampu indikator RX dan TX
pada Board Arduino anda selesai berkedip. Setelah upload program selesai akan
ada tulisan Done Uploading.
5. Amatilah tampilan pada LCD.
6. Dari percobaan diatas, simpulkan kemudian tuangkan dalam bentuk laporan
praktikum.

TUGAS

1. Buatlah satu Blinking Text dengan tampilan seperti berikut:

“TUGAS PRAKTIKUM”

“KELOMPOK “

Delay 3 detik

“MICROCONTROLER”

“& MICROPROSESOR”

Delay 3 detik

2. Buatlah Flowchart dari program yang anda buat diatas!


3. Tuliskan sketch program yang anda buat!
4. Rekamlah hasil, lalu kumpulkan melalui SIPDA!

Anda mungkin juga menyukai