Anda di halaman 1dari 47

BUKU PETUNJUK PRAKTIKUM

MIKROKONTROLER

Nama: ..............................................
NIM : ..............................................

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK


UNIVERSITAS JEMBER
2017

i
HALAMAN PENGESAHAN

Buku Petunjuk Praktikum Mikrokontroler disusun sebagai perangkat


pembelajaran mata praktikum Mikrokontroler serta pegangan pelaksanaan praktikum
bagi mahasiswa praktikan maupun dosen pengampu di Laboratorium Elektronika
Terapan, Jurusan Teknik Elektro Universitas Jember.

Jember, 5 Februari 2018

Penyusun,

Alfredo Bayu Satriya, S.T., M.T.


NIP 198905192015041001

Mengetahui,
Dekan Fakultas Teknik Kepala Laboratorium
Universitas Jember Elektronika Terapan

Dr. Ir. Entin Hidayah, M.UM. Supriadi Prasetyono, S.T.,M.T..


NIP 196612151995032001 NIP 197004041996011001

ii
JADWAL PELAKSANAAN PRAKTIKUM

Pertemuan 1 Kontrak Kuliah


Pertemuan 2 Pengantar Mikrokontroler
Pertemuan 3 Sistem Minimum Mikroprosessor
PEMROGRAMAN MIKROKONTROLER DENGAN BAHASA ASSEMBLY
Pertemuan 4 Bab 1 Instruksi Transfer Data dan I/O dengan Assembly
Pertemuan 5 Bab 2 Operasi Aritmatika dan Logika dengan Assembly
Pertemuan 6 Asistensi Bab 1 dan Bab 2 + Quiz Bahasa Assembly
PEMROGRAMAN MIKROKONTROLER DENGAN BAHASA C
Pertemuan 7 Bab 3 I/O dengan CV AVR
Pertemuan 8 Bab 4 ADC dengan CV AVR
Pertemuan 9 Asistensi Bab 3 dan Bab 4 + Quiz Bahasa C
MIKROKONTROLER ARDUINO
Pertemuan 10 Bab 5 I/O Arduino
Pertemuan 11 Bab 6 ADC Arduino
Pertemuan 12 Bab 7 Sensor dan Aktuator Arduino
Pertemuan 13 Asistensi Bab 5-7 + Quiz Arduino
Pertemuan 14 TUGAS BESAR
UJIAN PRAKTIKUM

iii
SOP & TATA TERTIB PRAKTIKUM

A. PELAKSANAAN PRAKTIKUM
1. Dosen hadir pada pelaksanaan praktikum
2. Teknisi dan asisten laboratorium harap selalu mengecek jadwal dan menyiapkan alat
maupun bahan praktikum
3. Pelaksanaan praktikum harus mengacu pada SOP & Tata Tertib Praktikum,
penjadwalan serta buku petunjuk praktikum yang telah disepakati bersama
4. Laporan praktikum berbentuk jobsheet/ LKS dengan nama "Buku Petunjuk Praktikum
(BPP)"
5. Data praktikum yang berupa angka atapun huruf dapat ditulis pada BPP
6. Data praktikum yang berupa gambar dapat dicetak kemudian ditempel pada BPP
7. Praktikum dilaksanakan 14 kali pertemuan ditambah ujian praktikum dengan jadwal
sesuai SISTER
8. Satu kali kegiatan praktikum sama dengan satu SKS sama dengan 150 menit dengan
kapasitas 20 mahasiswa
9. Kegiatan praktikum terdiri dari beberapa percobaan dengan jenis kegiatan antara lain
Pre-Test, Pengambilan Data, Post-Test, dan Asistensi
10. Tidak ada kegiatan praktikum yang diperbolehkan diluar jadwal praktikum

B. ASISTEN LABORATORIUM
1. Asisten laboratorium diperbolehkan memandu jalannya praktikum namun tetap dalam
pengawasan dosen
2. Asisten laboratorium tidak diperkenankan memberi hukuman/ sanksi serta penilaian
3. Asisten laboratorium diperbolehkan melakukan pengecekan data-data hasil praktikum

