Professional Documents
Culture Documents
ARDUINO INTRODUCTION
Bab ini menjelaskan tentang apa itu arduino secara hardware dan software selain itu bab
ini juga akan menjelaskan rangkaian arduino dan interface apa saja yang ada didalam
arduino. Bab ini juga akan menjelaskan istilah istilah dasar elektronika di arduino itu
sendiri.
1.1. Mikrokontroler
Sebelum kita mengenal apa itu arduino ada baiknya kita mengetahui apa itu
mikrokontroler karena arduino itu sendiri dasarnya adalah sebuah mikrokontroler.
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler
umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit
pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di
dalamnya. Intinya mikrokontroller adalah sebuah chip yang didlamnya terdiridari
microprosesor, memori dan I/O ports sehingga sangat cocok menjadi pengendali sistem
elektronika maupun robotika berbeda dengan mikroprosesor yang tidk terdapat I/O port
dan memori didalamnya.
platform hardware arduino juga open-source yang ditujukan kepada siapa saja yang
ingin membuat prototype peralatan elektronik interaktif berdasarkan hardware dan
software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan
bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa
Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari
perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang
akan membuat perangkat desain dan interaksi. Saat ini tim pengembangnya adalah Massimo
Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti.
Mereka mengupayakan 4 hal dalam Arduino ini, yaitu:
1. Harga terjangkau
2. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Max, dan sebagainya.
3. Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam,
bukan untuk orang teknik saja.
4. Open Source, hardware maupun software.
Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Dan
banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino. Dan
Arduino juga sudah banyak dipakai oleh perusahaan besar. Contohnya Google
menggunakan Arduino untuk Accessory Development Kit,dan NASA memakai Arduino
untuk prototypin.
Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan sebagai
perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Sinyal Stop merupakan
sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan SDA
dari “0” menjadi “1” pada saat SCL “1”. Kondisi sinyal Start dan sinyal Stop seperti
tampak pada Gambar 1.4
Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan
dengan ACK Setelah transfer data oleh master berhasil diterima slave, slave akan
menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA
Dalam melakukan transfer data pada I2C Bus, kita harus mengikuti tata cara yang telah
ditetapkan yaitu:
1. Transfer data hanya dapat dilakukan ketikan Bus tidak dalam keadaan sibuk.
2. Selama proses transfer data, keadaan data pada SDA harus stabil selama SCL
dalam keadan tinggi. Keadaan perubahan “1” atau “0” pada SDA hanya dapat
dilakukan selama SCL dalam keadaan rendah. Jika terjadi perubahan keadaan SDA
pada saat SCL dalam keadaan tinggi, maka perubahan itu dianggap sebagai sinyal
Start atau sinyal Stop.
I2C biasanya dapat digunakan sebagai kontroler modul atau pembaca data modul
kelebihan I2C hanya membutuhkan 2 buah pin sehingga bisa menghemat jumlah
penggunaan pin pada arduino. I2C pin Juga bisa menjadi jalur komunikasi antar 2 buah
arduino atau lebih.
1. MOSI : Master Output Slave Input Artinya jika dikonfigurasi sebagai master maka
pin MOSI sebagai output tetapi jika dikonfigurasi sebagai slave maka pin MOSI
sebagai input.
2. MISO : Master Input Slave Output Artinya jika dikonfigurasi sebagai master maka
pin MISO sebagai input tetapi jika dikonfigurasi sebagai slave maka pin MISO
sebagai output.
3. CLK : Clock Jika dikonfigurasi sebagai master maka pin CLK berlaku sebagai output
tetapi jika dikonfigurasi sebagai slave maka pin CLK berlaku sebagai input.
Ada banyak kit arduino yang menggunakan interface SPI seperti Ethernet dan DMD (Dot
Matrix Display).
Apabila proses instalasi sudah selesai maka software sudah siap digunakan
Anda akan diminta untuk memilih perpustakaan yang ingin ditambahkan. Arahkan ke
lokasi file .zip kemudian buka file tersebut.
Program diatas adalah program untuk menghidupkan led 13 pada arduino atau led L
pada board. Pada program diatas tertulis Void Setup() yang artinya program akan dimulai
sekali saat arduino dihidupkan program bagian program arduino dimulai dari tanda( { )
dan diakhiri tanda( } ) yang artinya suatu kumpulan program diawali dan di akhiri. Setelah
void Setup program kemudian dilanjutkan dengan void loop() yang artinya program
diulangi terus menerus setiap text yang diawali tanda (//) berarti comment yang artinya
tidak di baca oleh arduino. Comment biasanya didisi tentang penjelasan program. Pada
buku ini juga setiap program akan dijelaskan melalui comment tersebut.
Selanjutnya kita akan memilih board yang kita gunakan dengan cara pilih menu Tools >
Board. Setelah memilih board langkah selanjutnya adalah memilih port yang terpakai ke
arduino dengan cara pilih menu Tools > Port dan piih port yang tersedia apabila port
tidak bisa di pilih berarti arduino yang kita apakai belum terbaca oleh komputer coba cek
koneksi Arduino anda. Kemudian kita upload sketch blink yang telah ada tadi dengan klik
Upload lalu tunggu hingga lampu indikator RX dan TX pada board arduino anda selesai
Jika pogram telah selesai diupload maka lampu led L Arduino akan berkedip dalam
rentang waktu 1 detik (1000 milidetik).
Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan
seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa
C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk
membuat versi-versi tersebut menjadi standar, ANSI (American National Standard
Institutes) membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983 yang
kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada
standar UNIX yang diperluas.
Sintaks if juga bisa dipasangkan dengan else untuk membuat aksi lain jika kondisi lain
tidak dipenuhi. Contoh:
Sintaks if juga bisa dibuat menjadi if berantai untuk melakukan operasi eksekusi kondisi
yang lebih banyak dengan menggunan sintaks else if. Contoh:
for (i=0;i<10;i++)
{
// aksi a
}
switch (var) {
case 1:
//lakukan sesuatu jika var bernilai 1
break;
case 2:
//lakukan sesuatu jika var bernilai 2
break;
default:
// jika tidak ada yang cocok default akan melakukan aksi
// opsional
break;
}
while(kondisi){
// aksi
}
2.6.Sintaks do...while
Sintaks do....while berfungsi sama seperti while hanya saja kondisi akan di check di
akhirsedangkan while dari awal kondisi di cek.. Contoh:
do
{
// blok kondisi
} while (tes kondisi);
label:
MATERIAL :
- Arduino x1 - Kabel Jumper - 5mm LED x6
- Breadboard x1 - Resistor 330 OHM x6
CIRCUIT
! IMPORTANT
CHALENGE:
1. Buatlah LED berjalan dari Kanan ke kiri /Sebaliknya
2. Buatlah Variasi LED bertabrakan dan LED Berkedip Selang-Seling
MATERIAL :
- Arduino x1 - Kabel Jumper - 5mm LED x1 - push button 1x
- Breadboard x1 - buzzer 1x - Resistor 330 ohm 1x - resistor 10k 1x
CIRCUIT
! IMPORTANT
CHALLENGE:
1. Buatlah program ketika button ditekan buzzer akan hidup terus dan ketika ditekan lagi
buzzer akan mati.
2. buatlah program ketika button ditekan led dan buzzer berkedip.
MATERIAL :
- Arduino x1 - Kabel Jumper - 5mm LED x2 - Breadboard x1
- potensiometer 10k - Resistor 330 ohm x2
CIRCUIT
! IMPORTANT
Beberapa jenis potensiometer
CHALLENGE:
1.buatlah program mengatur intensitas cahaya dengan potensiometer
2.buatlah program ketika ketika potensio diputar kekiri led1 hidup Led 2 mati dan ketika
potensio diputar kekanan led 2 hidup dan led 1 mati.
MATERIAL :
- Arduino x1 - Kabel Jumper - motor dc x1 - Breadboard x1
- potensiometer 10k - Resistor 2k2 ohm x1 - transistor mps2222 x1 - dioda 1n4001x1
CIRCUIT
! IMPORTANT
CHALLENGE:
1. Buatlah program kecepatan motor naik secara perlahan dan ketika kecepaan motor
mencapai maksimum kecepatanya akan turun secara perlahan.
MATERIAL :
- Arduino x1 - Kabel Jumper - 5mm LED x2 - 1x transitor 2n2222
- Breadboard x1 - Resistor 330 OHM x2 - motor x1 - dioda 1N4001
- resistor 2.2 k x1 - buzzer 1x
CIRCUIT
! IMPORTANT
Serial.read() untuk membaca karakter
Serial.parseInt() untuk membaca
angka
Serial.readString() untuk membaca
String
MATERIAL :
- Arduino x1 - Kabel Jumper - 7 segment x1 - resistor 10 k x1
- Breadboard x1 - push button x2
CIRCUIT
CHALLENGE:
1. Buatlah program counter berjalan otomatis apabila tombol ditekan dan akan berhenti bila
tombol tersebut ditekan lagi.
MATERIAL :
- Arduino x1 - Kabel Jumper - 5mm LED x2 - resistor 10k x1
- Breadboard x1 - Resistor 330 OHM x1 - LDR x1
CIRCUIT
! IMPORTANT
LDR (Light Dependant Resistor) adalah
sensor yang mengubah intesitas cahaya
menjadi resistansi (tahanan). Maka untuk
mengubahnya ke tegangan diperlukan
rangkaian votage divider (pembagi
tegangan).
CHALLENGE:
1. Buatlah program untuk mengatur intensitas cahaya LED melalui LDR
MATERIAL :
- Arduino x1 - Kabel Jumper - 7-segment LED x2 - resistor 10k x1
- Breadboard x1 - NTC x1
CIRCUIT
! IMPORTANT
Setelah mengenal dasar arduino melalui project beginner. Kali ini kita akan mencoba
project arduino yang lebih mendalam lagi pada bab ini diantaranya:
1. potensio Servo Arduino
2. ping sensor (water level alarm)
3. Arduino Bluetooth control
4. gyro-Accel starting
5. arduino doorlock with keypad & LCD
6. sound switch relay arduino
MATERIAL :
- Arduino x1 - Kabel Jumper - Motor Servo 1x
- Breadboard x1 - potensiometer 10k 1x
CIRCUIT
! IMPORTANT
CHALENGE:
1. Buatlah servo berjalan otomatis dari kiri ke kanan dan sebaliknya
MATERIAL :
- Arduino x1 - Kabel Jumper - buzzer x1
- Breadboard x1 - sensor Ping x1
CIRCUIT
! IMPORTANT
CHALENGE:
1. Buatlah program baca sensor ping ke serial monitor tetapi dengan menggunakan satuan
inci
MATERIAL :
- Arduino x1 - Kabel Jumper - resistor
- Breadboard x1 - led - bluetooth hc-05
CIRCUIT
! IMPORTANT
CHALENGE:
1. Buatlah program membaca data dari bluetooth ke serial monitor
MATERIAL :
- Arduino x1 - Kabel Jumper
- Breadboard x1 - modul sensor gy-521
CIRCUIT
! IMPORTANT
Accelerometer adalah sensor yang digunakan untuk mengukur percepatan suatu objek. Accelometer
mengukur percepatan dynamic dan static. Pengukuran dynamic adalah pengukuran percepatan pada objek
bergerak, sedangkan pengukuran static adalah pengukuran terhadap gravitasi bumi. Untuk mengukur sudut
kemiringan (tilt). giroskop adalah perangkat untuk mengukur atau mempertahankan orientasi, dengan prinsip
ketetapan momentum sudut. Mekanismenya adalah sebuah roda berputar dengan piringan didalamya yang
tetap stabil. Giroskop sering digunakan pada robot atau heli dan alat-alat cangggih lainnya.
CHALENGE:
1. Buatlah program mengendalikan servo menggunakan gy-521
MATERIAL :
- Arduino x1 - Kabel Jumper - resistor 220 ohm
- Breadboard x1 - modul sensor fc-04 - LED
! IMPORTANT
Modul fc-04 adalah modul sensor yang
terdiri dari rangkaian microphone untuk
menangkap suara dan meneruskanya ke
output berupa tegangan
CHALENGE:
1. Buatlah program membaca kebisingan suara ke serial monitor