You are on page 1of 66

BACA DULU INI YA!!! WARNING...

Ebook ini saya bagi GRATIS bagi kamu yang membeli:

ARDUINO UNO R3 KIT, NEWBIE V.1


Saya bagikan, karena dengan panduan ini kamu bisa jadi lebih fokus belajar Arduino
nantinya.

Saya menyusun sendiri Ebook ini, dan saya harap kamu tidak memberikan secara
membabi buta kepada orang lain. Tapi kamu masih bisa cetak ebook ini jika kamu perlukan,
untuk belajar ataupun untuk mengajarkan orang lain.

Yang PASTI kamu:

TIDAK BOLEH MENJUAL EBOOK INI!


TIDAK BOLEH MENGEDIT SEDIKITPUN ISI DARI EBOOK INI!
JIKA KAMU INGIN SHARE DI BLOG ATAU WEBSITE KAMU, PASTIKAN
MENYERTAKAN www.kelasrobot.com , maka hargailah usaha saya untuk menyusun
ebook ini!

Saya yakin kamu dapat dipercaya, karena kamu pasti dapat belajar dengan baik.
Maka selama menggunakan panduan ini, saya harap jangan pernah meloncat-loncat!
Kamu harus baca dari awal sampai akhir,. OK!

Selamat menjadi lebih Kreatif ;)


1
DAFTAR ISI...

Dengan Daftar dibawah ini, kamu jadi lebih mudah untuk menemukan apa yang kamu
cari di Ebook Ini. Dan apa yang mungkin kamu lewatkan dari materi.

Dan sekali lagi saya ingatkan TOLONG untuk tidak melompat-lompat saat
menggunakan Panduan Belajar ini. TOLONG untuk dibaca halaman perhalaman. OK!

1. WARNING!!! Baca Dulu Ini Ya.............................................................................1


2. Daftar Isi..........................................................................................................2
3. Komponen Dasar Elektronika..............................................................................3
4. Apa Itu Arduino?.............................................................................................12
5. Berbagai Jenis Arduino.....................................................................................13
6. Mengenal Arduino Uno.....................................................................................17
7. Install Dan Jalankan Arduino............................................................................20
8. Pemrograman Dasar Arduino............................................................................24
9. From BLANK To BLINK.....................................................................................34
10. Push Button....................................................................................................39
11. Analog Input Potensiometer..............................................................................42
12. Sensor Cahaya LDR.........................................................................................48
13. Melody Dalam Speaker.....................................................................................51
14. Sensor Suhu LM35...........................................................................................57

SELAMAT MENJADI LEBIH CERDAS DAN KREATIF ;)

2
KOMPONEN DASAR ELEKTRONIKA

Kita akan belajar mengenai komponen elektronika dasar yang penting, karena nanti
akan digunakan bersama Arduino saat membuat projek. Karena pada dasarnya
Arduino adalah komponen elektronika juga, iya kan! :D

Resistor
Komponen yang digunakan untuk menghambat dan mengatur arus listrik pada rangkaian
elektronika. Nilai hambatan pada resistor disebut Ohm (). Dan hambatan pada resistor
disebut resistansi atau resistance. Selain itu resistor ini tidak memiliki polaritas atau
positif negatif pada kakinya, jadi mau dipasang kebalik seperti apapun sama saja.
Resistor tergolong kedalam beberapa jenis, diantaranya:
Fixed Resistor (Resistor Tetap). Adalah jenis Resistor yang nilai hambatannya tidak
dapat berubah, dan ada cara untuk membaca nilai resistor ini, yaitu dengan membaca
warna gelang yang ada pada Resistor. Tetapi yang paling sering digunakan pada projek
Arduino yang bertegangan 5V adalah 220 Ohm untuk menghambat listrik yang masuk ke
LED, 1K Ohm untuk Button, 10K untuk LDR.

3
KOMPONEN DASAR ELEKTRONIKA

Variabel Resistor (Potensiometer). Sering disebut Potensiometer tapi ada juga yang
ukurannya lebih kecil disebut Trimpot. Bedanya, Potensiometer bisa langsung diputar
pake tangan untuk mengatur nilai hambatannya, sedangkan Trimpot memerlukan
obeng. Tapi keduanya sama-sama jenis resistor yang nilai hambatannya bisa dirubah,
yaitu dengan diputar. Sebenarnya ada juga Variabel Resistor yang jenisnya Slider, tapi
jarang digunakan.

Light Dependent Resistor (LDR). Jenis resistor yang nilai hambatannya dipengaruhi
oleh cahaya yang berada disekitar, sering disebut sensor cahaya dan digunakan pada
Robot Light Follower. Untuk dapat bekerja dengan baik khususnya pada Arduino, LDR
memerlukan Resistor yang bernilai tetap (Fixed Resistor) dengan ukuran 10K atau lebih.
Bisa juga menggunakan Trimpot kalau mau lebih praktis ;)

4
KOMPONEN DASAR ELEKTRONIKA

Thermistor (NTC/PTC). Gabungan dari Thermo (suhu) dan Resistor. Jenis resistor
yang nilai hambatannya dipengaruhi oleh suhu. Terdapat dua jenis Thermistor, yaitu:
Negative Temperature Coefficient (NTC), yang mana nilai resistansinya akan naik
apabila suhu disekitar turun. Dan Positive Temperature Coefficient (PTC), yang mana
nilai resistansi akan naik jika suhu disekelilingnya juga naik.

Kapasitor
Sering disebut kondensator adalah komponen elektronika yang fungsinya untuk
menyimpan listrik sementara. Dalam radio kapasitor berfungsi untuk memilih gelombang
pada turner. Dalam power suply digunakan sebagai filternya. Dan satuan dari kapasitor
sendiri adalah Farad (F).
Kapasitor tergolong kedalam beberapa jenis, diantaranya:

Kapasitor Biasa. Bernilai tetap dan tidak memiliki polaritas, maksudnya tidak ada positif
dan negatifnya seperti resistor. Ada banyak bahan yang digunakan untuk membuat
kapasitor jenis ini, ada yang dari kertas, mika, polyster, dan juga dari keramik.

5
KOMPONEN DASAR ELEKTRONIKA

Kapasitor Elektrolit (Electrolyte Condensator). Sering disingkat Elco, adalah jenis


kapasitor yang nilainya tetapi yang satu ini memiliki polaritas. So, kamu jangan sampai
salah pasang ya, yang kakinya panjang itu positif yang negatif yang pendek. OK! Dan
selain ELCO, kapasitor yang memiliki polaritas ada juga yang bernama Kapasitor
Tantalum.

Kapasitor Variabel (Variable Capacitor). Adalah jenis kapasitor


yang nilainya bisa berubah.

Induktor
Sering disebut juga kumparan (coil). Merupakan komponen
elektronika yang berfungsi untuk mengatur frekuensi, filter dan juga
sebagai alat penyambung. Induktor sering digunakan pada
rangkaian elektronika yang berhubungan dengan frekuensi. Dan
satuan dari induktansi pada induktor disebut Henry(H).
Induktorpun tergolong kedalam beberapa jenis, yaitu: Induktor yang
nilainya tetap dan induktor yang nilainya dapat berubah (coil
variable).

6
KOMPONEN DASAR ELEKTRONIKA

Dioda
Merupakan komponen elektronika yang berfungsi untuk menghantarkan arus listrik
searah dan menghambat arus listrik dari arah sebaliknya. Berdasarkan fungsi Dioda
terdiri beberapa jenis, diantaranya:
Dioda Penyearah (rectifier diode). Biasanya terbuat dari silikon dan berfungsi untuk
penyearah arus bolak balik dari AC ke arus DC.

Diode Zener (zener diode). Berfungsi sebagai pengaman rangkaain yang ditentukan
oleh tegangan dioda zener bersangkutan. Yang mana tegangannya disebut tegangan
zener.

7
KOMPONEN DASAR ELEKTRONIKA

Light Emiting Diode (LED). Adalah jenis dioda yang dapat memancarkan cahaya.
Penggunaannya sebagai lampu penerangan yang lebih hemat dan lebih awet dari lampu
pijar dan lampu neon.

