Professional Documents
Culture Documents
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.
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!
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!
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
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).
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.
12
BERBAGAI JENIS ARDUINO
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.
13
BERBAGAI JENIS ARDUINO
14
BERBAGAI JENIS ARDUINO
15
BERBAGAI JENIS ARDUINO
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.
17
MENGENAL ARDUINO UNO
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.
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.
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);
}
22
INSTALL DAN JALANKAN ARDUINO
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:
Adapun untuk menampilkan nilai dari sebuah sensor di Serial Monitor, bisa
menggunakan:
25
Pemrograman DASAR ARDUINO
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() {
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() {
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.
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.
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.
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
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
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
38
PUSH BUTTON
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;
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);
Dengan rangkaian yang sama, kamu bisa membuat sketch program seperti;
41
ANALOG INPUT POTENSIOMETER
( 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
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.
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.
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
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;
Gambar 1.5 B
47
SENSOR CAHAYA LDR
A.Lampu LED menyala ketika
keadaan gelap dan mati ketika
keadaan terang (Automatic
Lighting System).
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:
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
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.
1x Arduino
1x Breadboard
1x Speaker
1x Resistor 220 ohm
2x Kabel Jumper
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:
void setup() {
// void setup dikosongkan
}
void loop() {
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;
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 loop() {
SOL(); delay(500); MI(); delay(1000); SOL(); delay(1000); // lihat kebunku
DOO(); delay(1000); DIAM(); delay(500);
54
MELODY DALAM SPEAKER
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.
56
SENSOR SUHU LM35
A. Mengukur suhu dilingkungan
sekitar.
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;
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
58
SENSOR SUHU LM35
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:
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
61
SENSOR SUHU LM35
}
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.
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
# KelasRobot.com
65