C. MAHASISWA
1. Mahasiswa wajib memakai jas lab saat pelaksanaan kegiatan praktikum. Bagi
mahasiswa yang tidak menggunakan jas lab dilarang mengikuti kegiatan praktikum.
2. Toleransi keterlambatan 15 menit bagi mahasiswa, terlambat lebih dari itu mahasiswa
dilarang mengikuti kegiatan praktikum
3. Jika dalam suatu percobaan mahasiswa tidak mengikuti salah satu dari kegiatan
tersebut, maka tetap diperbolehkan mengikuti kegiatan lain.
4. Tidak ada susulan bagi mahasiswa yang melewatkan pre-test, pengambilan data
maupun post-test. Hal ini berkaitan dengan tidak diperbolehkannya kegiatan praktikum
diluar jadwal praktikum. Namun, dosen diperbolehkan (tidak wajib) memberikan tugas
pengganti/ tambahan kepada mahasiswa untuk mengganti kegiatan yang dilewatkan.
5. Sama seperti perkuliahan, mahasiswa diperbolehkan mengikuti ujian praktikum jika
memenuhi 75% kehadiran
6. Mahasiswa WAJIB mengikuti setiap instruksi dosen pengampu. Setiap tindakan
mahasiswa dalam laboratorium yang diluar instruksi atau tanpa seizin dosen pengampu
dapat disanksi nilai nol.

iv
DAFTAR ISI

HALAMAN SAMPUL ............................................................................................. i


HALAMAN PENGESAHAN ................................................................................... ii
JADWAL PELAKSANAAN PRAKTIKUM ........................................................... iii
SOP & TATA TERTIB PRAKTIKUM .................................................................... iv
DAFTAR ISI ............................................................................................................. v

BAB 1 Instruksi Transfer Data dan I/O dengan Assembly ................................... 1

BAB 2 Operasi Aritmatika dan Logika dengan Assembly ................................... 8

BAB 3 I/O dengan CV AVR ................................................................................. 14

BAB 4 ADC dengan CV AVR .............................................................................. 20

BAB 5 I/O Arduino................................................................................................ 25

BAB 6 ADC Arduino ............................................................................................ 33

BAB 7 Sensor dan Aktuator Arduino .................................................................... 38

v
Instruksi Transfer Data
1
dan I/O dengan Assembly

1.1 Tujuan Praktikum


Tujuan praktikum antara lain:
a. Memahami struktur bahasa assembly pada mikroelektronika
b. Memahami strukstur arsitektur dalam sebuah mikrokontroler/ mikroprosessor
c. Memahami struktur register dan transfer data dalam sebuah mikrokontroler/
mikroprosessor
d. Mampu mengaplikasikan bahasa assembly untuk melakukan transfer data pada
mikroelektronika
e. Mampu mengaplikasikan bahasa assembly untuk melakukan input output pada
mikroelektronika

1.2 Landasan Teori


Sebuah mikrokontroler memiliki arsitektur seperti ditunjukan oleh Gambar 1.1.
Bagian-bagianya antara lain ALU (Arithmetic and Logic Unit), RAM (Random Access
Memory), ROM (Read Only Memory), timer, Port input output, ADC (Analog to Digital
Converter), Serial Communication dan Register. ALU berfungsi sebagai komponen yang
melakukan operasi aritmatika dan logika. RAM berfungsi sebagai tempat penyimpanan
yang volatile (data akan hilang saat off). RAM tiap mikrokontroler berbeda-beda
bergantung pada tiap tipe RAM tersebut. alamat RAM umumnya memakai bilangan
heksadesimal. ROM berfungsi sebagai tempat penyimpanan yang nonvolatile. Hubungan
antar struktur melewati register. Terdapat beberapa jenis register. Dalam bagian ini terdapat
dua register yang akan dipelajari yaitu GPR (General Purpose Register) dan SFR (Specific
Function Register). GPR menghubungkan antara RAM dengan ALU dan I/O sedangkan
SFR menghubungkan antara ALU dengan ADC, timer dll.

1 Buku Petunjuk Praktikum


Mikrokontroler
Port I/O
Serial Com

RAM GPR SFR


ADC

ALU timer
ROM

Gambar 1.1 Arsitektur Mikrokontroler

Transfer data dalam mikrokontroler melibatkan register. Misalkan mikrokontroler


mengambil dua nilai dari port input dan menjumlahkannya kemudian menulisnya pada
RAM, kemudian memindahkannya ke port output, maka transfer data yang akan terjadi
adalah sebagai berikut.
a. Baca data pertama dari port input ke register (R00)
b. Baca data kedua dari port output ke register (R01)
c. ALU menjumlah kedua data
d. Hasil disimpan pada register 3 (R02)
e. Data pada register dipindah ke RAM
f. Data pada RAM pindah ke register 4 (R03)
g. Data pada register ditulis ke port output.

Instruksi transfer data dan I/O ditunjukkan pada Tabel 1.1. berikut

2 Buku Petunjuk Praktikum


