Anda di halaman 1dari 64

MAKALAH

ELEKTRONIKA DIGITAL

“MIKROKONTROLER”

OLEH :
ALWI RIZAL
32119054
KELAS 1C

PROGRAM STUDI DIII TEKNIK LISTRIK


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
TAHUN AJARAN 2020/2021

1
KATA PENGANTAR

Alhamdulillah segala puji dan syukur penulis ucapkan kehadirat Tuhan


Yang Maha Esa karena atas rahmat-Nya sehingga penulis dapat menyusun
makalah tentang Mikrokontroler. Penulis menyadari dalam penulisan makalah ini
masih banyak terdapat kekurangan dan kesalahan. Akan tetapi sebagai manusia
biasa, penulis tidak luput dari kesalahan dan kekeliruan.
Penulis juga menyadari bahwa tanpa adanya dukungan dan bantuan dari
berbagai pihak, makalah ini tidak dapat diselesaikan. Untuk itu pada kesempatan
ini penulis menyampaikan terima kasih pada semua pihak yang telah membantu
sehingga makalah ini dapat diselesaikan.

Makassar, 18 Juli 2020

Alwi Rizal

ii
DAFTAR ISI

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

KATA PENGANTAR...................................................................................... ii

DAFTAR ISI..................................................................................................... iii

DAFTAR GAMBAR........................................................................................ iv

DAFTAR TABEL............................................................................................. vi

BAB 1 PENDAHULUAN................................................................................. 1

1.1 Latar Belakang................................................................................. 1


1.2 Rumusan Masalah............................................................................ 2
1.3 Tujuan Penulisan.............................................................................. 2

BAB II PEMBAHASAN................................................................................... 3

2.1 Sejarah Mikrokontroler…………………….................................... 3

2.2 Pengertian Mikrokontroler…………............................................... 6

2.3 Jenis-Jenis dan Macam-Macam Mikrokontroler............................. 8

2.4 Mikrokontroler Arduino UNO…………………………………… 32

2.5 Pengaplikasian Arduino UNO…….………………………..……. 42

BAB III PENUTUP.......................................................................................... 54

3.1 Kesimpulan..................................................................................... 54

DAFTAR PUSTAKA....................................................................................... 55

iii
DAFTAR GAMBAR

Gambar 2.1 Chip Mikrokontroler........................................................................... 8

Gambar 2.2 Mikrokontroler AVR......................................................................... 10

Gambar 2.3 Blok Diagram Mikrokontroler AVR ................................................ 13

Gambar 2.4 Mikrokontroler AVR ATtiny 2313................................................... 14

Gambar 2.5 Susunan Kaki Mikrokontroler AVR ATmega 8535......................... 14

Gambar 2.6 Mikrokontroler AVR ATmega 8535................................................. 16

Gambar 2.7 Susunan KakiMikrokontroler AVR ATmega 8535.......................... 17

Gambar 2.8 Mikrokontroler MSC-51…............................................................... 18

Gambar 2.9 Diagram Blok Mikrokontroler MSC51 Atmel……………….......... 20

Gambar 2.10 Susunan Kaki Mikrokontroler MSC51 Atmel ............................... 21

Gambar 2.11 Mikrokontroler PIC........................................................................ 23

Gambar 2.12 Blok Diagram Mikrokontroler PIC 16F84..................................... 25

Gambar 2.13 Susunan Kaki Mikrokontroler PIC 16F84...................................... 27

Gambar 2.14 Mikrokontroler ARM ……………................................................ 28

Gambar 2.15 Diagram Blok Mikrokontroler ARM.............................................. 29

Gambar 2.16 Susunan Kaki Mikrokontroler ARM .............................................. 30

Gambar 2.17 Arduino UNO R3 ATmega328…………………………………... 33

Gambar 2.18 Power Supply Arduino Port ……………………………………... 35

Gambar 2.19 Arduino IDE ……………………………………………………... 41

Gambar 2.20 Rangkaian menyalakan LED menggunakan Arduino UNO……... 42

iv
Gambar 2.21 Hasil Rangkaian menyalakan LED menggunakan Arduino UNO.. 43

Gambar 2.22 Rangkaian LED berjalan Menggunakan Arduino UNO................. 44

Gambar 2.23 Hasil Rangkaian LED berjalan Menggunakan Arduino UNO…… 46

Gambar 2.24 Rangkaian Motor menggunakan Arduino UNO…………………. 47

Gambar 2.25 Hasil Rangkaian Motor menggunakan Arduino UNO…………… 48

Gambar 2.26 Rangkaian Smart Home………………………………………….. 50

Gambar 2.27 Rangkaian Sensor PIR…………………………………………… 50

Gambar 2.28 Rangkaian Servo SG90…………………………………………... 50

Gambar 2.29 Rangkaian DHT11……………………………………………….. 51

Gambar 2.30 Rangkaian Selonoid Doorlock…………………………………… 51

Gambar 2.31 Rangkaian Lampu AC……………………………………………. 51

v
DAFTAR TABEL

Tabel 2.1 Perbandingan seri Mikrokontroler AVR.............................................. 11

Tabel 2.2 Perbandingan antar Mikrokontroler MCS51 Atmel……………….… 19

Tabel 2.3 Fungsi Khusus Port 3 Mikrokontroler ARM………………………… 31

Tabel 2.4 Indentitas Arduino UNO....................................................................... 34

vi
BAB I

PENDAHULUAN

1.1 Latar Belakang

Mikrokontroler adalah sebuah mikroprosesor lengkap yang terkandung di dalam


sebuah chip yang mempunyai masukan dan keluaran
pendali dengan program yang bisa ditulis dan dihapus dengan cara yang khusus.
Cara kerja mikrokontroler sebenarnya hanya membaca dan menulis
data. Sebagai  contoh,  bayangkan  diri  kita  saat  mulai  belajar  membaca  dan
menulis, ketika  kita  sudah  bisa  melakukan  hal  itu maka kita dapat
membaca tulisan  apapun  baik  buku
cerpen,  artikel  dan  sebagainya,  dan  kita juga dapat menulis hal-hal sebaliknya.
Apabila kita sudah mahir membaca dan menulis data maka  kita  dapat  membuat  pro
gram  untuk  membuat  suatu  sistem  pengaturan
otomatis menggunakan mikrokontroler sesuai keinginan kita.
Mikrokontroler berbeda  dari  mikroprosesor serba guna  yang digunakan  di
dalam sebuah PC, karena sebuah  mikrokontroler umumnya   telah   berisi komponen-
komponen pendukung, seperti : prosesor, memori, dan I/O. Namun,
secara analogi  mikrokontroler merupakan
komputer didalam chip yang digunakan untuk  mengontrol peralatan  elektronik,
yang  ditekankan  untuk efisiensi dan
efektifitas biaya. Secara harfiahnya juga dapat disebut "pengendali kecil" dimana
Sebuah sistem elektronik  yang  sebelumnya  banyak  memerlukan  komponen-
komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan
akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.
Dengan penggunaan mikrokontroler ini maka :

1
1. Sistem elektronik akan menjadi lebih ringkas.
2. Tingkat keamanan dan akurasi yang lebih baik.
3. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar
    dari sistem adalah perangkat lunak yang mudah dimodifikasi.
4. Kemudahan dalam penggunaannya untuk sistem yang berbasis
    mikrokontroler.
5. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak.
Namun   demikian,   tidak   sepenuhnya mikrokontroler dapat mereduksi
komponen ICTTL dan CMOS karena seringkali masih diperlukan untuk aplikasi
kecepatan tinggi  atau  menambah  jumlah  saluran masukan  dan  keluaran  (I/O).
Beberapa periperal yang langsung dapat dimanfaatkan, misalnya port paralel, port
serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital
dan  sebagainya  hanya  menggunakan  sistem  minimum yang  tidak  rumit  atau
kompleks.
1.2 Rumusan Masalah
a. Bagaimana Sejarah mikrokontroler?
b. Apa yang maksud dengan Mikrokontroler?
c. Apa jenis-jenis dan macam-macam mikrokontroler?
d. Apa itu mikrokontroler Arduino Uno?
e. Apa saja Pengaplikasian dari Arduino Uno?
1.3 Tujuan Penulisan
Penulisan makalah ini untuk melengkapi tugas dari mata kuliah Elektronika
digital sesmster 2 (Dua) jurusan Elektro prodi DIII Teknik Listrik.

2
BAB II
PEMBAHASAN
2.1 SEJARAH MIKROKONTROLER
Mikrokontroller adalah sebuah sistem komputer fungsional dalam sebuah
chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM,
memori program, atau keduanya), dan perlengkapan input output.