Dioda Foto (photo diode). Adalah jenis dioda yang peka terhadap cahaya, bahkan juga
cahaya dipancarkan infra merah. Makanya sering digunakan sebagai sensor dalam
robot, contoh robot Line Follower.

Dioda Kapasitas (varactor diode). Adalah jenis diode yang kapasitasnya dapat berubah-
ubah, sesuai dengan besar kecilnya tegangan yang diberikan kepada dioda ini. Jika
tegangan yang diberikan besar, kapasitasnya akan menurun, dan apabila tegangan yang
diberikan kecil, kapasitasnya menjadi besar.

8
KOMPONEN DASAR ELEKTRONIKA

Transistor
Keberadaan transistor sangat berpengaruh dalam perkembangan elektronika, karena
transistor ini memiliki banyak fungsi. Ada yang sebagai penguat arus, penghubung dan
pemutus (switch), stabilitas tegangan, modulasi sinyal, penyearah dan masih banyak
lagi. Pada dasarnya cara kerja dari transisitor ini mirip seperti keran air, dan transisitor
memiliki tiga kaki, yaitu: Basis (B), Emitor (E), dan Collector (C).

Integrated Circuit (IC)


IC komponen yang terdiri dari ratusan bahkan jutaan transistor, resistor dan komponen
lainnya yang menjadi sebuah rangkaian kecil. Jumlah kakinya beragam mulai dari yang
berkaki 3, hingga yang berkaki ratusan. Dan fungsinya pun beragam ada yang sebagai
penyambung, penguat, pengontrol, hingga media penyimpanan.
Dan pada umumnya, IC digunakan sebagai otak dalam peralatan
elektronika khususnya robot. Contoh IC yang digunakan pada Robot
adalah Microcontroller seperti Arduino. Dan ada juga yang digunakan
sebagai otak pada sebuah komputer adalah processor, memiliki ratusan
kaki.

9
KOMPONEN DASAR ELEKTRONIKA

Saklar (switch)
Komponen elektronika yang digunakan untuk menghubungkan dan memutuskan arus
listrik. Ada banyak jenis saklar, diantaranya:
Rocker Switch. Jenis saklar yang paling sering digunakan, dengan cara
kerja yang cukup sederhana. Arus akan terhubung apabila kita menekan
bagian yang bersimbol 1, dan akan terputus apabila kita tekan yang
bersimbol 0.
Toggle Switch. Cara kerja mirip dengan rocker switch, yang
membedakan hanya bentuknya saja.

Push Button (button switch). Arus listrik akan terhubung hanya saat
kita menekan tombolnya, dan akan terputus saat kita lepas (tidak
menekan). Sering digunakan untuk tombol pada remote, dan juga
sensor sentuh pada sebuah robot.
Bump Switch. Cara kerja sama dengan push button, tetapi yang satu ini lebih sensitif,
lebih mudah untuk ditekan. Dan bentuk mekaniknya seolah dirancang untuk menjadi
sensor sentuh bagi robot avoider (halang rintang) sederhana.

10
KOMPONEN DASAR ELEKTRONIKA

Breadboard
Sebutan lainnya adalah Project Board, digunakan untuk membuat rangkain percobaan
elektronika tanpa harus menyolder. Memudahkan kita ketika mencoba membuat projek,
atau mencoba sebuah rangkaian elektronika. Ada banyak sekali jenis Breadboard, salah
satunya seperti yang dibawah ini.

Breadboard merupakan barisan lubang yang terhubung, dan untuk mengetahui lubang
mana saja yang terhubung, kamu bisa melihatnya pada gambar diatas yang sebelah
kanan.

11
APA ITU ARDUINO?
Arduino adalah microcontroller, dan microcontroller secara
singkat adalah, "Sebuah sistem komputer yang fungsional
dalam sebuah chip,". Didalamnya sudah ada processor,
memory, input output, dan bisa dibilang bahwa
microcontroller ini adalah komputer dalam versi mini.
Karena ukurannya yang kecil, microcontroller sering
digunakan untuk mengendalikan rangkaian lampu LED,
membuat MP3 Player, DVD, Televisi, AC, dan untuk
membuat sebuah projek yang kita butuhkan seperti alarm
motor misalkan . Dan tentu saja bisa juga untuk membuat
projek robot. Dan dalam robot sendiri kita sudah ketahui
bahwa microcontroller, berfungsi sebagai otaknya.
Nah lalu, apa yang membedakan Arduino dengan microcontroller yang lain? Arduino open
source, skemanya boleh di cloning. Terus Arduino memiliki bahasa pemrograman sendiri.
Didalam chipnya sudah ada bootloader, dimana bahasa pemrogramannya menggunakan
bahasa C, tapi yang sudah disederhanakan. Dan juga sudah tersedia berbagai macam
library.
Dan yang paling penting adalah Arduino adalah Microcontroller yang paling populer di
Dunia. Dan karena open source, pengembangnya ada dimana-mana, sehingga kita juga
tidak akan kesulitan ketika mau mencari referensi.

Dan yang terakhir bagi saya adalah arduino itu keren. ;)

12
BERBAGAI JENIS ARDUINO

Arduino lahir dan berkembang, kemudian muncul


dengan berbagai jenis. Diantaranya adalah:

Arduino Uno. Jenis yang ini adalah yang paling banyak digunakan.
Terutama untuk pemula sangat disarankan untuk menggunakan
Arduino Uno. Dan banyak sekali referensi yang membahas Arduino
Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3),
menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14
pin I/O digital dan 6 pin input analog. Untuk pemrograman cukup
menggunakan koneksi USB type A to To type B. Sama seperti yang
digunakan pada USB printer.
Arduino Due. Berbeda dengan saudaranya, Arduino Due
tidak menggunakan ATMEGA, melainkan dengan chip
yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin
digital dan 12 pin input analog. Untuk pemrogramannya
menggunakan Micro USB, terdapat pada beberapa
handphone.

Arduino Mega. Mirip dengan Arduino Uno, sama-


sama menggunakan USB type A to B untuk
pemrogramannya. Tetapi Arduino Mega, menggunakan
Chip yang lebih tinggi ATMEGA2560. Dan tentu saja
untuk Pin I/O Digital dan pin input Analognya lebih
banyak dari Uno.

13
BERBAGAI JENIS ARDUINO

Arduino Leonardo. Bisa dibilang Leonardo adalah


saudara kembar dari Uno. Dari mulai jumlah pin I/O
digital dan pin input Analognya sama. Hanya pada
Leonardo menggunakan Micro USB untuk
pemrogramannya.

Arduino Fio. Bentuknya lebih unik, terutama


untuk socketnya. Walau jumlah pin I/O digital
dan input analognya sama dengan uno dan
leonardo, tapi Fio memiliki Socket XBee.
XBee membuat Fio dapat dipakai untuk
keperluan projek yang berhubungan dengan
wireless.

Arduino Lilypad. Bentuknya yang melingkar membuat


Lilypad dapat dipakai untuk membuat projek unik.
Seperti membuat amor iron man misalkan. Hanya versi
lamanya menggunakan ATMEGA168, tapi masih cukup
untuk membuat satu projek keren. Dengan 14 pin I/O
digital, dan 6 pin input analognya.

14
BERBAGAI JENIS ARDUINO

Arduino Nano. Sepertinya namanya, Nano yang


berukulan kecil dan sangat sederhana ini, menyimpan
banyak fasilitas. Sudah dilengkapi dengan FTDI untuk
pemrograman lewat Micro USB. 14 Pin I/O Digital, dan
8 Pin input Analog (lebih banyak dari Uno). Dan ada
yang menggunakan ATMEGA168, atau ATMEGA328.

Arduino Mini. Fasilitasnya sama dengan yang


dimiliki Nano. Hanya tidak dilengkapi dengan Micro
USB untuk pemrograman. Dan ukurannya hanya 30
mm x 18 mm saja.

Arduino Micro. Ukurannya lebih panjang


dari Nano dan Mini. Karena memang
fasilitasnya lebih banyak yaitu; memiliki 20
pin I/O digital dan 12 pin input analog.

Arduino Ethernet. Ini arduino yang sudah dilengkapi


dengan fasilitas ethernet. Membuat Arduino kamu dapat
berhubungan melalui jaringan LAN pada komputer.
Untuk fasilitas pada Pin I/O Digital dan Input Analognya
sama dengan Uno.