Mikrokontroler
Tabel 1.1 Instruksi transfer data dan I/O pada mikrokontroler menggunakan Bahasa
Assembly
Contoh
No Instruksi Arti
Instruksi Arti
membaca data I/O port Baca data Pin B.2
1 IN IN R13,Pin B.2
ke dalam register ke Register R13
menulis data register Tulis data R14 ke
2 OUT OUT PortA,R14
ke I/O port port A
LDI
menulis konstanta ke Isi Register R09
3 (load LDI R09,0xFF
register dengan nilai 0xFF
immediate)
membuat logika high
SBI Port B 7 berlogika
4 pada sebuah bit I/O SBI PortB,7
(set bit in I/O) high
port
CBI membuat logika low
5 (clear bit in pada sebuah bit I/O CBI PortB,3 Port B 3 berlogika
low
I/O) port
SBIC lompati satu instruksi Lompati satu
instruksi jika Port
6 (skip if bit in jika bit I/O port dalam SBIC PortA,4
A, 4 berlogika
I/O is clear) kondisi clear/low low
SBIS lompati satu instruksi Lompati satu
7 (skip if bit in jika bit I/O port dalam SBIS Port A,4 instruksi jika Port
A, 4 berlogika
I/O is set) kondisi set/high high
Pindahkan data dari
8 LDS
RAM ke Register GPR
Pindahkan data dari
9 STS
Register GPR ke RAM
Pindahkan data dari
10 MOV
GPR ke GPR

1.3. Alat-alat dan Komponen


Alat yang diperlukan adalah komputer/ laptop dengan program Atmel Studio.

3 Buku Petunjuk Praktikum


Mikrokontroler
1.4 Prosedur Percobaan
a. Mintalah data untuk kolom yang diarsir yakni kolom "nilai" dan " transfer data "
dari tabel data kepada Asisten atau Dosen
b. Buatlah instruksi yang sesuai dengan nilai dan proses transfer data
c. Ketik pada assembler Atmel Studio
d. Cek kesalahan dengan melakukan runnning program
e. Ulangi hingga benar jika terdapat kesalahan
f. Catat kesalahan yang mungkin terjadi selama proses coding

1.5 Data Hasil Percobaan


Tabel 1.2 Data Hasil Percobaan
No Nilai Transfer Data Instruksi Kesalahan
Inputkan pada port A,
pindahkan ke RAM,
kemudian siapkan
pada register R04,
1 0b11011001 pindahkan ke Register
R09, pindahkan
kembali ke RAM,
kemudian taruh pada
port B sebagai output

4 Buku Petunjuk Praktikum


Mikrokontroler
4

10

5 Buku Petunjuk Praktikum


Mikrokontroler
1.6 Analisis Data dan Pembahasan

6 Buku Petunjuk Praktikum


Mikrokontroler
1.7 Kesimpulan

1.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

7 Buku Petunjuk Praktikum


Mikrokontroler
Operasi Aritmatika dan
2
Logika dengan Assembly

2.1 Tujuan Praktikum


Tujuan praktikum ini antara lain:
a. Memahami proses yang terjadi dalam lokasi memory, register dan ALU
b. Mengaplikasikan bahasa Assembly untuk melakukan operasi aritmatika dan logika
pada mikrokontroler

2.2 Landasan Teori


Sebuah data yang hendak diproses oleh ALU dalam mikrokontroler tidak dapat
diakses langsung pada RAM. Data harus melewati Register. Alamat register mikrokontroler
yang memiliki 16 bit register adalah R01 hingga R15, sedangakan RAM memiliki alamat
menggunakan heksadesimal. Misalkan RAM 32 bit maka alamatnya 00H hingga 1FH.
Ilustrasi proses operasi yang melibatkan ALU ditunjukkan oleh Gambar 2.1.

Gambar 2.1 Ilustrasi operasi dalam memory-ALU mikrokontroler (google)

Pada ALU mikrokontroler dapat dilakukan operasi logika dan operasi aritmatika.
Operasi aritmetika adalah operasi yang melibatkan beberapa operator aritmatika seperti
8 Buku Petunjuk Praktikum
Mikrokontroler
misalnya penjumlahan, pengurangan, perkalian dan pembagian untuk memproses 2 buah
nilai atau lebih. Operasi logika adalah proses yang melibatkan beberapa operator logika
seperti AND, OR, NOR, XOR dan operator logika lainnya yang menghasilkan nilai true
dan false atau menghasilkan nilai benar dan salah. Daftar instruksi operasi logika dan
aritmatika sebuah mikrokontroler ditunjukkan oleh Tabel 2.1 berikut.