Dengan kata lain, mikrokontroller adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis
dan dihapus dengan cara khusus, cara kerja mikrokontroller sebenarnya adalah
membaca dan menulis data. Mikrokontroller merupakan komputer didalam chip yang
digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan
efektifitas biaya. Secara harfiah bisa disebut “pengendali kecil” dimana sebuah sistem
elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung
seperti IC TTL dan CMOS dapat direduksi atau diperkecil dan akhirnya terpusat serta
dikendalikan oleh mikrokontroller ini. Mikrokontroller digunakan dalam produk dan
alat yang dikendalikan secara otomatis, seperti sistem kontrol mesin, remote control,
mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi
ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan
mikroprosesor memori, dan alat input output yang terpisah, kehadiran
mikrokontroller membuat kontrol elektrik untuk berbagai proses menjadi lebih
ekonomis. Dengan penggunaan mikrokontroller ini maka :

1. Sistem elektronik akan menjadi lebih ringkas.

2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari

sistem adalah perangkat lunak yang mudah dimodifikasi.

3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak.

3
Namun demikian tidak sepenuhnya mikrokontroller bisa mereduksi
komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi
kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran 6
(I/O). Dengan kata lain, mikrokontroller adalah versi kecil atau mikro dari sebuah
komputer karena mikrokontroller sudah mengandung beberapa periferal yang
langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi
digital ke analog (DAC), konversi analog ke digital (ADC) dan sebagainya hanya
menggunakan sistem minimum yang tidak rumit atau kompleks.

Agar sebuah mikrokontroller dapat berfungsi, maka mikrokontroller tersebut


memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum.
Untuk membuat sistem minimum, minimal paling tidak dibutuhkan sistem clock dan
reset, walaupun pada beberapa mikrokontroller sudah menyediakan sistem clock
internal, sehingga tanpa rangkaian eksternal pun mikrokontroller sudah dapat
beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroller, kita memerlukan


perangkat keras dan perangkat lunak, yaitu :

1. Sistem minimum mikrokontroller.

2. Software pemrograman dan kompiler, serta downloader.

Yang dimaksud dengan sistem minimum adalah sebuah rangkaian


mikrokontroller yang sudah dapat digunakan untuk menjalankan sebuah aplikasi.
Sebuah IC mikrokontroller tidak akan berarti bila hanya berdiri sendiri. Pada
dasarnya sebuah sistem minimum mikrokontroller memiliki prinsip yang sama, yang
terdiri dari 4 bagian, yaitu :

1. Prosesor, yaitu mikrokontroller itu sendiri.

2. Rangkaian reset agar mikrokontroller dapat menjalankan program mulai dari awal.

4
3. Rangkaian clock, yang digunakan untuk memberi detak atau pulsa pada CPU.

4. Rangkaian catu daya, yang digunakan untuk memberi sumber daya.

Pada mikrokontroller jenis-jenis tertentu seperti AVR, poin kedua pada no 2


dan 3 sudah tersedia didalam mikrokontroller tersebut dengan frekuensi yang sudah
diatur dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz), sehingga tidak
diperlukan rangkaian tambahan, namun bila ingin merancang sistem dengan
spesifikasi tertentu (misal ingin komunikasi dengan PC atau handphone), maka harus
menggunakan rangkaian clock yang sesuai dengan karakteristik PC atau HP 7
tersebut, biasanya menggunakan kristal 11,0592 MHz, untuk menghasilkan
komunikasi yang sesuai dengan baud rate PC atau HP tersebut.

Mikrokontroller pertama kali dikenalkan oleh Texas Instrument dengan seri


TMS 1000 pada tahun 1974 yang merupakan mikrokontroller 4 bit pertama.
Mikrokontroller ini mulai dibuat sejak 1971, merupakan mikro komputer dalam
sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel
mengeluarkan mikrokontroller yang menjadi populer dengan nama 8748 yang
merupakan mikrokontroller 8 bit, yang merupakan mikrokontroller dari keluarga
MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroller mulai dari 8 bit
sampai dengan 64 bit, sehingga perbedaan antara mikrokontroller dan mikroprosesor
sangat tipis. Masing-masing vendor mengeluarkan mikrokontroller dengan dilengkapi
fasilitas-fasilitas yang cenderung memudahkan pengguna untuk merancang sebuah
sistem dengan komponen luar yang relatif lebih sedikit.

Saat ini mikrokontroller yang banyak beredar dipasaran adalah


mikrokontroller 8 bit varian keluarga MCS51 (CISC) yang dikeluarkan oleh Atmel
dengan seri AT89Sxx, dan mikrokontroller AVR yang merupakan mikrokontroller
RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroller AVR
sangatlah banyak, dengan masing-masing memiliki fitur yang berbeda-beda). Dengan
mikrokontroller tersebut pengguna (pemula) sudah bisa membuat sebuah sistem

5
untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh
yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan
ponsel, membuat jam digital, termometer digital dan sebagainya

2.2 PENGERTIAN MIKROKONTROLER

Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat


menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan
program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal dari sensor
yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan kepada
aktuator yang dapat memberikan efek ke lingkungan. Jadi secara sederhana
mikrokontroler dapat diibaratkan sebagai otak dari suatu perangkat/produk yang
mempu berinteraksi dengan lingkungan sekitarnya.

Mikrokontroler pada dasarnya adalah komputer dalam satu chip, yang di


dalamnya terdapat mikroprosesor, memori, jalur Input/Output (I/O) dan perangkat
pelengkap lainnya. Kecepatan pengolahan data pada mikrokontroler lebih rendah jika
dibandingkan dengan PC. Pada PC kecepatan mikroprosesor yang digunakan saat ini
telah mencapai orde GHz, sedangkan kecepatan operasi mikrokontroler pada
umumnya berkisar antara 1 – 16 MHz. Begitu juga kapasitas RAM dan ROM pada
PC yang bisa mencapai orde Gbyte, dibandingkan dengan mikrokontroler yang hanya
berkisar pada orde byte/Kbyte.

Meskipun kecepatan pengolahan data dan kapasitas memori pada


mikrokontroler jauh lebih kecil jika dibandingkan dengan komputer personal, namun
kemampuan mikrokontroler sudah cukup untuk dapat digunakan pada banyak aplikasi
terutama karena ukurannya yang kompak. Mikrokontroler sering digunakan pada
sistem yang tidak terlalu kompleks dan tidak memerlukan kemampuan komputasi
yang tinggi.

Sistem yang menggunakan mikrokontroler sering disebut sebagai embedded


system atau dedicated system. Embeded system adalah sistem pengendali yang

6
tertanam pada suatu produk, sedangkan dedicated system adalah sistem pengendali
yang dimaksudkan hanya untuk suatu fungsi tertentu. Sebagai contoh, printer adalah
suatu embedded system karena di dalamnya terdapat mikrokontroler sebagai
pengendali dan juga dedicated system karena fungsi pengendali tersebut berfungsi
hanya untuk menerima data dan mencetaknya. Hal ini berbeda dengan suatu PC yang
dapat digunakan untuk berbagai macam keperluan, sehingga mikroprosesor pada PC
sering disebut sebagai general purpose microprocessor (mikroprosesor serba guna).
Pada PC berbagai macam software yang disimpan pada media penyimpanan dapat
dijalankan, tidak seperti mikrokontroler hanya terdapat satu software aplikasi.

Penggunaan mikrokontroler antara lain terdapat pada bidang-bidang berikut ini.

1. Otomotif : Engine Control Unit, Air Bag, fuel control, Antilock Braking System,
sistem pengaman alarm, transmisi automatik, hiburan, pengkondisi udara,
speedometer dan odometer, navigasi, suspensi aktif.

2. perlengkapan rumah tangga dan perkantoran : sistem pengaman alarm, remote


control, mesin cuci, microwave, pengkondisi udara, timbangan digital, mesin foto
kopi, printer, mouse.

3. pengendali peralatan di industri.

4. robotika.

Saat ini mikrokontroler 8 bit masih menjadi jenis mikrokontroler yang paling
populer dan paling banyak digunakan. Maksud dari mikrokontroler 8 bit adalah data
yang dapat diproses dalam satu waktu adalah 8 bit, jika data yang diproses lebih besar
dari 8 bit maka akan dibagi menjadi beberapa bagian data yang masing-masing terdiri
dari 8 bit. Masing-masing mikrokontroler mempunyai cara dan bahasa pemrograman
yang berbeda, sehingga program untuk suatu jenis mikrokontroler tidak dapat
dijalankan pada jenis mikrokontroler lain. Untuk memilih jenis mikrokontroler yang
cocok dengan aplikasi yang dibuat terdapat tiga kriteria yaitu:

7
1. Dapat memenuhi kebutuhan secara efektif & efisien. Hal ini menyangkut
kecepatan, kemasan/packaging, konsumsi daya, jumlah RAM dan ROM,
jumlah I/O dan timer, harga per unit.
2. Bahasa pemograman yang tersedia.
3. Kemudahan dalam mendapatkannya.

Gambar 2.1 Chip Mikrokontroler