15
BERBAGAI JENIS ARDUINO

Arduino Esplora. Rekomendasi bagi kamu


yang mau membuat gadget sepeti Smartphone,
karena sudah dilengkapi dengan Joystick,
button, dan sebagainya. Kamu hanya perlu
tambahkan LCD, untuk lebih mempercantik
Esplora.

Arduino Robot. Ini adalah paket


komplit dari Arduino yang sudah
berbentuk robot. Sudah dilengkapi
dengan LCD, Speaker, Roda, Sensor
Infrared, dan semua yang kamu
butuhkan untuk robot sudah ada
pada Arduino ini.

16
MENGENAL ARDUINO UNO

"bagi yang baru belajar Arduino, Uno adalah pilihan yang tepat."

Kenapa Arduino Uno pilihan tepat untuk pemula? Karena dengan mulai mempelajari Uno,
nantinya kamu tidak akan kesulitan lagi ketika akan menggunakan Arduino tipe lain. Karena
pada dasarnya sistem arduino sama, hanya fasilitas dan beberapa antarmukanya saja
yang berbeda.

BAGIAN-BAGIAN DARI ARDUINO UNO

17
MENGENAL ARDUINO UNO

1. ATMEGA328. Arduino menggunakan chip Atmega328, dimana mempunyai memori


untuk menyimpan program sebanyak 32KB. Sekitar 0,5KB digunakan untuk
Bootloader(sistem untuk Arduino).

2. Digital I/O. Uno memiliki 14 pin yang bisa digunakan untuk Input dan Output (Input
disini berupa sensor-sensor, dan output seperti LED, Speaker, Servo, dan sebagainya).
Pin tersebut mulai dari 0 sampai 13. Tapi khusus untuk pin 3, 5, 6, 9, 10 dan 11, dapat
digunakan sebagai pin analog output atau sebutan lainnya PWM (Pulse With Module).
Kita dapat memprogram pin output analog dengan nilai 0-255, dimana itu mewakili
tegangan 0-5V.

3. Analog Input. Uno juga memiliki 6 pin yang bisa digunakan untuk Input sensor
analog, seperti sensor cahaya LDR, potentiometer, sensor suhu, dan sebagainya. Pin
tersebut mulai dari 0 sampai 5. Dan nilai sensor dapat dibaca program dengan nilai
antara 0-1023, itu mewakili tegangan 0-5V.

4. USB. Arduino Uno adalah jenis arduino yang dapat diprogram menggunakan USB
type A to type B. Dan untuk socket yang type A kamu sambungkan ke komputer, yang
type B kamu sambungkan ke Arduino Unonya. USB ini sudah termasuk sambungan
power, jadi kamu tidak perlu baterai atau yang lainnya saat mau memprogram.

5. Power. Uno memiliki power 5V yang bisa kamu gunakan untuk rangkaian, dan ada
juga yang 3,3V, serta dengan Groundnya.

18
MENGENAL ARDUINO UNO

6. ICSP. Singkatan dari In-Circuit Serial Programing, fungsinya ketika kamu mau
memprogram Arduino langsung, tanpa menggunakan Bootloader. Tapi kebanyakan
pengguna Arduino tidak menggunakan ini, jadi tidak terlalu dipakai, walau sudah
disediakan.

7. Kristal. Chip Microcontroller itu diibaratkan otak pada Arduino, dan kristal di ibaratkan
jantungnya Arduino. Dimana jantung Arduino ini dapat berdetak sebanyak 16 juta kali
perdetik atau biasa disebut 16MHz. Dan microcontroller melakukan sebuah operasi
untuk setiap detaknya kristal.

8. Reset. Adalah tombol khusus yang ada pada Arduino, berfungsi ketika kamu
mengulang keposisi awal program yang digunakan. Atau ketika error terjadi kamu bisa
menggunakan tombol reset ini.

9. Socket DC. Ini adalah socket untuk sambungan power Arduino, ketika kamu melepas
USB setelah memprogram, atau mau membuat projek yang permanen (Tidak akan
diprogram lagi). Power ini bisa menerima Input listrik antara 6-12V.

Sekarang apa kamu tertarik untuk mempelajari Arduino Uno? Dengan fasilitas sebanyak
itu, kamu tentu saja dapat membuat projek yang kamu inginkan. Dan sudah pasti kamu
juga bisa membuat robot dengan berbagai macam kecerdasan.

19
INSTALL DAN JALANKAN ARDUINO
Arduino terdiri dari 2 bagian yaitu; Hardware
dan Software. Untuk hardware karena ada
banyak jenis-jenis arduino, saya sarankan
kamu pilih Arduino Uno R3. Karena kalau
dilihat dari harga paling terjangkau, fasilitas
tercukupi, dan terdapat banyak shield yang
mendukung. Walaupun pada dasarnya semua
Arduino itu sama, hanya fitur dan desain saja
yang membedakannya.
Untuk menghubungkan Arduino Uno dengan komputer, menggunakan kabel USB tipe A to
tipe B. Biasanya digunakan juga untuk menghubungkan printer dengan komputer.
Kemudian untuk software, apapun Arduino yang
kamu pakai. Softwarenya tetap pakai IDE Arduino.

Apa itu IDE Arduino?

IDE Arduino adalah software yang digunakan untuk


membuat sketch program Arduino. Bisa di install di
Windows, Linux, ataupun bagi kamu yang menggunakan
MAC juga bisa. Untuk download kamu bisa langsung
mengunjungi halaman resminya
https://www.arduino.cc/en/main/software . Untuk yang versi
terbaru, sudah ada Driver USB, jadi kamu tinggal pilih
install bersama driver.

20
INSTALL DAN JALANKAN ARDUINO

Setelah Arduino selesai terinstall. Kamu bisa langsung coba buka Arduino, dan saat
awal dibuka akan muncul tampilan seperti dibawah ini.

Lalu setelah terbuka akan muncul jendela


pemrograman Arduino, dengan antarmuka yang
sangat sederhana dan mudah sekali untuk
digunakan.

Pada saat pertama kali software Arduino


1.6.4 muncul, ada kode yang sudah ada
disana yaitu void setup dan void loop.
Semua kode yang dimasukan kedalam
void setup akan dibaca sekali oleh
Arduino, dan kode yang dimasukan ke
void loop akan dibaca berulang.

21
INSTALL DAN JALANKAN ARDUINO

Untuk mencoba test program kamu bisa copy paste program dibawah ini.

void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

Lalu klik menu file dan Upload, atau bisa dengan


menekan kombinasi ctrl+u di keyboard. Jika sudah
berhasil terupload akan muncul Done Uploading
dibagian bawah software, dan karena program
diatas adalah program Blink. Maka akan ada satu
LED yang berkedip di papan arduino kamu.

22
INSTALL DAN JALANKAN ARDUINO

Lalu jika terjadi masalah, seperti Arduino tidak terhubung


atau terjadi error saat program. Maka pastikan:

Kamu memilih port yang benar.

NOTED: Bahasa pemrograman dari Arduino


ini sebenarnya mirip bahasa C yang
digunakan pada AVR, tapi lebih Kamu memilih jenis papan Arduino
disederhanakan lagi. Dan dengan bantuan yang sesuai dengan yang kamu
library yang tersedia dimana-mana Arduino gunakan saat ini, contoh saya yang
jadi lebih mudah untuk dipelajari dan lebih menggunakan Arduino Uno.
fleksibel untuk digunakan untuk membuat
projek apapun. Untuk membuat robot? Tentu
saja!

23
Pemrograman DASAR ARDUINO

Seperti yang saya bilang sebelumnya, bahasa pemrograman Arduino mirip bahasa C
yang digunakan pada AVR. Akan tetapi lebih sederhana, dan lebih mudah untuk
dipelajari. Ada yang bilang juga bahwa bahasa pemrograman Arduino adalah bahasa
processing.

Bagi saya bahasa pemrograman yang digunakan pada Arduino adalah bahasa
pemrograman Arduino ;) hehe
Saya ingin mengajak kamu untuk belajar Bahasa
pemrograman Dasarnya. Penting sekali, supaya saat
dipembahasan selanjutnya saya kasih kamu contoh
program. Kamu sudah bisa memahami dan tidak
bingung, karena kamu sudah tahu dasarnya. Ok!
Baiklah kita akan mulai dari:
void setup() {
// semua kode yang disini akan dibaca sekali oleh
Arduino
}