Tabel 2.1 Daftar Instruksi Operasi Aritmatika dan Logika dengan Bahasa Assembly
Contoh
No Instruksi Arti
Instruksi Arti
1 ADD Menjumlah dua data ADD R01, R02 Jumlahkan data di R01
dan R02, simpan di R01
Menjumlah dua data Jumlahkan data di R02,
2 ADC ADC R02, R01 R01, dan bit carry,
dan bit carry
simpan di R02
Mengurangkan dua Kurangi data di R03
3 SUB SUB R03, R04 dengan R04, simpan di
data
R03
Kalikan data di R03
4 MUL Mengalikan dua data MUL R03, R04 dengan R04, simpan di
R03
Operasi logika AND
5 AND AND R05, R07
dua data
Operasi logika AND
ANDI R05,
6 ANDI sebuah data dengan
0b10000111
sebuah konstanta
Operasi logika OR
7 OR OR R06, R08
dua data
Operasi logika OR
8 ORI sebuah data dengan OR R07, 0xde
sebuah konstanta
Menjumlah dengan
9 INC INC R08
nilai satu
Mengurangkan
10 DEC DEC R09
dengan nilai satu
Menulis nilai nol
11 CLR CLR R10
pada register
Menulis nilai 0xFFh
12 SER SER R11
pada register

9 Buku Petunjuk Praktikum


Mikrokontroler
2.3 Alat-alat dan Komponen
Alat yang diperlukan adalah komputer/ laptop dengan program Atmel Studio.

2.4 Prosedur Percobaan


a. Mintalah data untuk kolom yang diarsir yakni kolom "proses data" dari tabel data
kepada Asisten atau Dosen
b. Buatlah instruksi yang sesuai dengan nilai dan proses transfer data
c. Ketik pada assembler Atmel Studio
d. Cek kesalahan dengan melakukan runnning program
e. Ulangi hingga benar jika terdapat kesalahan
f. Catat kesalahan yang mungkin terjadi selama proses coding

2.5 Data Hasil Percobaan


Tabel 2.2 Data Hasil Percobaan
No Proses Data Instruksi Kesalahan
Ambil nilai input dari pin
A.1 dan pin A.2 sebagai x
dan y.
1 Kemudian lakukan operasi
z = (x + 3*y) OR (2*x-y)
Taruh z sebagai output di
pin C.1

10 Buku Petunjuk Praktikum


Mikrokontroler
4

10

11 Buku Petunjuk Praktikum


Mikrokontroler
2.6 Analisis Data dan Pembahasan

12 Buku Petunjuk Praktikum


Mikrokontroler
2.7 Kesimpulan

2.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

13 Buku Petunjuk Praktikum


Mikrokontroler
3 I/O dengan CV AVR

3.1 Tujuan Praktikum


Tujuan praktikum ini antara lain:
a. Mengenal dasar-dasar CV AVR
b. Mengenal port-port pada ATMega
c. Memahami instruksi input, output pada mikrokontroler menggunakan CV/AVR
d. Memahami nilai biner dan heksadesimal dalam memberi input dan output bagi
mikrokontroler
e. Mampu mengaplikasikan Bahasa C untuk pemrograman mikrokontroler ATMega

3.2 Landasan Teori


CV (Code Vision) AVR adalah sebuah IDE (Integrated Development Environment)
yang menggunakan bahasa C sebagai bahasa coding-nya. CV AVR bertugas untuk
menghasilkan file .hex yang nantinya dapat diload ke dalam mikrokontroler. File tersebut
nantinya akan tersimpan dalam ROM dari mikrokontroler. Program .hex tersebut
mengandung data, instruksi dan alamat. Ketika mikrokontroler bekerja data dan instruksi
tersebut akan masuk ke dalam RAM untuk nantinya dieksekusi.
Mikrokontroller AVR memiliki arsitektur RISC 8 Bit, sehingga semua instruksi
dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam
satu siklus instruksi clock. Bandingkan dengan instruksi keluarga MCS-51 (arsitektur
CISC) yang membutuhkan siklus 12 clock. RISC adalah Reduced Instruction Set
Computing sedangkan CISC adalah Complex Instruction Set Computing. AVR
dikelompokkan kedalam 4 kelas, yaitu ATtiny, keluarga AT90Sxx, keluarga ATmega, dan
keluarga AT86RFxx. Dari kesemua kelas yang membedakan satu sama lain adalah ukuran
onboard memori, on-board peripheral dan fungsinya. Dipilih Atmega8535 karena populasi
yang banyak, sehingga ketersediaan komponen dan referensi penunjang lebih terjamin.