2.3 JENIS-JENIS DAN MACAM-MACAM MIKROKONTROLER

Secara teknis, mikrokokontroler hanya terdapat 2 macam. Pembagian ini


didasarkan pada kompleksitas intruksi-instruksi yang dapat diterapkan pada
mikrokontroler tersebut. Pembagian itu, yaitu RISC dan CISC serta masing-masing
mempunyai keturunan atau keluarga sendiri-sendiri.

RISC (Reduced Instruction Set Computer) adalah komputer yang


menggunakan unit pemrosesan pusat (CPU) yang mengimplementasikan prinsip
desain prosesor dari instruksi yang disederhanakan. Hingga saat ini, RISC adalah
teknologi arsitektur CPU yang paling efisien.

Mengacu pada pengertian RISD di atas, selain peningkatan kinerja, beberapa


manfaat RISC (Reduced Instruction Set Computer) dan peningkatan desain terkait
adalah:

8
 Mikroprosesor baru dapat dikembangkan dan diuji lebih cepat jika salah
satu tujuannya kurang rumit.
 Sistem operasi dan pemrogram aplikasi yang menggunakan instruksi
mikroprosesor akan merasa lebih mudah untuk mengembangkan kode
dengan set instruksi yang lebih kecil.
 Kesederhanaan RISC memungkinkan lebih banyak kebebasan untuk
memilih bagaimana menggunakan ruang pada mikroprosesor.
 Kompiler bahasa tingkat yang lebih tinggi menghasilkan kode yang lebih
efisien daripada sebelumnya karena mereka selalu cenderung
menggunakan set instruksi yang lebih kecil yang dapat ditemukan di
komputer RISC.
 Setelah pengenalan RISC, komputer instruksi “set lengkap” dikatakan
menggunakan CISC (Complex Instruction Set Computing) atau
“komputasi set instruksi kompleks”.
Complex instruction-set computing atau Complex Instruction-Set
Computer (CISC) “Kumpulan instruksi komputasi kompleks”) adalah
sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan
beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi
aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam
sebuah instruksi.
Dimana prosesor tersebut memiliki set instruksi yang kompleks dan lengkap.
CISC sendiri adalah salah satu bentuk arsitektur yang menjalani beberapa instruksi
dengan tingkat yang rendah. Misalnya intruksi tingakt rendah tersebut adalah operasi
aritmetika, penyimpanan-pengambilan dari memory dll. CISC memang memiliki
instruksi yang complex dan memang dirasa berpengaruh pada kinerjanya yang lebih
lambat. CISC menawarkan set intruksi yang powerful, kuat, tangguh, maka tak heran
jika CISC memang hanya mengenal bahasa asembly yang sebenarnya ia tujukan bagi
para programmer.
Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup
dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan
cara membuat perangkat keras prosesor mampu memahami dan menjalankan
beberapa rangkaian operasi.

9
Ciri-ciri CISC
1.  Jumlah instruksi banyak namun Instruksi berukuran tunggal, ukuran yang
umum adalah 4 byte. Jumlah mode pengalamatan data yang sedikit,
biasanya kurang dari lima buah;
2. Banyak terdapat perintah bahasa mesin;
3. Instruksi lebih kompleks;
4. Tidak terdapat pengalamatan tak langsung;
5. Tidak terdapat operasi yang menggabungkan operasi load/store dengan
operasiaritmetika (misalnya, penambahan dari memori, penambahan ke
memori).

Karakteristik CISC
ü  Sarat informasi memberikan keuntungan di mana ukuran program-program
yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory
akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada
saat itu (tahun 1960) menjadi jauh lebih hemat
ü  Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan
untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi
rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa
rakitan

1. Mikrokontroler AVR

10
Gambar 2.2 Mikrokontroler AVR

Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat


AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar
kode instruksinya dikemas dalam satu siklus clock

Mikrokontroler AVR merupakan salah satu jenis arsitektur mikrokontroler


yang menjadi andalan Atmel. Arsitektur ini dirancang memiliki berbagai kelebihan
dan merupakan penyempurnaan dari arsitektur mikrokontroler-mikrokontroler
yang sudah ada.

ADC
Flash RAM EEPROM Pin Timer Timer
Seri UART PW M 10- SPI ISP
(kbytes) (bytes) (kybtes) I/O 16-bit 8-bit
Bit
ATMega8 8 1024 0,5 23 1 1 1 3 6/8 1 Ya
ATmega8535 8 512 0,5 32 2 2 1 4 8 1 Ya
ATmega16 16 1024 0,5 32 1 2 1 4 8 1 Ya
ATmega162 16 1024 0,5 35 2 2 2 6 8 1 Ya
ATmega32 32 2048 1 32 1 2 1 4 8 1 Ya
ATmega128 128 4096 4 53 2 2 2 8 8 1 Ya
ATtiny12 1 - 0,0625 6 - 1 - - - - Ya
ATtiny2313 2 128 0,125 18 1 1 1 4 - 1 Ya
ATtiny44 4 256 0,25 12 1 1 - 4 8 1 Ya
ATtiny84 8 512 0,5 12 1 1 - 4 8 1 Ya
Berbagai seri mikrokontroler AVR telah diproduksi oleh Atmel dan
digunakan di dunia sebagai mikrokontroler yang bersifat low cost dan high
performance. Di Indonesia, mikrokontroler AVR banyak dipakai karena fiturnya
yang cukup lengkap, mudah untuk didapatkan, dan harganya yang relatif
terjangkau.

A. Varian Mikrokontroler AVR


Antar seri mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun
kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif
tidak berbeda. Tabel dibawah ini membandingkan beberapa seri mikrokontroler
AVR buatan Atmel

Tabel 2.1 Perbandingan seri Mikrokontroler AVR

11
 Flashadalah suatu jenis Read Only Memory yang biasanya diisi dengan
program hasil buatan manusia yang harus dijalankan oleh mikrokontroler
 RAM (Random Acces Memory) merupakan memori yang membantu CPU
untuk penyimpanan data sementara dan pengolahan data ketika program
sedang running
 EEPROM (Electrically Erasable Programmable Read Only Memory) adalah
memori untuk penyimpanan data secara permanen oleh program yang
sedang running
 Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil
keluaran ataupun masukan bagi program
 Timer adalah modul dalam hardware yang bekerja untuk menghitung
waktu/pulsa
 UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi
data khusus secara serial asynchronous
 PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi
pulsa
 ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima
sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu
nilai digital dalam range tertentu
 SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara
serial secara serial synchronous
 ISP (In System Programming) adalah kemampuan khusus mikrokontroler
untuk dapat diprogram langsung dalam sistem rangkaiannya dengan
membutuhkan jumlah pin yang minimal
B. Arsitektur Mikrokontroler AVR
Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang
memisahkan memori dan bus untuk data dan program, serta sudah menerapkan
single level pipelining. Selain itu mikrokontroler AVR juga mengimplementasikan

12
RISC (Reduced Instruction Set Computing) sehingga eksekusi instruksi dapat
berlangsung sangat cepat dan efisien. Blok sistem mikrokontroler AVR dapat

dilihat dalam Gambar 2.3.

Gambar 2.3 Blok Diagram Mikrokontroler AVR


Salah satu seri mikrokontroler AVR yang banyak menjadi andalan saat ini
adalah tipe ATtiny2313 dan ATmega8535. Seri ATtiny2313 banyak digunakan

13
untuk sistem yang relatif sederhana dan berukuran kecil. Berikut adalah feature-
feature mikrokontroler seri ATtiny2313.

 Kapasitas memori Flash 2 Kbytes untuk program


 Kapasitas memori EEPROM 128 bytes untuk data
 Maksimal 18 pin I/O
 8 interrupt
 8-bit timer
 Analog komparator
 On-chip oscillator
 Fasilitas In System Programming (ISP)

Gambar 2.4 Mikrokontroler AVR ATtiny 2313

Gambar 2.5 Susunan Kaki Mikrokontroler AVR ATtiny 2313


Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada
pada Mikrokontroler AVR ATtiny 2313

14
a. VCC 
Tegangan masukan digital sebesar 5 Volt.
b. GND 
Dihubungkan pada Ground. Referensi nol suplai tegangan digital.
c. PORT A (PA0…PA2) 

Pada PORT A hanya terdapat tiga(3) buah pin saja atau 3 bit pin I/O. Dimana
PORT A ini, ketiga pin nya(seluruh pin PORT A) digunakan untuk keperluan
membuat sismin. Yaitu PA.0 dan PA.1 untuk input clock (nama komponen
adalah kristal), dan PA.2 untuk input tombol RESET.

d. PORT B (PB0…PB7)

Pada PORT B terdapat delapan(8) buah pin atau 8 bit pin I/O. Dan juga pada
PORT B ini terdapat port SPI(Serial Peripheral Interface), yaitu pin
komunikasi untuk men-download program secara serial syncronous dari
komputer ke mikrokontroller, pin-pin tersebut adalah MOSI(PORTB.5),
MISO(PORTB.6), SCK(PORTB.7).