void loop() {
//semua kode yang ada disini akan dibaca berulang kali
(terus menerus) oleh Arduino
}

24
Pemrograman DASAR ARDUINO
Semua kode program yang ada dalam void setup akan dibaca sekali oleh Arduino.
Biasanya isinya berupa kode perintah untuk menentukan fungsi pada sebuah pin.
Contoh kodenya seperti:

pinMode(13, OUTPUT); // menentukan pin 13 sebagai OUTPUT


pinMode(3, INPUT); // menentukan pin 3 sebagai INPUT

Adapun untuk komunikasi antara Arduino dengan komputer, menggunakan:

Serial.begin(9600); // untuk komunikasi Arduino dengan komputer


Semua kode program yang ada di void loop akan dibaca setelah void setup dan akan
dibaca terus menerus oleh Arduino. Isinya berupa kode-kode perintah kepada pin
INPUT dan OUTPUT pada Arduino. Contoh kodenya seperti:

digitalWrite(13, HIGH); //untuk memberikan 5V (nyala) kepada pin 13.


digitalWrite(13, LOW); //untuk memberikan 0V (mati) kepada pin 13.
analogWrite(3, 225); //untuk memberikan nilai 225 (setara dengan 5V)
kepada pin 3.

Adapun untuk menampilkan nilai dari sebuah sensor di Serial Monitor, bisa
menggunakan:

Serial.print(namasensor); //menampilkan nilai sensor yang disimpan di variabel nama


sensor

25
Pemrograman DASAR ARDUINO

Untuk menampilkan teks, bisa menggunakan:


Serial.print("Selamat Datang"); //menampilkan teks Selamat Datang pada Serial Monitor

Dan untuk membuka Serial Monitor sendiri pada Arduino, bisa dengan memilih menu
Tools kemudian pilih Serial Monitor. Atau dengan menekan kombinasi CTRL+SHIFT+M
di keyboard. Atau bisa juga dengan meng-klik ikon Kaca Pembesar di Arduino, seperti
gambar dibawah ini:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - -
MARI BAHAS LEBIH DETAIL LAGI!
CATATAN PADA PROGRAM
Kamu bisa membuat catatan pada program dan tidak akan dibaca oleh Arduino,
dengan cara mengetikan // kemudian mengetikan catatannya, seperti:

void loop() {

// catatan pada baris ini tidak akan dibaca oleh program


}

26
Pemrograman DASAR ARDUINO
Tapi pemakaian tanda // hanya berfungsi untuk catatan satu baris saja, jika kamu ingin
membuat catatan yang panjang yaitu berupa paragraf. Maka pertama kamu ketikan /*
lalu ketikan catatan kamu, dan jika sudah selesai tutup dengan kode */ . Contohnya
seperti:

void loop() {

/* apapun yang kamu mau ketikan disini tidak


akan dibaca oleh program
sepanjang apapun kamu mengetiknya
*/

KURUNG KURAWAL {}
Digunakan untuk menentukan awal dan akhir dari program. Karena seperti bahasa
pemrograman pada umumnya, Arduino membaca mulai dari atas hingga kebawah.
void loop()
{
....program
....program
....program
}

27
Pemrograman DASAR ARDUINO
TITIK KOMA ;
Setiap baris kode pada Arduino harus diakhiri dengan tanda ;

void setup(){
pinMode(13, OUTPUT);
}

void loop(){
digitalWrite(13, HIGH);
}
VARIABLES
Variabel adalah kode program yang digunakan untuk menyimpan suatu nilai pada
sebuah nama. Yang biasa digunakan diantaranya adalah Integer, Long, Boolean, Float,
Character.
int (integer)
Variabel yang paling sering digunakan dan dapat menyimpan data sebesar 2 bytes (16
bits).
long (long)
Biasa digunakan jika nilai datanya lebih besar dari integer. Menggunakan 4 bytes (32
bits).
boolean (boolean)
Variabel yang hanya menyimpan nila TRUE dan FALSE saja. Hanya menggunakan 1 bit
saja ;)

28
Pemrograman DASAR ARDUINO
float(float)
Digunakan untuk floating point pada nilai decimal. Memory yang digunakan 4 bytes (32
bits).
char(character)
Menyimpan character berdasarkan ASCII kode (contoh: 'A'=65). Menggunakan 1 byte
(8 bits).

OPERATOR MATEMATIKA
Digunakan untuk memanipulasi nilai dengan perhitungan matematika sederhana
seperti: penjumlahan, pengurangan, sama dengan, dan sebagainya.

= (sama dengan) (contoh x=10*2 (x sekarang jadi 20))


% (persentase) (contoh 12%10 (hasilnya yaitu 2))
+ (penambahan)
- (pengurangan)
* (perkalian)
/ (pembagian)

OPERATOR PERBANDINGAN
Digunakan untuk melakukan perbandingan secara logika.
== (sama dengan) contoh: 15 == 10 FALSE atau 15 == 15 TRUE
!= (tidak sama dengan) contoh: 15 != 10 TRUE atau 15 != 15 FALSE
< (lebih kecil dari) contoh: 15 < 10 FALSE atau 12 < 14 TRUE
> (lebih besar dari) contoh: 15 > 19 TRUE atau 15 > 10 FALSE

29
Pemrograman DASAR ARDUINO

STRUKTUR PENGENDALI
Program yang digunakan untuk menentukan sebuah kondisi, dan jika kondisinya sudah
terpenuhi maka akan melaksanakan perintah yang sudah ditentukan. Dan saat tidak
memenuhi kondisinya juga ada perintah yang dilaksanakan oleh Arduino.

if(kondisi A) Pertama Arduino akan lihat Kondisi A. Jika terpenuhi, maka akan
{ melaksanakan Kode Perintah A.
Kode Perintah A Tapi jika TIDAK, Arduino akan lihat Kondisi B. Jika terpenuhi,
} maka akan melaksanakan Kode Perintah B.
else if(kondisi B) Tapi jika TIDAK juga, maka Arduino akan melaksanakan Kode
{ Perintah C.
Kode Perintah B
}
for(int i = 0; i < #repeats; i++)
else
{ {
Kode Perintah C Kode Perintah
} }
Kode diatas digunakan saat kita ingin mengulangi kode
atau nilai dalam beberapa kali. Penjelasan detailnya nanti
akan dibahas ketika mencoba membuat projek, biar lebih
mudah dipahami, OK. ;)

30
Pemrograman DASAR ARDUINO

KODE DIGITAL
Digunakan untuk pemrograman yang menggunakan Pin Digital pada Arduino.

pinMode( pin, mode);


Kode diatas digunakan untuk seting mode pin. Pin adalah nomer pin yang
akan digunakan, kalo kamu pake Arduino Uno, pin Digitalnya dari 0-13. dan
mode sendiri bisa berupa INPUT atau OUTPUT.
Contoh:
pinMode(13, OUTPUT); // artinya pin 13 digunakan sebagai OUTPUT
pinMode(7, INPUT); // artinya pin 7 digunakan sebagai INPUT

Dan seperti yang sudah saya bilang untuk kode pinMode itu ada didalam void setup.

digitalRead(pin);
Kode diatas digunakan pin INPUT, untuk membaca nilai sensor yang ada pada pin.
Dan nilainya hanya terbatas pada 1 (TRUE), atau 0 (FALSE).
Contoh:
digitalRead(13); // artinya kode akan membaca nilai sensor pada pin 13

31
Pemrograman DASAR ARDUINO
Kode digitalRead kita masukan dalam void loop.
digitalWrite(pin, nilai);
Kode diatas digunakan untuk pin OUTPUT yang sudah kita seting apakah akan
diberikan HIGH (+5V), atau LOW (Ground).
Contoh:
digitalWrite(13, HIGH); // artinya pin 13 kita diberi tegangan +5V
digitalWrite(13, LOW); // artinya pin 13 kita diberi tegangan 0 / Ground
Dan untuk kode digitalWrite tentu saja kita masukan dalam void loop.
analogWrite(pin, nilai);
Meskipun Arduino adalah perangkat digital, tapi kita masih bisa menggunakan fungsi
Analognya pada pin Digital Arduino. Tapi hanya beberap pin saja, yang biasa kita
sebut PWM (Pulse With Modulation). Pada Arduino Uno memiliki 6 pin PWM, yaitu:
3,5,6,9, 10, dan 11.