14 Buku Petunjuk Praktikum


Mikrokontroler
Sebuah mikrokontroler tidak dapat bekerja sendiri. Mikrokontroler memerlukan
komponen-komponen lain. Rangkaian pendukung mikrokontroler ini dinamakan Sistem
Minimum. Sistem Minimum mikrokontroler ditunjukkan oleh Gambar 3.1 berikut.

Gambar 3.1 Sistem Minimum ATMega 8535

3.3 Alat-alat dan Komponen


Alat yang diperlukan antara lain;
a. Laptop/ Komputer dengan CV/AVR dan Kazama compiler
b. Sistem Minimum Mikrokontroler ATMega
c. Downloader sistem minimum ATMega
d. AVOmeter

3.4 Prosedur Percobaan


a. Buka CV AVR
 pilih File -> New -> Project
 pilih chip dan clock yang sesuai

15 Buku Petunjuk Praktikum


Mikrokontroler
b. Atur port
 Port A dijadikan ADC
 Port B sebagai input
 Port C dan D sebagai output
c. Pada listing program atur nilai port C sesuai Tabel
d. Load, kemudian ukur tegangan luaran di tiap Pin C

3.5 Data Hasil Percobaan

Tabel 3.1 Data Hasil Percobaan


No Nilai PortC Tegangan di Pin
C
pin c.0
pin c.1
pin c.2
pin c.3
1 0xBC
pin c.4
pin c.5
pin c.6
pin c.7
pin c.0
pin c.1
pin c.2
pin c.3
2 0b10011101
pin c.4
pin c.5
pin c.6
pin c.7

16 Buku Petunjuk Praktikum


Mikrokontroler
pin c.0
pin c.1
pin c.2
pin c.3
3
pin c.4
pin c.5
pin c.6
pin c.7
pin c.0
pin c.1
pin c.2
pin c.3
4
pin c.4
pin c.5
pin c.6
pin c.7

17 Buku Petunjuk Praktikum


Mikrokontroler
3.6 Analisis Data dan Pembahasan

18 Buku Petunjuk Praktikum


Mikrokontroler
3.7 Kesimpulan

3.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

19 Buku Petunjuk Praktikum


Mikrokontroler
4 ADC dengan CV/AVR

4.1 Tujuan Praktikum


Tujuan praktikum antara lain:
a. Memahami fungsi ADC
b. Mampu memprogram ADC pada mikrokontroler dengan CV AVR

4.2 Landasan Teori


ADC (Analog to Digital Converter) adalah salah satu fasilitas mikrokontroller
ATMEGA8535 yang berfungsi untuk mengubah data analog menjadi data digital. ADC
memiliki 2 karakter prinsip, yaitu kecepatan samplingdanresolusi. Kecepatan sampling
suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal
digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample
per second (SPS).

Gambar 4.1 Ilustrasi proses ADC dengan berbagai sampling

Resolusi ADC menentukan ketelitiannilai hasil konversi ADC. Sebagai contoh:


ADC 8 bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan

20 Buku Petunjuk Praktikum


Mikrokontroler
dalam 255 (2n– 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti
sinyal input dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit akan
memberikan ketelitian nilai hasil konversiyang jauh lebih baik daripada ADC 8 bit. Prinsip
kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan
rasio perbandingan sinyal inputdan tegangan referensi. Sebagai contoh, bila tegangan
referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika
menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital
sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner). Rumus output
ADC adalah:

= × 255

4.3 Alat-alat dan Komponen


Alat yang diperlukan antara lain;
a. Laptop/ Komputer dengan CV/AVR dan Kazama compiler
b. Sistem Minimum Mikrokontroler ATMega
c. Downloader sistem minimum ATMega
d. AVOmeter
e. Power supply

4.4 Prosedur Percobaan


a. Buka CV AVR
 pilih File -> New -> Project
 pilih chip dan clock yang sesuai
b. Atur ADC 0 sebagai input kemudian port D sebagai output
c. Beri tegangan pada pin ADC 0 berdasarkan tabel data dan ukur tegangan luaran di tiap Pin
D

21 Buku Petunjuk Praktikum


