Page 1
Pelatihan Mikrokontroller Arduino 2017
Bagian 1 Pendahuluan :
1. Pengenalan Mikrokontroler
Mikrokontroler adalah komputer mikro dalam satu chip tunggal. Mikrokontroler memadukan
CPU, ROM, RAM, I/O paralel, I/O seri, counter-timer, dan rangkaian clock dalam satu chip (single chip)
seperti terlihat pada Gambar 1. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital
yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus
dengan cara khusus.
2. Pengenalan arduino
Untuk memahami Arduino, terlebih dahulu kita harus memahami apa yang dimaksud dengan
physical computing. Physical computing adalah membuat sebuah sistem atau perangkat fisik dengan
Page 2
Pelatihan Mikrokontroller Arduino 2017
menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan dari
lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk memahami
hubungan yang manusiawi antara lingkungan yang sifat alaminya adalah analog dengan dunia digital.
Pada prakteknya konsep ini diaplikasikan dalam desain-desain alat atau projek-projek yang
menggunakan sensor dan microcontroller untuk menerjemahkan input analog ke dalam sistem
software untuk mengontrol gerakan alat-alat elektro-mekanik seperti lampu, motor dan sebagainya.
ARDUINO MEGA
Page 3
Pelatihan Mikrokontroller Arduino 2017
Papan Arduino dengan spesifikasi yang lebih tinggi,dilengkapi tambahan pin digital, pin analog,
port serial dan sebagainya. Masih banyak jenis arduino yang lain.
Berfungsi sebagai input atau output, dapat diatur oleh program. Khusus untuk 6 buah pin 3, 5, 6, 9,
10 dan 11, dapat juga berfungsi sebagai pin analog output dimana tegangan output-nya dapat diatur.
Nilai sebuah pin output analog dapat diprogram antara 0 – 255, dimana hal itu mewakili nilai tegangan
0 – 5V.
Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog, seperti sensor
suhu. Program dapat membaca nilai sebuah pininput antara 0 – 1023, dimana hal itu mewakili nilai
tegangan 0 – 5V.
USB Interface
Berfungsi untuk:
Page 4
Pelatihan Mikrokontroller Arduino 2017
Tombol Reset S1
Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset
ini bukan untuk menghapus program atau mengosongkan microcontroller.
Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa
melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu
dipakai walaupun disediakan.
IC 1 – Microcontroller Atmega
Komponen utama dari papan Arduino, di dalamnya terdapat Chip Mikrokontroler ATmega 328.
Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC
antara 9-12V.
5. SOFTWARE ARDUINO
Sehubungan dengan pembahasan untuk saat ini software Arduino yang akan digunakan adalah
driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama
pengembangan Arduino. IDE Arduino adalah software yang sangat canggih ditulis dengan
menggunakan Java. IDE Arduino terdiri dari:
Editorprogram, sebuah window yang memungkinkan pengguna menulis dan mengedit program
dalam bahasa Processing.
Compiler, sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner.
Bagaimanapun sebuah microcontroller tidak akan bisa memahami bahasa Processing. Yang bisa
dipahami oleh microcontrolleradalah kode biner. Itulah sebabnya compiler diperlukan dalam hal
ini.
Page 5
Pelatihan Mikrokontroller Arduino 2017
Uploader, sebuah modul yang memuat kode biner dari Jomputerke dalam memory di dalam
papan Arduino.
Berikut ini adalah contoh tampilan IDE Arduino dengan sebuah sketch yang sedang diedit.
Page 6
Pelatihan Mikrokontroller Arduino 2017
Page 7
Pelatihan Mikrokontroller Arduino 2017
Page 8
Pelatihan Mikrokontroller Arduino 2017
Sketch/Listing Program:
TEST
1. Buatlah Program seperti diatas dengan menggunakan 4 LED menyala bergantian
a. Tujuan Percobaan :
1. Siswa dapat memahami prinsip kerja LED
2. Siswa dapat memahami mengoperasikan pin digital sebagai analog output
3. SIswa dapat memahami fungsi perulangan pada Bahasa Program Arduino
b. Teori dasar
Struktur for digunakan untuk menghasilkan sejumlah perulangan yang telah di
spesifikasi artinya ada batasan yang diketahui misalnya perulangan sebanyak 100 kali
atau 200 kali. nah 200 inilah data yang dispesifikasi. untuk mencacah sudah berapa
kali perulangan maka kita perlu sebuah pengubah(variable) pengubah ini nilainya
selalu bertambah satu setiap perulangan. Jika perulangan sudah mencapai spesifikasi
maka perulangan akan berhenti.
Ada tiga bagian untuk penggunaan FOR :
For (inisialisasi, kondisi, increment) {
//statement(s);
}
Page 9
Pelatihan Mikrokontroller Arduino 2017
e. Prosedur percobaan :
Langkah-langkah untuk Mengatur Kecerahan LED menggunakan Perintah FOR :
1. Pasang led pada breadboard.
Pemasangan LED harus diperhatikan polaritasnya. Kaki yang panjang mengarah ke kutup
Positif (+), sedangkan kaki yang pendek atau kaki pada permukaan LED yg datar,
mengarah ke kutub negative (-) atau Ground (Gnd)
Page 10
Pelatihan Mikrokontroller Arduino 2017
Sketch/Listing Program:
void setup() {
pinMode(LED1,OUTPUT);
analogWrite(LED1,0);
}
void loop() {
// Kecerahan dinaikkan
Page 11
Pelatihan Mikrokontroller Arduino 2017
TEST
1. Membuat 4 LED terang redup berjalan menggunakan FOR
a. Tujuan Percobaan :
1. Siswa dapat memahami prinsip kerja Button dan LED
2. Siswa dapat memahami mengoperasikan pin digital arduino uno sebagai input
3. SIswa dapat memahami fungsi pilihan pada Bahasa Program Arduino
b. Teori dasar
Sekarang kita akan mencoba melakukan pengontrolan objek (dalam hal ini LED)
dengan menggunakan sebuah input, yang akan kita gunakan sebagai input adalah
push button.
Rangkaian dasarnya persis sama dengan pengontrolan Led menggunakan
Arduino, hanya saja disini menambahkan sebuah push button, push button dikenal
juga dengan sebutan tactile switch, push button yang akan kita gunakan sekarang
adalah push button dengan 4 pin , gak tau apakah ada push button dengan 2 pin atau
tidak, tapi walaupun 4 pin yang tampak di luar sebenarnya hanyalah 2 pin karena 2
pin saling terhubung.
if, yang digunakan bersama dengan operator perbandingan, berfungsi untuk mengetes
apakah kondisi tertentu telah tercapai atau belum, seperti masukan yang berada di atas
jumlah tertentu.
Page 12
Pelatihan Mikrokontroller Arduino 2017
if (x > 120)
digitalWrite(LEDpin, HIGH);
if (x > 120){
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
} // Semua benar
Operator Pembanding
x == y (x sama dengan y)
x != y (x tidak sama dengan y)
x < y (x kurang dari y) x > y (x lebih besar dari y)
x <= y (x kurang dari atau sama dengan y) x >= y (x lebih besar dari atau sama dengan y)
Page 13
Pelatihan Mikrokontroller Arduino 2017
Peringatan!!!!!
Hati-hati dalam penggunaan operator pembanding ==. Sering terjadi kasus kesalahan
pengetikan sehingga yang seharusnya == malah ditulis =. = dan == adalah operator yang
berbeda. = adalah operator penugasan sedangkan == adalah operator pembanding
c. Alat dan bahan :
1. Board Arduino + Kabel
2. Breadboard
3. LED
4. Resirtor 220 Ω ½ watt
5. Kabel jumper
6. Push Button Mini
d. Prosedur percobaan :
Langkah-langkah untuk merakit push button dan led:
1. Pasang led pada breadboard.
Pemasangan LED harus diperhatikan polaritasnya. Kaki yang panjang mengarah ke kutup
Positif (+), sedangkan kaki yang pendek atau kaki pada permukaan LED yg datar,
mengarah ke kutub negative (-) atau Ground (Gnd)
2. Hubungkan LED, resistor dan push button dengan arduino pada Arduino seperti gambar
diatas
Page 14
Pelatihan Mikrokontroller Arduino 2017
Sketch/Listing Program:
int buttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
TEST
1. Membuat LED redup terang dengan 2 button
a. Tujuan Percobaan :
1. Siswa dapat memahami prinsip kerja Button dan 7 SEGMEN
2. Siswa dapat memahami mengoperasikan pin digital arduino uno sebagai output
3. SIswa dapat memahami Prosedur pada Bahasa Program Arduino
b. Teori dasar
Layar tujuh segmen (bahasa Inggris: Seven-segment display (SSD)) adalah salah
satu perangkat layar untuk menampilkan sistem angka desimal yang merupakan
alternatif dari layar dot-matrix. Layar tujuh segmen ini seringkali digunakan pada jam
digital, meteran elektronik, dan perangkat elektronik lainnya yang menampilkan
Page 15
Pelatihan Mikrokontroller Arduino 2017
informasi numerik. Ide mengenai layar tujuh segmen ini sudah cukup tua. Pada tahun
1910 misalnya, sudah ada layar tujuh segmen yang diterangi oleh lampu pijar yang
digunakan pada panel suatu pembangkit listrik.
Layar tujuh segmen ini terdiri dari 7 buah LED yang membentuk angka 8 dan 1
LED untuk titik/DP. Angka yang ditampilkan di seven segmen ini dari 0-9. Cara kerja
dari seven segmen disesuaikan dengan LED. LED merupakan komponen diode yang
dapat memancarkan cahaya. kondisi dalam keadaan ON jika sisi anode mendapatkan
sumber positif dari Vcc dan katode mendapatkan sumber negatif dari ground.
Berdasarkan cara kerjanya, tujuh segmen dibagi menjadi 2 bagian:
a. common katode
Cara kerja dari seven segmen common katode akan aktif pada kondisi high
"1" dan akan off pada kondisi low "0"
b. common anode
Cara kerja dari seven segmen common anode akan aktif pada kondisi low "0"
dan akan off pada kondisi high "1".
c. Alat dan bahan :
1. Board Arduino + Kabel
2. Breadboard
3. Resistor 220 Ω ½ watt
4. Kabel jumper
5. Push Button Mini
6. Seven Segmen
Page 16
Pelatihan Mikrokontroller Arduino 2017
d. Prosedur percobaan :
Langkah-langkah untuk merakit push button dan led:
1. Pasang led pada breadboard.
Pemasangan Seven Segmen harus diperhatikan polaritasnya. Kaki yang panjang
mengarah ke kutup Positif (+), sedangkan kaki yang pendek atau kaki pada permukaan
LED yg datar, mengarah ke kutub negative (-) atau Ground (Gnd)
Page 17
Pelatihan Mikrokontroller Arduino 2017
2. Hubungkan seven segmen, resistor dan push button dengan arduino pada Arduino
seperti gambar diatas
3. Download program berikut ke board arduino
Sketch/Listing Program:
const int a = 6;
const int b = 7;
const int c = 8;
const int d = 9;
const int e = 10;
const int f = 11;
const int g = 12;
const int h = 13;
const int datain = 2;
int data;
void setup() {
pinMode(datain, INPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(h, OUTPUT);
Page 18
Pelatihan Mikrokontroller Arduino 2017
void loop()
{
if (digitalRead(datain)==LOW)
{
data=data+1;
if (data=>10)
{
data=0;
}
}
sevensegmen(data);
delay(1000);
}
Page 19
Pelatihan Mikrokontroller Arduino 2017
{
digitalWrite(b, LOW);
digitalWrite(c, LOW);digitalWrite(a, HIGH);
digitalWrite(g, LOW);
digitalWrite(d, HIGH);digitalWrite(f, LOW);
digitalWrite(e, LOW); digitalWrite(h, HIGH);
}
else if (data==6)
{
digitalWrite(b, LOW);
digitalWrite(c, LOW);digitalWrite(a, HIGH);
digitalWrite(g, LOW);
digitalWrite(d, LOW);digitalWrite(f, LOW);
digitalWrite(e, LOW); digitalWrite(h, HIGH);
}
else if (data==7)
{
digitalWrite(b, LOW);
digitalWrite(c, HIGH);digitalWrite(a, LOW);
digitalWrite(g, HIGH);
digitalWrite(d, HIGH);digitalWrite(f, LOW);
digitalWrite(e, HIGH); digitalWrite(h, HIGH);
}
else if (data==8)
{
digitalWrite(b, LOW);
digitalWrite(c, LOW);digitalWrite(a, LOW);
digitalWrite(g, LOW);
digitalWrite(d, LOW);digitalWrite(f, LOW);
digitalWrite(e, LOW); digitalWrite(h, HIGH);
}
else if (data==9)
{
digitalWrite(b, LOW);
digitalWrite(c, LOW);digitalWrite(a, LOW);
digitalWrite(g, LOW);
digitalWrite(d, HIGH);digitalWrite(f, LOW);
digitalWrite(e, LOW); digitalWrite(h, HIGH);
}
else if (data==0)
{
digitalWrite(b, LOW);
digitalWrite(c, LOW);digitalWrite(a, LOW);
digitalWrite(g, HIGH);
digitalWrite(d, LOW);digitalWrite(f, LOW);
digitalWrite(e, LOW); digitalWrite(h, HIGH);
}
}
Page 20
Pelatihan Mikrokontroller Arduino 2017
TEST
1. Membuat counter up down dengan 2 button
No
Kaki/Pin Nama Keterangan
1 VCC +5V
2 GND 0V
3 VEE Tegangan Kontras LCD
4 RS Register Select
5 R/W 1 = Read, 0 = Write
6 E Enable Clock LCD
7 D0 Data Bus 0
8 D1 Data Bus 1
9 D2 Data Bus 2
10 D3 Data Bus 3
11 D4 Data Bus 4
12 D5 Data Bus 5
13 D6 Data Bus 6
14 D7 Data Bus 7
15 Anoda Tegangan backlight positif
16 Katoda tegangan backlight Negatif
Page 21
Pelatihan Mikrokontroller Arduino 2017
2. Breadboard
3. LCD 16 x 2
4. Kabel jumper
5. Potensiometer 1k ohm
6. Resistor 220 ohm
d. Prosedur percobaan :
1. Hubungkan LCD dengan Arduino seperti langkah berikut :
Page 22
Pelatihan Mikrokontroller Arduino 2017
Sketch/Listing Program:
Page 23
Pelatihan Mikrokontroller Arduino 2017
TEST
1. Buatlah Nama Kamu Agar Rata Tengah seperti di bawah
S E K O L A H
N A M A K A M U
Sketch/Listing Program:
Page 24
Pelatihan Mikrokontroller Arduino 2017
LDR (Light Dependent Resistor) adalah sensor cahaya yang dapat mengubah besaran
cahaya yang diterima menjadi besaran konduktansi. Apabila LDR (Light Dependent Resistor)
menerima cahaya maka nilai konduktansi antara kedua kakinya akan meningkat (resistansi
turun). Semakin besar cahaya yang diterima maka semakin tinggi nilai konduktansinya (nilai
Page 25
Pelatihan Mikrokontroller Arduino 2017
resistansinya semakin rendah). Aplikasi LDR salah satunya pada lampu penerangan jalan
yang akan menyala otomatis pada saat cahaya matahari mulai redup.
c. Alat dan bahan :
1. Board Arduino + Kabel
2. Breadboard
3. LDR
4. Resirtor 10 kΩ ½ watt
d. Prosedur percobaan :
1. Dengan sensor cahaya LDR (Light Dependent Resistor), Lampu akan otomatis menyala
(On) jika sensor tidak terkena cahaya (gelap). Sebaliknya, lampu akan mati (Off ) apabila
sensor terkena cahaya terang. Hubungkan LDR ke pin analog 0 dan LED di pin digital 13
seperti gambar berikut.
Page 26
Pelatihan Mikrokontroller Arduino 2017
Sketch/Listing Program:
TEST
1. Buatah program mengatur intensitas cahaya LED dengan input LDR
b) Control relay
a. Tujuan Percobaan :
1. Siswa dapat memahami prinsip kerja relay
2. Siswa dapat membangun control relay dengan arduino
b. Teori dasar
Relay adalah saklar mekanik yang dikendalikan atau dikontrol secara elektronik (elektro
magnetik). Bagian utama relay elektro mekanik adalah sebagai berikut.
Kumparan electromagnet
Saklar atau kontaktor
Page 27
Pelatihan Mikrokontroller Arduino 2017
Swing Armatur
Spring (Pegas)
Sketch/Listing Program:
Page 28
Pelatihan Mikrokontroller Arduino 2017
}
if(saklar == 0){
digitalWrite(relay1, LOW);
Serial.println("Lampu OFF");
delay(1000);
}
}
}
c) Termometer digital
a. Tujuan Percobaan :
1. Siswa dapat memahami prinsip kerja sensor LM 35
2. Siswa dapat membangun thermometer digital
b. Teori dasar
Page 29
Pelatihan Mikrokontroller Arduino 2017
Dari gambar diatas dapat diketahui bahwa sensor suhu IC LM35 pada dasarnya memiliki
3 pin yang berfungsi sebagai sumber supply tegangan DC +5 volt, sebagai pin output hasil
penginderaan dalam bentuk perubahan tegangan DC pada Vout dan pin untuk Ground.
d. Prosedur percobaan :.
1. Untuk mengukur suhu, caranya cukup mudah. IC jenis LM 35 ini cukup praktis, bentuknya
kecil dan akurasinya tinggi. Cukup dengan menghubungkan kakinya ke kutub + , A0
dan – seperti pada gambar, nilai tegangan listrik yang didapat akan dikonversi
menjadi nilai suhu dalam satuan derajat Celsius/Rheamur/Fahrenheit.
Sketch/Listing Program:
Page 30
Pelatihan Mikrokontroller Arduino 2017
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = analogRead(potPin); // read the value from the sensor
temperature = (5.0 * val * 100.0)/1024.0; // konvert ke Celcius
Serial.println(temperature);
// Serial.println((long)temperature);
delay(1000);
}
3. KONTROL MOTOR DC
a) Motor Servo
a. Tujuan Percobaan :
1. Siswa dapat memahami prinsip kerja motor servo
2. Siswa dapat mengontrol motor servo dengan arduino
b. Teori dasar
Page 31
Pelatihan Mikrokontroller Arduino 2017
Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan sistem
closed feedback yang terintegrasi dalam motor tersebut.
Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan sistem
closed feedback yang terintegrasi dalam motor tersebut. Pada motor servo posisi putaran
sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam
motor servo.
Contoh Motor Servo Motor servo disusun dari sebuah motor DC, gearbox, variabel
resistor (VR) atau potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk
menentukan batas maksimum putaran sumbu (axis) motor servo. Sedangkan sudut dari sumbu
motor servo diatur berdasarkan lebar pulsa yang pada pin kontrol motor servo.
Page 32
Pelatihan Mikrokontroller Arduino 2017
#include <Servo.h>
Servo servo1;
int val;
void setup() {
servo1.attach(2); }
void loop()
{
val = analogRead(0);
val = map(val, 0, 1023, 0, 179);
servo1.write(val);
delay(15);
}
Page 33