e. PORT D (PD0…PD6) 

Pada PORT D terdapat delapan(7) buah pin atau 7 bit pin I/O.

f. RESET 

Reset berfungsi untuk menyusun ulang routing program dari awal. Biasanya
RESET bersifat Active Low, yaitu aktif saat logika bernilai nol “0”. Sinyal
LOW pada pin ini dengan lebar minimum 1,5 mikrodetik akan membawa
mikrokontroler ke kondisi Reset, meskipun clock tidak running. Sinyal
dengan lebar kurang dari 1,5 mikrodetik tidak menjamin terjadinya kondisi
Reset.

15
g. XTAL 1 
XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal
clock operating circuit.

h. XTAL 2 

XTAL2 adalah output dari inverting oscillator amplifier.

Sedangkan ATmega8535 banyak digunakan untuk sistem yang kompleks,


memiliki input sinyal analog, dan membutuhkan memori yang relatif lebih besar.
Berikut adalah feature-feature mikrokontroler seri ATmega8535.

 Memori Flash 8 Kbytes untuk program


 Memori EEPROM 512 bytes untuk data
 Memori SRAM 512 bytes untuk data
 Maksimal 32 pin I/O
 20 interrupt
 Satu 16-bit timer dan dua 8-bit timer
 8 channel ADC 10 bit
 Komunikasi serial melalui SPI dan USART
 Analog komparator
 4 I/O PWM
 Fasilitas In System Programming (ISP)

16
Gambar 2.6 Mikrokontroler AVR ATmega 8535

Gambar 2.7 Susunan kaki Mikrokontroler AVR ATmega 8535


Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang
ada pada Mikrokontroler AVR ATMega 8535:
a. VCC: (Pin 10) merupakan pin yang berfungsi sebagai pin masukan catu daya.
b. GND: (Pin 11) merupakan pin ground.
c. Port A (PA0-PA7): (Pin 33-40) merupakan pin I/O dua arah (bi-directional) dan
pin masukan ADC.
d. Port B (PB0-PB7): (Pin 1-8) merupakan pin I/O dua arah dan pin fungsi khusus,
yaitu timer/counter, komparator analog, dan SPI.
e. Port C (PC0-PC7): (Pin 22-29) merupakan pin I/O dua arah dan pin fungsi
khusus, yaitu TWI, komparator analog, dan Timer Oscilator.
f. Port D (PD0-PD7): (Pin 14-21) merupakan pin I/O dua arah dan pin fungsi
khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.
g. Reset merupakan pin yang digunakan untuk me-reset mikrokontroler.
h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

17
i. AVCC merupakan pin masukan tegangan untuk ADC
j. AREF merupakan pin masukan tegangan referensi ADC.
2. Mikrokontroler MCS-51

Gambar 2.8 Mikrokontroler MSC-51


Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC
(Complex Instruction Set Computer). Sebagian besar instruksinya dieksekusi
dalam 12 siklus clock.

Mikrokontroler MCS51 buatan Atmel terdiri dari dua versi, yaitu versi 20
kaki dan versi 40 kaki. Semua mikrokontroler ini dilengkapi dengan Flash
PEROM (Programmable Eraseable Read Only Memory) sebagai media memori-
program, dan susunan kaki IC-IC tersebut sama pada tiap versinya.

Perbedaan dari mikrokontroler-mikrokontroler tersebut terutama terletak


pada kapasitas memori-program, memori-data dan jumlah pewaktu 16-bit.
Perbedaan mikrokontroler Atmel MCS51 tersebut ditunjukan pada Tabel 2.2
berikut.

18
Tabel 2.2 Perbandingan antar Mikrokontroler MCS51 Atmel

Pewaktu/Timer
Tipe μC Memori Program Memori Data Teknologi
16-bit
AT89C105 CMOS
1KB Flash 64 RAM 1
1
AT89C205 CMOS
2KB Flash 128 RAM 2
1
AT89C405 CMOS
4KB Flash 128 RAM 2
1
AT89C51 4KB Flash 128 RAM 2 CMOS
AT89C52 8KB Flash 256 RAM 3 CMOS
AT89C53 12KB Flash 256 RAM 3 CMOS
AT89C55 20KB Flash 256 RAM 3 CMOS
256 RAM
AT89C825
8KB Flash dan 2KB 3 CMOS
2
EEPROM

19
Mikrokontroler MCS51 Atmel versi mini (20 pin) dan versi 40 pin secara
garis besar memiliki struktur dasar penyusun arsitektur mikrokontroler yang sama.
Bagian-bagian tersebut secara lebih lengkap (detil) ditunjukan dalam diagram blok
berikut.

20
Gambar 2.9 Diagram Blok mikrokontroler MSC51 Atmel

21
Mikrokontroler MCS51 Atmel versi 40 kaki mempunyai 32 kaki
sebagai port paralel dan 8 pin yang lain untuk konfigurasi kerja mikrokontroler.
Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk
4 buah port paralel yang masing-masing dikenal
sebagai port 0, port 1, port 2, port 3. Nomor dari masing-masing jalur (kaki)
dari port paralel mikrokontroler MCS51 Atmel mulai dari 0 sampai 7, jalur (kaki)
pertama dari port 0 disebut sebagai P0.0 dan jalur terakhir untuk port 3 adalah
P3.7. Mikrokontroler MCS51 Atmel versi mini mempunyai 20 kaki, 15 kaki
diantaranya adalah kaki port 1 dan port 3. 5 kaki yang lain untuk konfigurasi kerja
mikrokontroler. Port 1 terdiri dari 8 jalur yaitu P1.0 sampai P1.7 dan port 3 terdiri
dari 7 jalur yaitu P3.0 sampai P3.5 dan P3.7. Susunan kaki mikrokontroler MCS51
atmel versi 40 kaki dapat dilihat pada Gambar 2.10 berikut.

Gambar 2.10 Susunan Kaki Mikrokontroler MSC51 Atmel


Fungsi-Fungsi Kaki (Pin)

22
a. VCC

Kaki VCC digunakan untuk masukan suplai tegangan.

b. GND

Kaki (pin) GND funsinya sebagai saluran ground atau pentanahan.

c. RST

Kaki RST fungsinya sebagai masukan reset. Kondisi “1” selama 2 siklus
mesin pada saat oscillator bekerja akan me-reset mikrokontroler yang
bersangkutan.

d. ALE/

Kaki ALE digunakan sebagai keluaran ALE atau Adreess Latch Enable yang


akan menghasilkan pulsa-pulsa untuk menahan byte rendah (low byte) alamat
selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan
pulsa program (the program pulse input) atau selama
pemrograman flash. Pada operasi normal, ALE akan berpulsa dengan laju 1/6
dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau
pendekatan (clocking) rangkainan eksternal.

Kaki (Program Store Enable) merupakan sinyal baca untuk memori


program eksternal. Saat mikrokontroler MCS51 menjalankan program dari
memori eksternal, akan diaktifkan dua kali per-siklus mesin, kecuali dua
aktivasi dilompati (diabaikan) saat mengakses memori data eksternal.

23
e. /VPP

Kaki /VPP ( Exkternal Access Enable) fungsinya sebagai kontrol untuk


mengakses memori. harus dihubungkan ke ground, jika mikrokontroler akan
mengeksekusi program dari memori eksrternal. Selain itu harus dihubungkan
ke VCC jika akan mengakses program secara internal. Kaki ini juga berfungsi
untuk menerima tegangan 12V (VPP) selama pemrograman flash, khususnya
untuk tipe mikrokontroler 12V volt.

f. XTAL1

Kaki XTAL1 merupakan masukan untuk penguat inverting oscillator dan


masukan untuk clock internal pada rangkaian operasi mikrokontroler.

g. XTAL2

Kaki XTAL2 merupakan keluaran dari rangkaian penguat inverting oscilator

3. Mikrokontroler PIC

Gambar 2.11 Mikrokontroler PIC


Pada awalnya, PIC merupakan kependekan dari Programmable Interface
Controller. PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat

24
oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik
General Instruments dengan nama PIC1640.

PIC memungkinkan Anda untuk mengontrol perangkat output ketika


mereka dipicu oleh sensor dan switch. Program dapat dihasilkan dengan
menggunakan diagram alur dalam perangkat lunak komputer, yang kemudian
dapat di-download ke dalam chip PIC. Mereka dapat ditulis ulang sebanyak
yang Anda inginkan. Memori jenis ini disebut memori flash.

Sebuah mikrokontroler PIC adalah sirkuit terpadu tunggal cukup kecil untuk