Dengan begini nilai yang dihasilkan menjadi bervariasi dari 0-225, itu setara dengan
0-5V.
Contoh:
analogWrite(3, 150); // artinya pin 3 diberikan nilai sebesar 150

32
Pemrograman DASAR ARDUINO

KODE ANALOG
Kode analog ini digunakan ketika ingin menggunakan pin Analog pada Arduino. Untuk
Arduino Uno pin Analog dari A0-A5. Dan karena ini pin Analog maka hanya bisa kita
gunakan sebagai INPUT saja. Dan juga tidak perlu menulis pinMode pada void setup.

analogRead(pin);
Kode diatas digunakan untuk membaca nilai pada sensor Analog. Yaitu antara 0-1024.

Contoh:
analogRead(A0); // artinya kode akan membaca nilai sensor pada pin AO.

CATATAN: Kode dalam Arduino adalah Case Sensitive. Maksudnya penggunaan huruf
kecil atau huruf besar sangat berpengaruh. Dan untuk yang satu ini Arduino akan
memberitahu, saat proses compile jika ada kode program yang salah tulis.

33
FROM BLANK TO BLINK

A. Projek pertama yang akan kita buat adalah menyalakan LED dan
membuat LED berkedip (blink).
Yang kamu perlu persiapkan adalah:
1x Arduino,
1x Breadboard,
1x LED,
1x Resistor 220 ohm,
2x Kabel Jumper.

Lalu buatlah rangkaian seperti gambar 1.0

NOTES:
Pin GND Arduino ke Breadboard.
Pin negatif LED ke GND melalui resistor 220ohm.
pin positif LED ke pin 13 Arduino.

( Gambar 1.0 )

34
FROM BLANK TO BLINK
B. Pembuatan sketch untuk BLINK sangatlah mudah, setelah masuk ke Program
ARDUINO kemudian klik FILE => EXAMPLE => BASIC => BLINK

Atau salin ulang sketch dibawah ini;

void setup() {
pinMode(13, OUTPUT); // membuat pin 13 menjadi OUTPUT.
}
void loop() {
digitalWrite(13, HIGH); // menyalakan LED yang terhubung pada pin 13
delay(1000); // menunggu waktu selama 1 detik (1000 mili detik)
digitalWrite(13, LOW); // mematikan LED yang terhubung pada pin 13
delay(1000); // menunggu waktu selama 1 detik (1000
mili detik)
}

NOTES:
Semua perintah yang ada didalam void setup() akan dibaca sekali.
Semua perintah yang ada didalam void loop() akan dibaca berulang kali.
pinMode digunakan mengatur apakah pin 13 akan menjadi INPUT atau OUTPUT.
digitalWrite untuk mengatur apakah pin 13 akan dibuat HIGH (hidup) atau LOW (mati).
delay untuk memberikan jeda (1000 = 1 detik).

35
FROM BLANK TO BLINK
C. BLINK 3 LED
Untuk memprogram 3 LED sekaligus, kita bisa
menggunakan variabel int. Sebelumnya kamu bisa
membuat rangkaian seperti gambar 1.1

Dan untuk sketch program silahkan salin ulang dibawah


ini;

int LED1 = 9; //pembuatan variabel LED1 untuk pin 9


int LED2 = 8; //pembuatan variabel LED2 untuk pin 8
int LED3 = 7; //pembuatan variabel LED3 untuk pin 7

void setup() {
pinMode(LED1, OUTPUT); // membuat LED1 menjadi
OUTPUT.
pinMode(LED2, OUTPUT); // membuat LED2 menjadi
OUTPUT.
pinMode(LED3, OUTPUT); // membuat LED3 menjadi
OUTPUT. ( Gambar 1.1 )
}

36
FROM BLANK TO BLINK

void loop() {
digitalWrite(LED1, HIGH); // menyalakan LED1 yang terhubung pada pin 9
digitalWrite(LED2, HIGH); // menyalakan LED2 yang terhubung pada pin 8
digitalWrite(LED3, HIGH); // menyalakan LED3 yang terhubung pada pin 7
delay(1000); // menunggu waktu selama 1 detik (1000 mili detik)
digitalWrite(LED1, LOW); // mematikan LED1 yang terhubung pada pin 9
digitalWrite(LED2, LOW); // mematikan LED2 yang terhubung pada pin 8
digitalWrite(LED3, LOW); // mematikan LED3 yang terhubung pada pin 7
delay(1000); // menunggu waktu selama 1 detik (1000 mili detik)
}

NOTES:
Variabel int digunakan untuk membuat setiap pin 13 menjadi variabel LED 1 .Ini
berguna jika mau merubah semua pin 13 menjadi misal 9, kita cukup merubah program
ini int LED1 = 13; menjadi int LED1 = 9;

Jika dalam pembuatan program kamu mengetik ulang dari modul ini ke komputer kamu,
bagian sketch yang berwarna //abu abu , tidak perlu ikut diketik karena tidak akan
dibaca Arduino.

37
FROM BLANK TO BLINK

D. MARI LEBIH KREATIF!!!


Untuk latihan kamu coba buat rangkaian 5 LED
seperti gambar 1.2

Kemudian buatlah program sketch seperti;

1.Membuat kelima LED berkedip bersamaan.


2.Membuat kelima LED menyala satu persatu, dari
LED pertama sampai LED kedua.
3.Membuat 2 LED menyala dan 3 LED lagi mati
bergantian.

Kamu juga bisa bermain pada delay, membuat


LED berkedip 1 detik (1000 mili detik), kemudian
tiba-tiba berkedipnya menjadi cepat menjadi 0,1
detik (100 mili detik). Atau kamu bisa membuat
yang lebih kreatif lagi ;) ( Gambar 1.2 )

38
PUSH BUTTON

A. Jika button ditekan


LED menyala, jika tidak
LED mati,

Yang harus kamu siapkan;


1x Arduino
1x Breadboard
1x Push button
1x LED
1x Resitor 10k
1x Resistor 220ohm
7x Kabel jumper ( Gambar 1.3 )

Buatlah rangkain seperti gambar 1.3

NOTES:
Hubungkan 5V dan GND dari Arduino ke Breadboard.
Hubungkan kaki pertama button ke 5V dan kaki ke-2 ke kaki pertama resitor 10k.
Hubungkan kaki ke-2 resistor 10k ke GND.
Hubungkan pin 2 Arduino ke kaki ke-2 button.
Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.

39
PUSH BUTTON
B. Untuk sketch-nya kamu bisa ambil sampel pada
FILE=>EXAMPLES=>DIGITAL=>BUTTON
Atau salin ulang program dibawah ini;

int buttonPin = 2; // membuat variabel buttonPin untuk pin 2


int ledPin = 13; // membuat variabel ledPin untuk pin 13
int buttonState = 0; // variabel untuk posisi awal button agar dibaca LOW

void setup() {
pinMode(ledPin, OUTPUT); // membuat ledPin menjadi OUTPUT
pinMode(buttonPin, INPUT); // membuat buttonPin menjadi INPUT
}

void loop() {
buttonState = digitalRead(buttonPin); // membuat variabel buttonState untuk mengambil
nilai dari buttonPin
if (buttonState == HIGH) { // Jika nilai buttonPin = HIGH
digitalWrite(ledPin, HIGH); // maka ledPin akan menyala
}
else { // Jika tidak
digitalWrite(ledPin, LOW); // maka ledPin akan mati
}
}

40
PUSH BUTTON

NOTES:
Variabel int buttonState=0; digunakan untuk menentukan nilai awal yang terbaca
adalah 0 atau LOW.
Variabel baru buttonState = digitalRead(buttonPin); digunakan untuk menyimpan nilai
baca dari buttonPin kedalam variabel buttonState.
digitalRead sendiri berfungsi untuk membaca nilai sensor secara digital (LOW=GND,
HIGH=5V).
if (buttonState == HIGH) digunakan untuk menampilkan jika nilai dari buttonState
adalah HIGH, maka lampu LED akan menyala digitalWrite(ledPin, HIGH);
else jika tidak maka lampu LED akan mati digitalWrite(ledPin, LOW);