Mikrokontroler
4.5 Data Hasil Percobaan
Tabel 4.1 Data Hasil Percobaan
Output ADC Output ADC
Tegangan di pin Tegangan di
No hasil hasil
ADC 0 Pin D
pengukuran perhitungan
pin d.0
pin d.1
pin d.2
pin d.3
1 2 volt
pin d.4
pin d.5
pin d.6
pin d.7
pin d.0
pin d.1
pin d.2
pin d.3
2 3 volt
pin d.4
pin d.5
pin d.6
pin d.7
pin d.0
pin d.1
pin d.2
pin d.3
3 5 volt
pin d.4
pin d.5
pin d.6
pin d.7

22 Buku Petunjuk Praktikum


Mikrokontroler
4.6 Analisis Data dan Pembahasan

23 Buku Petunjuk Praktikum


Mikrokontroler
4.7 Kesimpulan

4.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

24 Buku Petunjuk Praktikum


Mikrokontroler
5 I/O ARDUINO

5.1 Tujuan Praktikum


Tujuan praktikum ini antara lain:
a. Memahami fungsi input output.
b. Mampu membuat rangkaian dan memprogram arduino dengan fungsi input output.

5.2 Landasan Teori


1. Inisialisasi variabel
Struktur dasar dari bahasa pemrograman arduino itu sederhana hanya terdiri dari
dua bagian.

void setup( )
{
// Statement;
}

void loop( )
{
// Statement;
}

Dimana setup() bagian untuk inisialisasi yang hanya dijalankan sekali diawal program,
sedangkan loop() untuk mengeksekusi bagian program yang akan dijalankan berulang-
ulang untuk selamanya.
Fungsi setup() hanya di panggil satu kali ketika program pertama kali di jalankan. Ini
digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup()
harus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan.

25 Buku Petunjuk Praktikum


Mikrokontroler
void setup()
{
pinMode(13,OUTPUT); // mengeset ‘pin’ 13 sebagai output
}

Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi
loop() secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop().

void loop()
{
digitalWrite(13, HIGH); // nyalakan ‘pin’ 13
delay(1000); // pause selama 1 detik
digitalWrite(13, LOW); // matikan ‘pin’ 13
delay(1000); /// pause selama 1 detik
}
Variable adalah sebuah penyimpan nilai yang dapat di gunakan dalam program.
Variable dapat di rubah sesuai dengan instruksi yang kita buat. Ketika mendeklarisikan
variable harus di ikut sertakan type variable serta nilai awal variable.
Type variableName = 0;
Contoh

Int inputVariable = 0; // mendefinisikan sebuah variable bernama inputVariable dengan


nilai awal 0
inputVariable = analogRead(2); // menyimpan nilai yang ada di analog pin 2 ke
inputVariable

Sebuah variable dapat di deklarasikan pada awal program sebelum void setup(),
secara local di dalam sebuah function, dan terkadang di dalam sebuah block statement
pengulangan.Sebuah variable global hanya satu dan dapat di gunakan pada semua block
function dan statement di dalam program. Variable global di deklarasikan pada awal
program sebelum fungstion setup().Sebuah variable local di deklarasikan di setiap block
function atau di setiap block statement pengulangan dan hanya dapat di gunakan pada block
yang bersangkutan saja.

26 Buku Petunjuk Praktikum


Mikrokontroler
Function (fungsi) adalah blok pemrograman yang mempunyai nama dan
mempunyai statement yang akan di eksekusi ketika function di panggil. Fungsi void setup()
dan void loop() telah di bahas di atas dan pembuatan fungsi yang lain akan di bahas
selanjutnya.Cara pendeklarasian function dijelaskan sebagai berikut.
type functionName(parameters)
{
// Statement;
}
Contoh:

int delayVal()
{
int v; // membuat variable ‘v’ bertipe integer
v = analogRead(pot); // baca harga potentiometer
v /= 4; // konversi 0-1023 ke 0-255
return v; // return nilai v
}

Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena kalau tidak
menghendaki adanya nilai balik maka type function harus void.
a) { } curly braces
Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila ketika
memprogram dan progremer lupa memberi curly brace tutup maka ketika di compile
akan terdapat laporan error.
b) ; semicolon
Semicolon harus di berikan pada setiap statement program yang kita buat ini
merupakan pembatas setiap statement program yang di buat./*…*/ blok comment.
Semua statement yang di tulis dalam block comments tidak akan di eksekusi dan tidak
akan di compile sehingga tidak mempengaruhi besar program yang di buat untuk di
masukan dalam board arduino.
c) // line comment
Sama halnya dengan block comments, line coments pun sama hanya saja yang di
jadikan komen adalh perbaris.

27 Buku Petunjuk Praktikum