muat di telapak tangan dan berisi memori pengolahan unit, Jam dan sirkuit Input /
Output dalam satu unit. Sebuah mikrokontroler PIC, oleh karena itu, sering
digambarkan sebagai komputer dalam sirkuit terpadu.  Mikrokontroler PIC dapat
dibeli kosong dan kemudian diprogram dengan program kontrol
tertentu. Mikrokontroler PIC juga dapat dibeli dengan pra–diprogram seperangkat
perintah yang memungkinkan download langsung
dari kabel komputer dan mengurangi biaya peralatan pemrograman.

mikrokontroler seri PIC 16F84 adalah seri yang paling banyak digunakan


karena kesederhanaannya dan ketersediaannya di pasar indonesia.walaupun cukup
sederhana PIC 16F84 sudah cukup handal untuk diterapkan. Kesederhanaannya akan
membantu kita lebih mudah untuk menguasaianya. Baik dari segi arsitektur maupun
cara memprogramnya. Meski kapasitas memorinya kecil, hanya 1k, mikrokontroler
PIC 16F84 dapat diprogram menggunakan bahasa C, yang tidk banyak melibatkan
operasi store ke memori. oleh karena itu, dengan memori yang tidak besarpun kita
dapat mengisiprogram yang cukup besar.

25
Gambar 2.12 Blok Diagram Mikrokontroler PIC 16F84

26
Fitur
Walaupun lebih sederhana dibandingkan dengan seri lainya di PIC tetapi
mikrokontroler PIC 16F84 ini memiliki fitur-fitur yang tidak dimiliki oleh
mikrokontroler keluaran Atmel atau Paralax.
Mikrokontroler PIC 16F84 ini memiliki fitur:

1. Hanya memerlukan 35 set instruksi

2. Data berukuran 8 bit

3. Memiliki flash memory sebesar 1024 x 14yang dapat digunakan untuk


memprogram (1000 kali baca tulis)

4. Memiliki 68 x 8 SRAM

5. 15 Special Function Register

6. Memiliki EEPROM sebesar 64x8

7. Delapan tingkat stack perangkat keras

8. memiliki 4 interup

9. memiliki 13 buah i/o yaitu 5 portA dan 8 portB

10. Watchdog Timer (WDT) dengan internal osilator

11. mode sleep

12. memiliki dimensi kecil (18 pin)

Mikrokontroler PIC 16F84 memiliki kemasan cukup sederhana hanya 18 pin


dalam kemasan DIP (Dual In Line Pin)

27
Gambar 2.13 Susunan kaki mikrokontroler PIC 16F84

Keterangan:
1. VDD
Power supply
2. VSS
Ground
3. OSC1/CLKIN
Pin input clock (pin koneksi ke crystal atau resonator)
4. OSC2/CLKOUT
Pin output clock (pin koneksi ke crystal atau resonator)
5. MCLR
Master clear atau Vpp program atau reset aktif rendah (low)
6. Ra0-RA3
Port I/O A bit 0-3
7. RA4/TOCK1
Port I/O A bit ke 4 atau input untuk timer
8. RB0/INT
Port I/O B bit ke 0 atau pin interupsi eksternal
9. RB1-RB7
Port I/O B bit 1-7

4. Mikrokontroler ARM

28
Gambar 2.14 Mikrokontroler ARM

ARM adalah prosesor dengan arsitektur set instruksi 32bit RISC (Reduced
Instruction Set Computer) yang dikembangkan oleh ARM Holdings. ARM
merupakan singkatan dari Advanced RISC Machine (sebelumnya lebih dikenal
dengan kepanjangan Acorn RISC Machine). Pada awalnya ARM prosesor
dikembangkan untuk PC (Personal Computer) oleh Acorn Computers, sebelum
dominasi Intel x86 prosesor Microsoft di IBM PC kompatibel menyebabkan Acorn
Computers bangkrut.

29
Melalui izin dari seluruh dunia, arsitektur ARM adalah yang
umum dilaksanakan 32-bit set instruksi paling

arsitektur. Arsitektur ARM diimplementasikan pada Windows, Unix, dan
sistem operasi mirip Unix, termasuk
Apple iOS, Android, BSD, Inferno, Solaris, WebOS, Plan
9 dan GNU / Linux. Advanced RISC Machine awalnya dikenal
sebagai Mesin Acorn RISC.

Gambar 2.15 Diagram blok Mikrokontroler ARM

30
Gambar 2.16 Susunan Kaki Mikrokontroler ARM
Fungsi kaki-kaki
1. Port 1 (Pin 1 - pin 8)
Merupakan port 8 bit yang dapat digunakan sebagai port input atau output
dengan pull up internal. Port 1 akan menjadi port input jika dikirim data FFH
dan akan menjadi port output setelah direset. Port 1 bisa diakses sebagai Port
(P1) atau diakses per bit (P1.0-P1.7).
2. RST (Pin 9)
Merupakan pin reset yang akan mereset atau menjalankan program kembali
ke awal, cara mengaktifkannya dengan memeberikan lgika tinggi.

31
3. Port 3 (Pin 10 – pin 17)
Merupakan port 8 bit yang dapat digunakan sebagai port input atau output
dengan pull up internal. Pengaturannya sama seperti port 1. Selain sebagai
port multiguna, P3 juga mempunyai fungsi khusus, perhatikan tabel 2.3
berikut
Tabel 2.3 Fungsi Khusus Port 3 Mikrokontroler ARM

Port Fungsi Khusus

P3.0 RXD (Reciever) merupakan masukan untuk port serial

P3.1 TXD (Transmitter) output dari port serial

P3.2 INT0, masukan interupsi 0

P3.3 INT1, masukan interupsi 1

P3.4 T0, masukan pulsa eksternal Timer 0

P3.5 T1, masukan pulsa eksternal Timer 1

P3.6 WR, menulis data ke memory eksternal (aktif rendah)

P3.7 RD, membaca data memory eksternal (aktif rendah)

4. XTAL 2 (pin 18)


Output dari penguat osilator
5. XTAL 1 (pin 19)
Input ke penguat osilator internal
6. GND (pin 20)
Pin GND dihubungkan ke ground sumber tegangan DC
7. VCC (pin 40)
Pin VCC dihubungkan ke sumber tegangan 5 volt DC

32
8. Port 2 (pin 21 – pin 28)
Merupakan port 8 bit yang dapat digunakan sebagai port input atau output
dengan pull up internal. Pengaturannya sama seperti port 1.
9. PSEN (pin 29)
Program Store Enable merupakan sinyal baca pada saat menjalankan
program dari memory eksternal
10. ALE/PROG (pin 30)
Digunakan untuk mendemultiplex address dan data bus ketika menggunakan
memory eksternal. Bila digunakan EPROM internal pin ni berfungs sebagai
penerima pulsa program selama pemrograman
11. EA/VPP
Jika dihubungkan ke GND, alamat awal program berada di memory eksternal
dan sebaliknya jika dihubungkan ke VCC maka alamat awal program berada
di memory internal.
12. Port 0 (pin 32 – pin 39)
Merupakan port 8 bit yang dapat digunakan sebagai port input atau output
dengan pull up internal. Pengaturannya sama seperti port 1.

2.4 MIKROKONTROLER ARDUINO UNO


Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet).
Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat
digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal,
koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung
mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino
Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke
adaptor-DC atau baterai untuk menjalankannya. Uno berbeda dengan semua board
sebelumnya dalam hal koneksi USB-to-serial yaitu menggunakan fitur Atmega8U2
yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya
yang menggunakan chip FTDI driver USB-toserial. Nama “Uno” berarti satu dalam
bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan
menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian

33
board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk
perbandingan dengan versi sebelumnya, lihat indeks board Arduino.

Gambar 2.17 Arduino UNO R3 ATmega328


Arduino Unoadalah papan sirkuit berbasis mikrokontroler ATmega328. IC
(integrated circuit) ini memiliki 14 input/output digital (6 output untuk PWM), 6
analog input, resonator kristal keramik 16 MHz, Koneksi USB, soket adaptor, pin
header ICSP, dan tombol reset. Hal inilah yang dibutuhkan untuk mensupport
mikrokontrol secara mudah terhubung dengan kabel power USB atau kabel power
supply adaptor AC ke DC atau juga battery.

2.4.1 Hardware pada Arduino Uno


Bahasa "UNO" berasal dari bahasa Italia yang artinya SATU, ditandai dengan
peluncuran pertama Arduino 1.0, Uno pada versi 1.0.

34
Tabel 2.4 Identitas Arduino Uno

Microcontroller ATmega328

Operating Voltage 5V
Input Voltage
7-12V
(recommended)

Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

32 KB (ATmega328) of which 0.5 KB


Flash Memory
used by bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

Length 68.6 mm

Width 53.4 mm

Weigth 25 g