C. MARI LEBIH KREATIF!!!

Dengan rangkaian yang sama, kamu bisa membuat sketch program seperti;

1.Jika button ditekan lampu LED mati, jika tidak menyala.


2.Jika button ditekan lampu LED berkedip, jika tidak hanya menyala.
3.Jika button ditekan lampu LED berkedip cepat, jika tidak berkedip lambat.

41
ANALOG INPUT POTENSIOMETER

A. Mengatur kecepatan Blink


dengan Potensiometer (analog
input).

Yang harus kamu siapkan;


1x Arduino
1x Breadboard
1x Potensiometer
1x Led ( Gambar 1.4 )
7x Kabel Jumper

( Gambar 1.3 A)
Buatlah rangkaian seperti gambar 1.4

NOTES:
Hubungkan 5V dan GND dari Arduino ke Breadboard
Hubungkan kaki kanan Potensiometer ke VCC
Hubungkan kaki kiri Potensiometer ke GND
Hubungkan kaki tengah Potensiometer ke pin A3 Arduino
Untuk LED rangkaiannya tidak jauh berbeda dengan pembahasan sebelumnya.

42
ANALOG INPUT POTENSIOMETER
B. Untuk mencoba pemrograman Potensiometer, kamu bisa gunakan sampel pada
File=>Examples=>Analog=>AnalogInput. Atau sallin ulang sketch ini;
int sensorPin = A0; // membuat variabel sensorPin untuk pin AO
int ledPin = 13; // membuat variabel ledPin untuk pin 13
int sensorValue = 0; // membuat variabel sensorValue untuk menentukan nilai
awal sensor

void setup() {
pinMode(ledPin, OUTPUT); // membuat variabel ledPin menjadi OUTPUT
}

void loop() {
sensorValue = analogRead(sensorPin); // membuat variabel sensorValue untuk
membaca nilai dari sensorPin

digitalWrite(ledPin, HIGH); // menyalakan ledPin


delay(sensorValue); // memberi waktu jeda sebanyak
sensorValue
digitalWrite(ledPin, LOW); // mematikan ledPin
delay(sensorValue); // memberi waktu jeda sebanyak
sensorValue
}

43
NOTES:
int sensorPin = A0; digunakan untuk membuat pin A0 menjadi variabel sensorPin dan
karena pin AO adalah input analog, maka pada void setup tidak perlu dibuat program
pinMode(sensorPin, INPUT); karena kalau pin analog sudah pasti INPUT, tidak bisa
digunakan untuk OUTPUT.
mengingat kembali fungsi dari sensorValue = analogRead(sensorPin); adalah untuk
menyimpan nilai baca dari sensorPin kedalam variabel sensorValue.
delay(sensorValue); digunakan untuk memberikan waktu jeda berdasarkan nilai yang
keluar dari sensorPin, jadi kecepatan lampu berkedip berdasarkan potensiometer.

C. Membaca Nilai dari Potensiometer dan Mengatur Terang Redup


Cahaya LED (AnalogInOut)

Seperti yang kita tahu bahwa potensiometer adalah jenis resistor yang hambatannya dapat
berubah.

Masih dengan rangkaian yang sama (pin 13 dipindakan ke pin 9) kita akan membuat
sketch program, untuk membaca nilai dari potensiometer. Yang mana kisaran nilai dari
potensiometer adalah 0-225.
0 ketika tidak ada hambatan, dan 225 saat hambatan maksimal.

Untuk program kamu bisa buka FILE=>EXAMPLES=>ANALOG=>ANALOGINOUT


Atau salin ulang sketch berikut ini:
44
ANALOG INPUT POTENSIOMETER
const int analogInPin = A0; // membuat variabel analogInPin untuk pin A0
const int analogOutPin = 9; // membuat variabel analogOutPin untuk pin 9

int sensorValue = 0; // variabel posisi awal pin AO


int outputValue = 0; // variabel posisi awal nilai output

void setup() {
Serial.begin(9600); // menambahkan kode Serial untuk komunikasi Arduino ke Komputer
}

void loop() {
sensorValue = analogRead(analogInPin); // variabel membaca nilai analogInPin
outputValue = map(sensorValue, 0, 1023, 0, 255); //konversi 0-1023 ke 0-225

analogWrite(analogOutPin, outputValue); // menyalakan LED, dengan tingkat terang dari


// outputValue

Serial.print("sensor = " ); // menampilkan text sensor=


Serial.print(sensorValue); // menampilkan sensor value
Serial.print("\t output = "); // menampilkan text output=
Serial.println(outputValue); // menampilkan nilai outputValue

delay(2); // memberikan waktu jeda selama 2 milidetik


}

45
ANALOG INPUT POTENSIOMETER

NOTES: untuk melihat nilai yang dihasilkan dari Potensiometer kamu bisa pilih
TOOLS=>SERIAL MONITOR atau CTRL+SHIFT+M , atau klik tombol yang ada di pojok kanan

Gambar 1.5

const int analogInPin = A0; program seperti sama seperti sebelumnya digunakan untuk
membuat variabel, tambahan kode const sebelum int adalah untuk penetapan nilai.
Serial.begin(9600); berfungsi agar arduino bisa berkomunikasi dengan komputer, 9600 adalah
salah satu nilai yang dipilih untuk komunikasi.
outputValue = map(sensorValue, 0, 1023, 0, 255); nilai yang dihasilkan dari sensorValue
adalah 0-1023, nilainya akan dikonversi menjadi 0-225 pada variabel outputValue.
analogWrite(analogOutPin, outputValue); menyalakan LED menggunakan PWM (agar bisa
diatur terang cahanya berdasarkan outputValue.
Serial.print("sensor = " ); berguna untuk menampilkan teks yang ada didalam tanda kutip
sensor= .
Serial.print(sensorValue); untuk menampilkan nilai yang ada pada sensorValue.
Serial.print("\t output = "); berguna untuk menampilkan teks yang ada didalam tanda
kutip \t output= .
Serial.println(outputValue); untuk menampilkan nilai yang ada pada outputValue

46
ANALOG INPUT POTENSIOMETER
MARI LEBIH KREATIF!!!
Dengan membuat rangkaian seperti pada Gambar
1.5 B, kamu bisa membuat sketch program seperti;

1.Jika nilai potensiometer < 100 lampu merah


menyala, jika nilai potensiometer < 150 lampu
kuning menyala, jika nilai potensiometer < 200
lampu hijau menyala.

Untuk membuat program seperti diatas tentu kamu


membutuhkan kode if. Sebagai contoh:

if ( outputValue < 100)


{
digitalWrite(LEDmerah, HIGH);
}

OK! Selamat mengerjakan ;)

Gambar 1.5 B

47
SENSOR CAHAYA LDR
A.Lampu LED menyala ketika
keadaan gelap dan mati ketika
keadaan terang (Automatic
Lighting System).

Yang harus kamu siapkan:

1x Arduino Gambar 1.6


1x Breadboard
1x Sensor cahaya LDR
1x Resistor 10k
7x Kabel jumper

Kemudian buat rangkaian seperti gambar 1.6

NOTES:
Hubungkan 5V dan GND dari Arduino ke Breadboard
Hubungkan kaki kiri LDR ke 5V
Hubungkan kaki kanan LDR ke pin A2 Arduino
Hubungkan kaki kiri resistor ke celah antara kaki kanan LDR dan GND arduino
Hubungkan kaki kanan resistor ke GND
Untuk pemasangan LED sama dengan sebelumnya

48
SENSOR CAHAYA LDR
B. Untuk pemrograman LDR, kamu bisa gunakan sketch program dibawah ini:

int LDR= A2; // membuat variabel LDR untuk pin A2


int LED= 13; // membuat variabel LED untuk pin 13
int nilaiLDR= 0; // variabel nilai awal untuk nilaiLDR