Mikrokontroler
2. pinMode()
Digunakan dalam void setup() untuk mengkonfigurasi pin apakah sebagai Input
atau Output. Arduino digital pins secara default di konfigurasi sebagai input sehingga untuk
merubahnya harus menggunakan operator pinMode(pin, mode).

pinMode (pin, OUTPUT); // mengset pin sebagai output


digitalWrite(pin, HIGH); // pin sebagai source voltagedigitalRead()

3. digitalWrite()
Digunakan untuk mengset pin digital. Pin digital arduino mempunyai 14 ( 0 – 13 ).
digitalWrite (pin, HIGH); // set pin to HIGH

4. digitalRead()
Membaca nilai dari pin yang kita kehendaki dengan hasil HIGH atau LOW.
Value = digitalRead(pin); // mengset ‘value’ sama dengan pin

5. delay()
Menghentikan program untuk sesaat sesuai dengan yang di kehendaki, satuanya
dalam millisecond.
Delay(1000); // menunggu selama satu detik

6. if()
If Operator if mengetes sebuah kondisi seperti nilai analog sudah berada di bawah
nilai yang kita kehendaki atau belum, apabila terpenuhi maka akan mengeksekusi baris
program yang ada dalam brackets kalau tidak terpenuhi maka akan mengabaikan baris
program yang ada dalam brackets.

If ( someVariable ?? value )
{
//DoSomething;
}

28 Buku Petunjuk Praktikum


Mikrokontroler
5.3. Alat-alat dan Komponen
Alat yang diperlukan antara lain laptop/ komputer dengan proteus dan software
arduino.

5.4 Prosedur Percobaan


1. Buatlah rangkaian sesuai dengan gambar rangkaian berikut.

ARDUINO
D2
R2
470R
LED-BLUE
D1
R1
AREF
13 470R
PB5/SCK LED-BLUE
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121

DIGITAL (~PWM)

7
ANALOG IN

PD7/AIN1
6
A0 ~ PD6/AIN0
PC0/ADC0 5
A1 ~ PD5/T1
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~ PD3/INT1
PC3/ADC3 2
A4 PD2/INT0
A5
PC4/ADC4/SDA
TX PD1/TXD
1 R4
PC5/ADC5/SCL 0 470R
RX PD0/RXD

ARDUINO UNO R3
R5
470R

2. Ketiklah program pada softwre arduino sesuai dengan program berikut,


int led1 = 8;
int led2 = 9;
int b1 = 2;
int b2 = 3;
int valueb1;
int valueb2;
void setup()
{
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(b1,INPUT);
pinMode(b2,INPUT);
}

29 Buku Petunjuk Praktikum


Mikrokontroler
void loop()
{
valueb1 = digitalRead(b1);
digitalWrite(led1,valueb1);
valueb2 = digitalRead(b2);
digitalWrite(led2,valueb2);
}
Simulasikan dan berilah analisis beserta kesimpulannya

5.5 Data Hasil Percobaan

30 Buku Petunjuk Praktikum


Mikrokontroler
5.6 Analisis Data dan Pembahasan

31 Buku Petunjuk Praktikum


Mikrokontroler
5.7 Kesimpulan

5.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

32 Buku Petunjuk Praktikum


Mikrokontroler
6 ADC ARDUINO

6.1 Tujuan Praktikum


Tujuan praktikum ini adalah mahasiswa mampu memprogram ADC pada arduino.

6.2 Landasan Teori


1. analogRead()
Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya dapat
bekerja pada analog pin (0-5). Hasil dari pembacaan berupa nilai integer dengan range 0
sampai 1023.

Value = analogRead(pin); // mengset ‘value’ sama dengan nilai analog pin

2. analogWrite()
mengirimkan nilai analog pada pin analog.

analogWrite(pin, value); // menulis ke pin analog

6.3. Alat-alat dan Komponen


Alat yang diperlukan antara lain laptop/ komputer dengan proteus dan software
arduino.

6.4 Prosedur Percobaan


a. Buatlah rangkaian sesuai dengan gambar rangkaian berikut.

33 Buku Petunjuk Praktikum


Mikrokontroler
POT
LM016L

VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
E
ARDUINO

1
2
3

4
5
6

7
8
9
10
11
12
13
14
AREF
13
PB5/SCK
12
PB4/MISO
RESET 11
~PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
RV1 PB0/ICP1/CLKO
8

ATMEGA328P-PU
1121

DIGITAL (~PWM)
7

ANALOG IN
PD7/AIN1
6
A0 ~ PD6/AIN0
0%