2.4.2 Power
Arduino Uno dapat disupply langsung ke USB atau power supply tambahan
yang pilihan power secara otomatis berfungsi tanpa saklar. Kabel external (non-USB)
seperti menggunakan adaptor AC ke DC atau baterai dengan konektor plug ukuran
2,1mm polaritas positif di tengah ke jack power di board. Jika menggunak baterai
dapat disematkan pada pin GND dan Vin di bagian Power konektor.

35
Gambar 2.18 Power Supply Arduino Port
Papan Arduino ini dapat disupplai tegangan kerja antara 6 sampai 20 volt, jika
catu daya di bawah tengan standart 5V board akan tidak stabil, jika dipaksakan ke
tegangan regulator 12 Volt mungkin board arduino cepat panas (overheat) dan
merusak board. Sangat direkomendasikan tegangannya 7-12 volt.
Penjelasan Power PIN:
 VIN - Input voltase board saat anda menggunakan sumber catu daya luar
(adaptor USB 5 Volt atau adaptor yang lainnya 7-12 volt), Anda bisa
menghubungkannya dengan pin VIN ini atau langsung ke jack power 5V. DC
power jack (7-12V), Kabel konektor USB (5V) atau catu daya lainnya (7-12V).
Menghubungkan secara langsung power supply luar (7-12V) ke pin 5V atau pin
3.3V dapat merusak rangkaian Arduino ini, jangan salahkan saya ya?!
 3V3 - Pin tegangan 3.3 volt catu daya umum langsung ke board. Maksimal arus
yang diperbolehkan adalah 50 mA.
 GND - Pin Ground.
 IOREF - Pin ini penyedia referensi tengangan agar mikrokontrol beroperasi
dengan baik. Memilih sumber daya yang tepat atau mengaktifkan penerjemah
tegangan pada output untuk bekerja dengan 5V atau 3.3V.

2.4.3 Memory
ATmega328 memiliki memory 32 Kb (dengan 0.5 Kb digunakan sebagai
bootloader). Memori 2 KB SRAM dan 1 KB EEPROM (yang dapat baca tulis dengan
libraryEEPROM).Masing-masing dari 14 pin UNO dapat digunakan sebagai input
atau output, menggunakan perintah fungsi pinMode(), digitalWrite(), dan
digitalRead() yang menggunakan tegangan operasi 5 volt. Tiap pin dapat menerima
arus maksimal hingga 40mA dan resistor internal pull-up antara 20-50kohm,
beberapa pin memiliki fungsi kekhususan antara lain:

36
a) VIN. Tegangan input ke Arduino board ketika board sedang menggunakan
sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga
lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika
penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.
b) 5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada
board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-
12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian
tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat
membahayakan board. Hal itu tidak dianjurkan.
c) 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus
maksimum yang dapat dilalui adalah 50 mA.
d) GND. Pin ground.

2.4.4 Communication
Arduino Uno memiliki fasilitas nomer untuk komunikasi dengan komputer
atau hardware Arduino lainya, atau dengan mikrokontroler. Pada ATmega328
menerjemahkan serial komunikasi UART TTL (5V) pada pin 0 (RX) dan 1 (TX).
Pada ATmega16U2 serial komunikasinya dengan USB dan port virtual pada
software di komputer. Perangkat lunak (firmware) 16U2 menggunakan driver
standart USB COM dan tidak membutuhkan driver luar lainnya. Bagaimanapun pada
OS Windows file ekstensi .inf sangar diperlukan. Software Arduino bawaan telah
menyertakan serial monitor yang sangat mudah membaca dan mengirim data dari dan
ke Arduino.
LED indikator TX dan RX akan kedip ketika data telah terkirim via koneksi
USBto-serial dengan USB pada komputer (tetapi tidak pada serial com di pin 0 dan
pin 1) SoftwareSerial library membolehkan banyak pin serial communication pada
Uno. ATmega328 juga support I2C (TWI) dan SPI communication. Software
Arduino terbenam di dalamnya Wire library untuk memudahkan penggunaan bus
I2C.
Uno Arduino memiliki sejumlah fasilitas untuk berkomunikasi dengan
komputer, Arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan
UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1
(TX). Sebuah ATmega8U2 sebagai saluran komunikasi serial melalui USB dan
sebagai

37
port virtual com untuk perangkat lunak pada komputer. Firmware ’8 U2
menggunakan driver USB standar COM, dan tidak ada driver eksternal yang
diperlukan. Namun, pada Windows diperlukan, sebuah file inf. Perangkat lunak
Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data
tekstual sederhana yang akan dikirim ke atau dari board Arduino. LED RX dan TX
di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-toserial
dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0
dan 1).
Sebuah SoftwareSerial library memungkinkan untuk berkomunikasi secara
serial pada salah satu pin digital pada board Uno’s.
ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat
lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan
bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan
perpustakaan SPI.

2.4.5 Programming
Arduino UNO dapat di program dengan software Arduino. Pilih "Arduino
Uno dari Tools > Board menu (akan terlacak microcontroller pada board).
Microcontroller ATmega328 pada Arduino Uno dapat preburned dengan bootloader
yang dapat anda upload kode baru tanpa menggunakan programmer perangkat
lainnya.Komunikasi menggunakan protokol original STK500.
Anda dapat pula langsung bootloader dan program pada microcontroller
melalui ICSP (In-Circuit Serial Programming) menggunakan Arduino ISP atau yang
semisalnya. Pada ATmega16U2 (atau 8U2 di rev1 dan rev2 board) dapat melihat
firmware source code. Pada ATmega16U2/ 8U2 load-nya dengan DFU bootloader,
yang dapat diaktifkan di antaranya:
a. On Rev1 boards: menyambung jumper solder di balik board dan kemudian
mereset 8U2.
b. On Rev2 or later boards: Resistor suntikan pada 8U2/16U2 HWB ke jalur
ground, hal ini dapat membuat mudah masuk ke mode DFU.
Automatic (Software) Reset Agak dibutuhkan tekan tombol reset sebelum
upload, sebab Arduino Uno dirancang reset dulu oleh software ketika terhubung
dengan komputer. Satu komponen jalur kontrol aliran (DTR) dari ATmega8U2/ 16U2
yang terhubung di reset seperti halnya ATmega328 dengan 100 nanofarad kapasitor.

38
Software upload kode ini dapat mengupload secara mudah tanpa kehilangan waktu
lama saat di tekan start uploadnya.
USB Overcurrent Protection Arduino Uno memiliki fungsi resettable polyfuse
untuk memproteksi dari port USB komputer akibat hubung singkat atau kelebihan
arus. Jika arus yang melebihi 500mA dari port USB maka fuse secara otomatis putus
koneksi hingga short atau overload dilepaskan dari board ini.
Karakteristik Fisik Panjang PCB Uno 2.7 dan lebar maksimal 2.1 inchi dengan
konektor USB dan power jack diluar hitungan. Lengkap dengan empat lubang skrup
di setiap pojok untuk dipasang. Catatan, jarak antara tiap pin 7 dan 8.

Input dan Output


Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau
output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (),
beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima
maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari
20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX)
TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial
ATmega8U2 USB-to-TTL.
Eksternal menyela: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada
nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat
(attachInterrupt) fungsi untuk rincian lebih lanjut.
PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi
analogWrite ().
SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI
menggunakan SPI library.
LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai
HIGH, LED on, ketika pin bernilai LOW, LED off.
Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang
masingmasing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda).
Selain itu, beberapa pin memiliki fungsi khusus:
I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan
perpustakaan Wire.

39
Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan
fungsi analogReference ().
Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.
ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk
bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM (yang
dapat dibaca dan ditulis (RW/read and written) dengan EEPROM library().Setiap 14
pin digital pada Arduino Uno dapat digunakan sebagai input dan output,
menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-fungsi
tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima
suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara
default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsifungsi spesial:
a) Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan
memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin
ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-
TTL.
b) External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu
sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau
penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt()
untuk lebih jelasnya.
c) PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi
analogWrite().
d) SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport
komunikasi SPI menggunakan SPI library.
e) LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya
memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6
input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu
mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF
dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:
TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan
menggunakan Wire library.
Ada sepasang pin lainnya pada board:

40
a) AREF. Referensi tegangan untuk input analog. Digunakan dengan
analogReference().
b) Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara
khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi
yang memblock sesuatu pada board.
Lihat juga pemetaan antara pin Arduino dengan port Atmega328. Pemetaan untuk
Atmega8, 168, dan 328 adalah identik.
Inputan pada Rancangan ini adalah pada Sensor Raindrops, Sensor Ultrasonik,
Modem SIM 900 dan adaptor adalah inputan dan outputannya adalah pengiriman
pada SMS. Pada Sensor Raindrops, Sensor Raindrops dan Modem SIM 900
pemasangannya ke Arduino Uno yaitu, dimulai dari Inputan sensor Raindrops yang
menghubungkan pin AO sensor Raindrop ke pin AO Arduino Uno, lalu hubungan pin
GND dan pin VCC masing-masingnya. Pada sensor Ultrasonik hubungkan pin
Trigger ke pin 10 pada Arduino Uno dan pin Echo pada sensor Ultrasonik ke pin 11
pada Arduino Uno. Dan pada Modem SIM900 hubungkan Reciever Modem SIM900
ke pin 3 pada Arduino Uno dan Transciver Modem SIM 900 ke pin 2 pada Arduino
Uno.