void setup(){
pinMode(LED, OUTPUT); // menentukan LED menjadi OUTPUT
Serial.begin(9600); // komunikasi Arduino ke Komputer
}
void loop(){
nilaiLDR= analogRead(LDR); // menyimpan nilai yang dibaca dari LDR
ke variabel nilaiLDR
Serial.print("NilaiLDR= "); // menampilkan teks nilaiLDR=
Serial.println(nilaiLDR); // menampilkan nilai dari nilaiLDR

if(nilaiLDR < 500) { // jika nilai dari LDR kurang dari 500
digitalWrite(LED, HIGH); // lampu LED menyala
}
else { // jika tidak
digitalWrite(LED, LOW); // lampu LED mati
}
}

49
SENSOR CAHAYA LDR
REVIEW NOTES:
int nilaiLDR= 0; membuat variabel nilaiLDR, dan akan membaca nilai mulai dari 0.
pinMode(LED, OUTPUT); memilih mode OUTPUT untuk pin yang disimpan di variabel
LED.
Serial.begin(9600); digunakan agar Arduino bisa berkomunikasi dengan Komputer.
nilaiLDR= analogRead(LDR); menyimpan nilai yang dibaca oleh sensor LDR kedalam
variabel nilaiLDR.
Serial.print("NilaiLDR= "); digunakan untuk mencetak secara digital atau
menampilkan teks nilaiLDR=, untuk ini kita tampilkan pada Serial Monitor.
Serial.println(nilaiLDR); untuk menampilkan nilai yang dibaca oleh sensor LDR
if(nilaiLDR < 500) jika sensor membaca nilai 500 atau kurang dari 500
digitalWrite(LED, HIGH); lampu LED menyala
else jika tidak
digitalWrite(LED, LOW); lampu LED mati

C. MARI LEBIH KRETIF LAGI!!!

1.Coba kamu buat program BLINK, dimana kecepatan BLINKnya diatur melalui nilai yang
diterima oleh Sensor LDR.
2.Pindahkan kaki positif LED dari pin 13 Arduino ke Pin 9 (PWM). Kemudian dengan
perintah analogWrite, buatlah lampu LED menyala terang dan redup berdasarkan nilai
dari sensorLDR.

50
MELODY DALAM SPEAKER
A.Membuat melody, DO, RE, MI, FA, SOL, LA, SI,
DO.

Yang perlu kamu siapkan adalah;

1x Arduino
1x Breadboard
1x Speaker
1x Resistor 220 ohm
2x Kabel Jumper

Lalu buat rangkain seperti Gambar 1.7

NOTES:
Hubungkan GND arduino ke Breadboard.
Hubungkan GND breadboard ke kabel kiri
Speaker.
Hubungkan pin 9 Arduino ke kabel kanan
Speaker. Gambar 1.7
Speaker sebenarnya tidak memiliki polaritas. Jadi
mau dipasang seperti apapun antara positif dan
negatif, Speaker masih tetap akan menyala.

51
MELODY DALAM SPEAKER
B. pemrograman Speaker kamu bisa ketik atau salin sketch dibawah ini:

int speaker= 9; // membuat variabel Speaker untuk pin 9 Arduino

void setup() {
// void setup dikosongkan
}

void loop() {

tone(speaker, 262); delay(500); // membuat nada DO dengan waktu 500 milidetik


tone(speaker, 294); delay(550); // membuat nada RE dengan waktu 550 milidetik
tone(speaker, 330); delay(590); // membuat nada MI dengan waktu 590 milidetik
tone(speaker, 349); delay(600); // membuat nada FA dengan waktu 600 milidetik
tone(speaker, 395); delay(610); // membuat nada SOL dengan waktu 610 milidetik
tone(speaker, 440); delay(620); // membuat nada LA dengan waktu 620 milidetik
tone(speaker, 494); delay(630); // membuat nada SI dengan waktu 630 milidetik
tone(speaker, 523); delay(700); // membuat nada DO dengan waktu 700 milidetik

52
MELODY DALAM SPEAKER
NOTES:
int speaker= 9; membuat variabel Speaker dimana variabel ini akan menyimpan nilai 9,
yang berarti pin 9 arduino akan digunakan untuk Speaker.
void setup sengaja dikosongkan, karena tidak perlu perintah pinMode(speaker,
OUTPUT); , karena pada perintah tone yang ada di void loop, sudah satu paket bahwa
Speaker ini adalah OUTPUT.
tone(speaker, 262); digunakan untuk membuat nada DO, nilai 262 adalah frekuensi suara
untuk nada DO. delay(500); menentukan bahwa nada DO ini akan berbunyi selama 500
milidetik.

C. Dari program yang pertama, kamu belajar bahwa setiap nada yang di bunyikan oleh
Speaker memiliki frekuensi seperti tabel dibawah ini:

NADA DO RE MI FA SOL LA SI DO
FREKUENSI 262 294 330 349 395 440 494 523

Untuk mempermudah pembuatan NADA kamu bisa membuat Fungsi Variabel, untuk setiap
nada, seperti;

void DO() { tone(speaker, 262); }

Lalu nantinya kamu tinggal masukan DO(); kedalam void loop ditambah delay.

53
MELODY DALAM SPEAKER
Dibawah ini adalah program yang isinya nada lagu Kebunku, saya ambil dari note angka
Yang ada di internet, dengan menambahkan delay yang saya sesuaikan dengan lagunya.
int speaker= 9; // membuat variabel Speaker untuk pin 9 digital

void setup(){ // void setup sengaja dikosongkan


}

void DO() { tone(speaker, 262); } // membuat fungsi variabel untuk nada DO


void RE() { tone(speaker, 294); } // membuat fungsi variabel untuk nada RE
void MI() { tone(speaker, 330); } // membuat fungsi variabel untuk nada MI
void FA() { tone(speaker, 349); } // membuat fungsi variabel untuk nada FA
void SOL() { tone(speaker, 395); } // membuat fungsi variabel untuk nada SOL
void LA() { tone(speaker, 440); } // membuat fungsi variabel untuk nada LA
void SI() { tone(speaker, 494); } // membuat fungsi variabel untuk nada SI
void DOO() { tone(speaker, 523); } // membuat fungsi variabel untuk nada DOO
void DIAM() { digitalWrite(speaker, LOW); } // membuat fungsi variabel untuk
nada DIAM

void loop() {
SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); // lihat kebunku
DOO(); delay(1000); DIAM(); delay(500);

54
MELODY DALAM SPEAKER

SOL(); delay(500); DOO(); delay(500); SOL(); delay(500); // penuh dengan bunga


FA() ; delay(500); MI(); delay(500); RE(); delay(1000);
DIAM(); delay(500);

FA(); delay(500); RE(); delay(1000); FA(); delay(1000); // ada yang merah


LA(); delay(1000); SOL(); delay(500); DO(); delay(500); // dan ada yang putih
MI(); delay(500); RE(); delay(500); DO(); delay(1000);
DIAM(); delay(500);

SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); // setiap hari


DIAM(); delay(500);

SOL(); delay(500); DOO(); delay(500); SOL(); delay(500); // kusiram semua


FA(); delay(500); MI(); delay(500); RE(); delay(1000);
DIAM(); delay(500);

FA(); delay(500); RE(); delay(1000); FA(); delay(1000); // mawar melati


LA(); delay(1000); SOL(); delay(500); DO(); delay(500); // semuanya indah
MI(); delay(500); RE(); delay(500); DO(); delay(1000);
DIAM(); delay(1000);
}

55
NOTES:
Sebelumnya maaf Nada lagu Kebunkunya agak fals, saya kurang begitu ahli dalam nada
:D
int speaker= 9; digunakan untuk membuat variabel Speaker untuk pin digital 9 Arduino.
void setup sengaja dikosongkan karena untuk program tone tidak memerlukan
pinMode(speaker, OUTPUT);
void DO() { tone(speaker, 262); } membuat fungsi variabel untuk mempersingkat saat
pembuatan nada pada void loop, jadi cukup memasukan kode DO(); saja, dan ditambah
delay.
SOL(); delay(500); menambahkan nada DO dengan delay 500 milidetik.

D. MARI LEBIH KREATIF!!!