PC0/ADC0 5
A1
PC1/ADC1
~ PD5/T1
4 D1
A2
PC2/ADC2
PD4/T0/XCK R1
3
A3
PC3/ADC3
~ PD3/INT1
2 470R
1k A4 PD2/INT0
PC4/ADC4/SDA 1 LED-BLUE
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD

ARDUINO UNO R3

b. Ketiklah program sesuai dengan program berikut.


#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
int SensorPin1 = 0;
int ValueADC0 = 0;
int LED = 3;
void setup() {
lcd.begin(16, 2);
}
void loop() {
ValueADC0 = analogRead(SensorPin1);
analogWrite(LED,ValueADC0/4);
lcd.setCursor(0,0);
lcd.print("Nilai ADC0");
if(ValueADC0 >= 1000){
lcd.setCursor(0,1);
lcd.print(ValueADC0);
}
if(ValueADC0 <= 999 ){
lcd.setCursor(0,1);
lcd.print(ValueADC0);
lcd.setCursor(3,1);
34 Buku Petunjuk Praktikum
Mikrokontroler
lcd.print(" "); //1 spasi
}
if(ValueADC0 <= 99){
lcd.setCursor(0,1);
lcd.print(ValueADC0);
lcd.setCursor(2,1);
lcd.print(" ");//2 spasi
}
if(ValueADC0 <= 9){
lcd.setCursor(0,1);
lcd.print(ValueADC0);
lcd.setCursor(1,1);
lcd.print(" ");//3 spasi
}
}
c. Simulasikan dan berilah analisisnya.

6.5 Data Hasil Percobaan

35 Buku Petunjuk Praktikum


Mikrokontroler
6.6 Analisis Data dan Pembahasan

36 Buku Petunjuk Praktikum


Mikrokontroler
6.7 Kesimpulan

6.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

37 Buku Petunjuk Praktikum


Mikrokontroler
Sensor dan Aktuator
7
ARDUINO

7.1 Tujuan Praktikum


Tujuan praktikum ini antara lain:
a. Memahami cara koneksi arduino (interfacing) dengan komponen sensor dan aktuator
b. Mampu memprogram arduino untuk interfacing dengan sensor LM35
c. Mampu memprogram arduino untuk interfacing dengan motor DC

7.2 Landasan Teori


LM35 adalah komponen sensor suhu berukuran kecil seperti transistor (TO-92),
komponen yang sangat mudah digunakan ini mampu mengukur suhu hingga 100 derajad
celcius. Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk
mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu
LM35 yang dipakai dalam percobaan ini berupa komponen elektronika elektronika yang
diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan
kemudahan perancangan jikadibandingkan dengan sensor suhu yang lain, LM35 juga
mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat
dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan
penyetelan lanjutan. Dengan tegangan keluaran yang terskala linear dengan suhu terukur,
yakni 10 milivolt per 1 derajad celcius .
Dari gambar diatas dapat diketahui bahwa sensor suhu IC LM35 pada
dasarnya memiliki 3 pin diantaranya yaitu, pin 1 berfungsi sebagai sumber tegangan
kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau Vout
dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi

38 Buku Petunjuk Praktikum


Mikrokontroler
sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt. Keluaran sensor ini
akan naik sebesar 10 mV setiap derajad celcius.
7.3. Alat-alat dan Komponen
Alat yang diperlukan antara lain laptop/ komputer dengan proteus dan software
arduino.
7.4 Prosedur Percobaan
a. Buatlah rangkaian sesuai dengan gambar rangkaian berikut.

b. Ketiklah program sesuai dengan program berikut.


int sensor =A0;
int nilaisensor =0;
int kipas = 5;
void setup() {
Serial.begin(9600);
}
void loop() {
nilaisensor = analogRead(sensor);
nilaisensor = nilaisensor*0.488 ;//konversi ke celcius
39 Buku Petunjuk Praktikum
Mikrokontroler
Serial.println(nilaisensor);
delay(500);
if(nilaisensor > 27) {
digitalWrite(kipas, HIGH);
}
else {
digitalWrite(kipas, LOW);
}

c. Simulasikan dan berilah analisisnya.

7.5 Data Hasil Percobaan

40 Buku Petunjuk Praktikum


Mikrokontroler
7.6 Analisis Data dan Pembahasan

41 Buku Petunjuk Praktikum


Mikrokontroler
7.7 Kesimpulan

7.8 Lembar Evaluasi


No Kegiatan Keterangan Nilai TTD/tanggal

1 Pre-Test

Pengambilan
2
Data

3 Asistensi

4 Post-Test

42 Buku Petunjuk Praktikum


Mikrokontroler

Anda mungkin juga menyukai