2.4.6 Sftware pada Arduino


Masing-masing dari 14 pin UNO dapat digunakan sebagai input atau output,
menggunakan perintah fungsi pinMode(), digitalWrite(), dan digitalRead() yang
menggunakan tegangan operasi 5 volt. Tiap pin dapat menerima arus maksimal
hingga 40mA dan resistor internal pull-up antara 20-50kohm, beberapa pin memiliki
fungsi kekhususan antara lain:
 Serial: 0 (RX) dan 1 (TX). Sebagai penerima (RX) dan pemancar (TX) TTL
serial data. Pin ini terkoneksi untuk pin korespondensi chip ATmega8U2 USB-
toTTL Serial.
 External Interrupts: 2 dan 3. Pin ini berfungsi sebagai konfigurasi trigger saat
interupsi value low, naik, dan tepi, atau nilai value yang berubahubah.
 PWM: 3, 5, 6, 9, 10, dan 11. Melayani output 8-bit PWM dengan fungsi
analogWrite().
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin yang support komunikasi
SPI menggunakan SPI library.

41
 LED: 13. Terdapat LED indikator bawaan (built-in) dihubungkan ke digital pin
13, ketika nilai value HIGH led akan ON, saat value LOW led akan OFF.
 Uno memiliki 6 analog input tertulis di label A0 hingga A5, masingmasingnya
memberikan 10 bit resolusi (1024). Secara asal input analog tersebut terukuru
dari 0 (ground) sampai 5 volt, itupun memungkinkan perubahan teratas dari
jarak yang digunakan oleh pin AREF dengan fungsi analogReference().

2.4.7 Arduino IDE


Pada softwarenya, Arduino Uno memakai Arduino IDE. IDE itu merupakan
kependekan dari Integrated Developtment Enviroenment, atau secara bahasa
mudahnya merupakan lingkungan terintegrasi yang digunakan untuk melakukan
pengembangan. Disebut sebagai lingkungan karena melalui software inilah Arduino
dilakukan pemrograman untuk melakukan fungsi-fungsi yang dibenamkan melalui
sintaks pemrograman. Program yang ditulis dengan menggunaan Arduino Software
(IDE) disebut sebagai sketch. Sketch ditulis dalam suatu editor teks dan disimpan
dalam file dengan ekstensi.

Gambar 2.19 Arduino IDE

42
2.5 PENGAPLIKASIAN ARDUINO UNO
2.5.1 Menyalakan LED menggunakan Arduino UNO
Alat dan Bahan
 1 Buah LED 5mm atau LED 3mm
 1 Buah Resistor 100Ω Ohm
 2 Buah Kabel Jumper
 1 Buah Protoboard
 1 Buah Arduino
Rangkaian Menyalakan LED Menggunakan Arduino UNO

Gambar 2.20 Rangkaian menyalakan LED menggunakan Arduino UNO

Keterangan
 Pin GND Arduino (Warna Hitam) ke GND LED (Warna Hitam)
 Pin 4 (Warna Merah) ke Resistor (Warna Merah)
 Sisi lain dari Resistor di hubungkan ke Positif LED

Sketch Program
Dalam Sketch Program Menyalakan LED Menggunakan Arduino UNO ada
beberapa cara Sketch Program untuk dapat menyalakan LED nya, berikut ini saya
akan paparkan cara Menyalakan LED dengan Aktif HIGH.

43
44
Sketch Program Cara Pertama :
1 // Menyalakan LED Menggunakan Arduino UNO
2 // Menyalakan LED dengan Aktif HIGH
3 void setup()
4 {
5    // menjadikan PIN 4 sebagai OUTPUT
6    pinMode(4, OUTPUT);
7 }
8 void loop()
9 {
10    // Menyalakan PIN 4 (HIGH = Memberi tegangan pada PIN 4)
11    digitalWrite(4, HIGH);
12 }

Sketch Program Cara Kedua :


1 // Menyalakan LED Menggunakan Arduino UNO
2 // Menyalakan LED dengan Aktif HIGH
3 Int PinSaya = 4; // type data yang berfungsi sebagai penyimpan bilangan bulat
4 void setup()
5 {
6    // menjadikan PIN 4 sebagai OUTPUT
7    pinMode(PinSaya, OUTPUT);
8 }
9 void loop()
10 {
11    // Menyalakan PIN 4 (HIGH = Memberi tegangan pada PIN 4)
12    digitalWrite(PinSaya, HIGH);
13 }
Keterangan :
 Fungsi void setup () dalam sebuah program arduino adalah semua perintah
yang akan di baca sekali.
 Fungsi void loop () dalam sebuah program arduino adalah semua perintah
yang akan di baca berulang-ulang.

Hasil Rangkaian menyalakan LED menggunakan Arduino UNO

Gambar 2.21 Hasil Rangkaian menyalakan LED menggunakan Arduino UNO

45
2.5.2 Program LED Berjalan Menggunakan Arduino UNO
Alat dan Bahan
 5 Buah LED 5mm atau LED 3mm (Warna Bebas)
 5 Buah Resistor 100Ω Ohm
 6 Buah Kabel Jumper
 1 Buah Protoboard
 1 Buah Arduino
Rangkaian Lampu LED Berjalan Menggunakan Arduino UNO

Gambar 2.22 Rangkaian LED berjalan Menggunakan Arduino UNO


Keterangan
 Pin GND Arduino (Warna Hitam) ke GND/KATODA LED0, 1, 2, 3, dan 4
(Warna Hitam)
 Pin 4 (Warna Hijau) ke Resistor
 Pin 3 (Warna Orange) ke Resistor
 Pin 2 (Warna Merah) ke Resistor
 Pin 1(Warna Ungu) ke Resistor
 Pin 0 (Warna Biru) ke Resistor
 Sisi lain dari semua Resistor di hubungkan ke Positif LED (1 LED = 1
Resistor dan seterusnya)

46
Sketch Program
Dalam Sketch Program Lampu LED Berjalan Menggunakan Arduino UNO ada
beberapa cara Sketch Program untuk dapat menyalakan LED nya, berikut ini
saya akan paparkan Sketch Program dengan Aktif HIGH.

Sketch Program:

1 // Lampu LED Berjalan Menggunakan Arduino UNO


2 // Menyalakan LED dengan Aktif HIGH
3  
4 int ledPin1 = 0;
5 int ledPin2 = 1;
6 int ledPin3 = 2;
7 int ledPin4 = 3;
8 int ledPin5 = 4;
9 // type data yang berfungsi sebagai penyimpan bilangan bulat
10
11 void setup()
12 {
13 pinMode(ledPin1, OUTPUT);
14 pinMode(ledPin2, OUTPUT);
15 pinMode(ledPin3, OUTPUT);
16 pinMode(ledPin4, OUTPUT);
17 pinMode(ledPin5, OUTPUT);
18 // menjadikan PIN 0, 1, 2, 3, dan 4 sebagai OUTPUT
19 }
20  
21 void loop()
22 // Menyalakan LED sacara bergilir
23 {
24 digitalWrite(ledPin1, HIGH);
25 digitalWrite(ledPin2, LOW);
26 digitalWrite(ledPin3, LOW);
27 digitalWrite(ledPin4, LOW);
28 digitalWrite(ledPin5, LOW);
29 delay(1000);
30 digitalWrite(ledPin1, LOW);
31 digitalWrite(ledPin2, HIGH);
32 digitalWrite(ledPin3, LOW);
33 digitalWrite(ledPin4, LOW);
34 digitalWrite(ledPin5, LOW);
35 delay(1000);
36 digitalWrite(ledPin1, LOW);
37 digitalWrite(ledPin2, LOW);
38 digitalWrite(ledPin3, HIGH);
39 digitalWrite(ledPin4, LOW);
40 digitalWrite(ledPin5, LOW);
41 delay(1000);
42 digitalWrite(ledPin1, LOW);
43 digitalWrite(ledPin2, LOW);
44 digitalWrite(ledPin3, LOW);
45 digitalWrite(ledPin4, HIGH);

47
46 digitalWrite(ledPin5, LOW);
47 delay(1000);
48 digitalWrite(ledPin1, LOW);
49 digitalWrite(ledPin2, LOW);
50 digitalWrite(ledPin3, LOW);
51 digitalWrite(ledPin4, LOW);
52 digitalWrite(ledPin5, HIGH);
53 delay(1000);
54 }

Keterangan :
 Fungsivoid setup () dalam sebuah program arduino adalah semua perintah