1.Buatlah sebuah nada lagu dengan mencari not
angkanya di Google, atau lihat dari buku. Selanjutnya
kamu bisa konversi sendiri, misal: not angka 1 jadi
DO();, not angka 2 jadi RE(); dan seterusnya!
2.Tambahkan rangkaian 8 LED pada rangkain Speaker
seperti Gambar 1.7, dengan 1 LED mewakili 1 Nada.
Dan masukan program LED pada setiap fungsi variabel,
sehingga setiap nada yang berbunyi akan di ikuti
dengan setiap nyala lampu LED.
Gambar 1.8

56
SENSOR SUHU LM35
A. Mengukur suhu dilingkungan
sekitar.

Yang perlu disiapkan:

1x Arduino
1x Breadboard
1x LM35 Sensor Suhu
2x LED hijau
2x LED kuning
2x LED merah
6x Resistor 220ohm
11x Kabel Jumper
Gambar 1.8
Lalu pasang seperti Gambar 1.9

NOTES:
Pasang dari GND dan 5V Arduino ke Breadboard.
Pasang kaki kiri LM35 ke 5V, kaki kanan LM35 ke GND, kaki tengah LM35 ke pin A0
Arduino.
Pasang kaki Positif LED hijau ke pin 2 dan pin 3, LED kuning ke pin 4 dan pin 5, LED
merah ke pin 6 dan pin 7 Arduino.
Setiap kaki negatif LED dipasang ke GND menggunakan Resistor 220ohm.

57
SENSOR SUHU LM35
B. Untuk pemrograman Sensor Suhu LM35, kamu bisa gunakan sketch dibawah ini;

int LM35 = A0; // membuat variabel LM35 untuk pin A0 Arduino


int nilaiLM35= 0; // membuat variabel nilaiLM35 untuk menyimpan nilai sensor

void setup(){
Serial.begin(9600); // komunikasi serial dari Arduino ke Komputer
}

void loop(){
nilaiLM35 = analogRead(LM35); // menyimpan nilai dari LM35 ke variabel nilaiLM35
nilaiLM35 = nilaiLM35 * 0.488; // konversi nilai dari LM35 menjadi Derajat Celcius

Serial.println(nilaiLM35); // menampilkan nilai dari LM35 ke Serial Monitor


delay(500); // memberi jeda sebanyak 500 milidetik
}
NOTES:
Serial.begin(9600); kode yang digunakan agar Arduino bisa berkomunikasi dengan
komputer.
nilaiLM35 = analogRead(LM35); menyimpan nilai yang dihasilkan oleh sensor LM35 ke
variabel nilaiLM35.
nilaiLM35 = nilaiLM35 * 0.488; konversi nilaiLM35 ke celsius dengan dikalikan 0.4888.
Serial.println(nilaiLM35); menampilkan hasil dari nilai LM35.

58
SENSOR SUHU LM35

C. Membuat Indikator Suhu dengan menggunakan LED.

Yang pertama harus kamu lakukan adalah melihat nilai pada sensor suhu LM35, dengan
melihat di Serial Monitor. Kamu juga bisa membuka Serial Monitor dengan menekan
CTRL+SHIFT+M pada keyboard. Maka akan muncul tampilan seperti Gambar

Gambar 1.9

NOTES: Angka 27 adalah nilai Suhu. Kamu bisa menyentuh Sensor LM35-nya dan nilai
akan bertambah, karena sensor menerima panas dari suhu tubuh kamu.

59
SENSOR SUHU LM35
Untuk Sketch programnya kamu tinggal tambahkan kode untuk LEDnya,
dan kode if seperti dibawah ini:

If ( nilaiLM35 == 28){
kode perintah...
}

Untuk Sketch versi lengkapnya, kamu bisa salin ulang dibawah ini:

int LM35 = A0; // membuat variabel LM35 untuk pin A0 Arduino


int nilaiLM35= 0; // membuat variabel nilaiLM35 untuk menyimpan nilai sensor
int LED1= 2; // membuat variabel LED1 untuk Pin 2 digital
int LED2= 3; // membuat variabel LED2 untuk Pin 3 digital
int LED3= 4; // membuat variabel LED3 untuk Pin 4 digital

void setup(){
Serial.begin(9600); // komunikasi serial dari Arduino ke Komputer
pinMode(LED1, OUTPUT); // mengatur LED1 menjadi OUTPUT
pinMode(LED2, OUTPUT); // mengatur LED2 menjadi OUTPUT
pinMode(LED3, OUTPUT); // mengatur LED3 menjadi OUTPUT
}

60
SENSOR SUHU LM35

void loop(){
nilaiLM35 = analogRead(LM35); // menyimpan nilai dari LM35 ke variabel nilaiLM35
nilaiLM35 = nilaiLM35 * 0.488; // konversi nilai dari LM35 menjadi Derajat Celcius

Serial.println(nilaiLM35); // menampilkan nilai dari LM35 ke Serial Monitor


delay(500); // memberi jeda sebanyak 500 milidetik

if (nilaiLM35 == 28) // jika nilaiLM35 sama dengan 28


{
digitalWrite(LED1, HIGH); // LED1 menyala
digitalWrite(LED2, LOW); // LED2 mati
digitalWrite(LED3, LOW); // LED3 mati
}
else if (nilaiLM35 == 29) // jika nilaiLM35 sama dengan 29
{
digitalWrite(LED1, HIGH); // LED1 menyala
digitalWrite(LED2, HIGH); // LED2 menyala
digitalWrite(LED3, LOW); // LED3 menyala
}

61
SENSOR SUHU LM35

else if (nilaiLM35 == 30) // jika nilaiLM35 sama dengan 30


{
digitalWrite(LED1, HIGH); // LED1 menyala
digitalWrite(LED2, HIGH); // LED2 menyala
digitalWrite(LED3, HIGH); // LED3 menyala
}

else // jika tidak


{
digitalWrite(LED1, LOW); // LED1 mati
digitalWrite(LED2, LOW); // LED2 mati
digitalWrite(LED3, LOW); // LED3 mati
}

}
NOTES:
if (nilaiLM35 == 28) kode ini digunakan untuk perintah logika, jika nilaiLM35 sama dengan
28. arduino akan menjalankan kode perintah yang ada pada program if ini.
else if (nilaiLM35 == 29) tapi jika nilainya ternyata sama dengan 29, maka arduino akan
menjalankan kode perintah pada else if.
Else tapi jika tidak ada yang sama dengan nilai pada nilai if dan else if, maka arduino akan
menjalakan kode perintah pada else.

62
SENSOR SUHU LM35
D.MARI LEBIH KREATIF!!!
1.Masih ada 3 LED yang belum digunakan pada rangkaian.
2.Kamu bisa buat program, Jika nilai LM35 == 28, maka setiap LED berwarna hijau
menyala. Jika nilai LM35 == 29, maka setiap LED warna kuning menyala. Dan jika nilai
LM35 == 30, maka setiap LED warna merah menyala.

SAMPAI DISINI BAGAIMANA?


Sudah cukup puaskah kamu
Dengan panduan dari Ebook ini?

Saya secara pribadi, tidak berharap


Kamu puas ya. Kenapa?

Karena dengan tidak puasnya kamu,


Kamu jadi tidak berhenti disini
Untuk belajar.
Kamu terus belajar, dan semakin
Berkembang lagi hingga bisa
Jadi Master Arduino ;) Aamin...

63
BEHIND THE SCENE.... ;)

Sedikit informasi, ebook ini adalah adaptasi dari Kelas Arduino: Newbie! Yang ada di
www.kelasrobot.com .

KelasRobot.com adalah Portal belajar bagi yang mau membuat Robot, yang dimulai
dari dasar, pemrograman, elektronika, hingga pada pembuatan mekanika dalam robot.

Dibalik KelasRobot.com ada sebuah grup bernama AViSha95, nama AViSha diambil
dari nama pendirinya yaitu; Ajang, Virman, dan Shaleh. Angka 95 diambil dari tahun
lahir para pendiri yaitu 1995. Dan juga hari ultah AViSha95 yang ada pada tanggal 9
bulan 5 (mei).

64
CONTACT PERSON

Telp/Sms/WA : 0812-8793-1296 / 0896-3820-4479


BBM : 59651AEB
Email : ajangrahmat@gmail.com
Website : www.kelasrobot.com

--BELAJAR ARDUINO ITU MUDAH DAN MENYENANGKAN--

# KelasRobot.com

65

You might also like