yang akan di baca sekali.
 Fungsivoid loop () dalam sebuah program arduino adalah semua perintah
yang akan di baca berulang-ulang.

Hasil Rangkaian LED Berjalan Menggunakan Arduino UNO

Gambar 2.23 Hasil Rangkaian LED Berjalan Menggunakan Arduino UNO

48
2.5.3 Program Motor menggunakan Arduino UNO
Alat dan Bahan
 Arduino, saya pakai arduino Uno r3

 Transistor sebagai penguat (BC547)

 Breadboard

 Resistor

 Dioda

 Kabel Jumper

Rangkaian Motor menggunakan Arduino UNO

Gambar 2.24 Rangkaian Motor menggunakan Arduino UNO

49
Skecth Program :
int motorPin = 3;
void setup()
{
pinMode(motorPin, OUTPUT);
Serial.begin(9600);
while (! Serial);
Serial.println("Speed 0 to 255");
}
void loop()
{
if (Serial.available())
{
int speed = Serial.parseInt();
if (speed >= 0 && speed <= 255)
{
analogWrite(motorPin, speed);
}
}
}

Hasil Rangkaian Motor menggunakan Arduino UNO

Gambar 2.25 Hasil Rangkaian Motor menggunakan Arduino UNO

50
2.5.4 Perancangan Smart Home menngunakan Arduino UNO
IOT (Internet of Things) adalah suatu konsep untuk menghubungkan
perangkat satu dengan yang lainnya dengan bantuan internet. Nah kali ini
jogjarobotika akan mencoba sharing salah satu project IoT sederhana. Project
kali ini yaitu membuat Modul (Prototype)  IOT untuk Smart Home Appliance
(Perangkat Rumah Pintar). Nantinya modul iot ini akan dapat memonitoring
dan mengkontrol berbagai macam alat/sensor seperti berikut:
1. Kontrol Relay - Dapat dimanfaatkan untuk menyalakan lampu, doorlock,
motor DC, dan lain sebagainya.
2. Kontrol Servo - Dapat dimanfaatkan untuk menggerakan alat tertentu.
3. Monitoring Suhu dan Kelembaban
4. Monitoring pergerakan
Modul IoT kali ini terdiri dari berbagai macam part seperti berikut:
1. Wemos D1 - Merupakan module development board yang
berbasis WiFi dari keluarga ESP8266 yang dimana dapat diprogram
menggunakan software IDE Arduino seperti halnya dengan NodeMCU.
2. Modul Relay - Digunakan sebagai kontaktor untuk menyalakan lampu AC
dan Solenoid Doorlock 12V.
3. Servo SG90
4. Sensor PIR - Untuk mendeteksi adanya pergerakan.
5. Sensor DHT11 - Untuk mendeteksi Temperature dan Kelembaban.
6. Solenoid Doorlock 12V - Digunakan untuk pengunci pintu atau jendela
atau yang lain semacamnya.
7. Project Board

Rangkaian Smart Home

51
Gambar 2.26 Rangkaian Smart Home
1. Rangkaian Sensor PIR

Gambar 2.27 Rangkaian Sensor PIR


2. Rangkaian Servo SG90

Gambar 2.28 Rangkaian Servo SG90


3. Rangkaian DHT11

52
Gambar 2.29 Rangkaian DHT11
4. Rangkaian Selonoid Doorlock

Gambar 2.30 Rangkaian Selonoid Doorlock


5. Rangkaian Lampu AC

Gambar 2.31 Rangkaian Lampi AC

53
Setelah semua komponen terangkai dengan benar, sekarang kita masuk ke
software arduino untuk memprogram WEMOS nya. Jika baru pertama kali
menggunakan WEMOS, silahkan install/setting WEMOS pada arduino terlebih
dahulu.

Sketch Program :

#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266_SSL.h>
#include <DHT.h>
#include <Servo.h>
#define DHTPIN D2
#define DHTTYPE DHT11
char auth[] = "..................."; //Auth dari BLYNK di email anda
char ssid[] = "...................."; //Nama wifi
char pass[] = "..................."; //Password wifi
#define pirPin D5
int pirValue;
int pinValue;
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
Servo servo;
BLYNK_WRITE(V0)
{
pinValue = param.asInt();
}
BLYNK_WRITE(V3)
{
servo.write(param.asInt());
}

void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
void setup()
{

54
Serial.begin(9600);
//delay(10);
Blynk.begin(auth, ssid, pass);

pinMode(pirPin, INPUT);
dht.begin();
timer.setInterval(100L, sendSensor);
servo.attach(D10);
}
void loop()
{
Blynk.run();
Timer.run();
getPirValue();
}
void getPirValue(void)
{
pirValue = digitalRead(pirPin);
if (pinValue == HIGH)
{if (pirValue==HIGH)
{
Serial.println("Motion detected");
Blynk.notify("Motion detected");
Blynk.virtualWrite(V1, 1);
}
if (pirValue==LOW)
{
Serial.println("Motion undetected");
Blynk.virtualWrite(V1, 0);
}}
else{
if (pirValue==HIGH)
{
Serial.println("Motion detected");
Blynk.virtualWrite(V1, 1);
}
if (pirValue==LOW)
{
Serial.println("Motion undetected");
Blynk.virtualWrite(V1, 0);
}
}
}

55
BAB III

PENUTUP

3.1 KESIMPULAN

a.Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat


menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan
program yang diisikan ke dalamnya.
b. Macam-macam mikrokontroler ada dua yaitu RISC (Reduced Instruction Set
Computer) adalah komputer yang menggunakan unit pemrosesan pusat (CPU)
yang mengimplementasikan prinsip desain prosesor dari instruksi yang
disederhanakan sedangkan CISC (Complex Instruction-Set Computer) adalah
sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan
beberapa operasi tingkat rendah
c.Jenis-Jenis mikrokontroler yaitu
1. AVR
2. MSC51
3. PIC
4. ARM
d. Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet).
Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat
digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal,
koneksi USB, jack power, ICSP header, dan tombol reset.

56
DAFTAR PUSTAKA

 Daumal, Muhammad Aldhi Nur Alam Afriyan. 2016. Menyalakan LED


menggunakan Arduino UNO, diakses dari
https://www.warriornux.com/menyalakan-led-menggunakan-arduino-uno/
Pada 19 Juli 2020
 Unknow. 2017. CISC (Complex Instruction-Set Computer), diakses dari
http://mycomputerarchitecture.blogspot.com/2017/09/cisc-complex-
instruction-set-computer.html pada 18 Juli 2020
 Mulyawan, Rifqi. 2019. Pengertian RISC (Reduced Instruction Set
Computer): Sejarah, Fitur Dasar dan Manfaatnya, diakses dari
https://rifqimulyawan.com/blog/pengertian-risc/ pada 19 Juli 2020
 Fisika, Sekitar. 2018. Jenis Mikrokontroler dan 5 Mikrokontroler yang Sering
Digunakan, di akses dari http://sekitarkita0.blogspot.com/2018/03/jenis-
mikrokontroler-yang-banyak-digunakan.html pada 18 Juli 2020
 Unknow. 2010. Mengenal Mikrokontroler PIC 16F84, diakses dari
http://kecoakacau.blogspot.com/2010/06/mengenal-mikrokontroler-pic-
16f84.html Pada 18 Juli 2020
 Pklbptik. 2016. Jenis-jenis Mikrokontroler, diakses dari
http://blog.unnes.ac.id/widiyanti/2016/02/12/jenis-jenis-mikrokontroler/ pada
18 Juli 2020
 XXX. 2013. Konfigurasi Pin Mikrokontroler AVR ATmega 8535/16/32,
diakses dari http://free-cepu.blogspot.com/2013/11/1-konfigurasi-pin-
mikrokontroller-avr.html pada 18 Juli 2020
 Unknow. 2013. Mengenal ATtiny2313, diakses dari
https://mikroelektroniika.wordpress.com/2013/05/05/mengenal-attiny2313/
pada 18 Juli 2020

57
 Daumal, Muhammad Aldhi Nur Alam Afriyan. 2016. Membuat Lampu LED
Berjalan Menggunakan Arduino UNO, diakses dari
https://www.warriornux.com/membuat-lampu-led-berjalan-menggunakan-
arduino-uno/ Pada 19 Juli 2020
 Pambudi, Giri Wahyudi. 2017. CARA MENGENDALIKAN MOTOR DC
MENGGUNAKAN ARDUINO, diakses dari https://www.cronyos.com/cara-
mengendalikan-motor-dc-menggunakan-arduino/ pada 19 Juli 2020
 Jogja Robotika. 2019. MODUL IOT (INTERNET OF THINGS) UNTUK
SMART HOME APPLIANCE, diakses dari
http://www.jogjarobotika.com/blog/modul-iot-internet-of-things-untuk-smart-
home-appliance-b136.html pada 19 Juli 2020

58

Anda mungkin juga menyukai