8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 1/18
Dr. –Ing. Faizal Arya S., S.T., M.T.
Dosen Jurusan Teknik Elektro
Fakultas Teknik, Universitas Hasanuddin
Modul Pelatihan
Pengembangan Sistem
Berbasis Arduino
TINGKAT DASAR
Diterbitkan Oleh:
Himpunan Mahasiswa Trensilica
Departemen Elektro
Universitas Hasanuddin
Makassar
November 2015
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 2/18
Daftar Isi
Kata Pengantar
1. Pengenalan Bahasa C/C++ Untuk Arduino
1.1 Deskripsi Materi Pelatihan..............................................................
1.2 Struktur.......................................................................................
1.3 Syntax.........................................................................................
1.4
Variabel.......................................................................................
1.5 Operator Matematika....................................................................
1.6 Operator Pembanding....................................................................
1.7 Digital..........................................................................................
1.8 Analog.........................................................................................
2. Aplikasi LED
2.1 Deskripsi Materi Pelatihan
2.2 Alat dan Bahan
2.3 Instruksi Yang Digunakan
2.4
Skematik Rangkaian Percobaan2.5
Bahasa Pemrograman C/C++
3.
Aplikasi Potensiometer
3.1
Deskripsi Materi Pelatihan
3.2
Alat dan Bahan
3.3
Instruksi Yang Digunakan
3.4
Skematik Rangkaian Percobaan
3.5 Bahasa Pemrograman C/C++
4.
Mengatur Timing Kedipan LED4.1 Deskripsi Materi Pelatihan
4.2 Alat dan Bahan
4.3 Instruksi Yang Digunakan
4.4 Skematik Rangkaian Percobaan
4.5 Bahasa Pemrograman C/C++
5. Mengatur Tingkat Kecerahan LED
5.1 Deskripsi Materi Pelatihan
5.2 Alat dan Bahan
5.3 Instruksi Yang Digunakan
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 3/18
5.4 Skematik Rangkaian Percobaan
5.5 Bahasa Pemrograman C/C++
6. Aplikasi Sensor Ultrasonik
6.1 Deskripsi Materi Pelatihan
6.2 Alat dan Bahan
6.3 Instruksi Yang Digunakan
6.4 Skematik Rangkaian Percobaan
6.5 Bahasa Pemrograman C/C++
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 4/18
1
MODUL 1PENGENALAN BAHASA C/C++
UNTUK ARDUINO
1.1 Deskripsi Materi Pelatihan
Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit
penjelasan yang ditujukan kepada anda yang hanya mempunyai sedikit
pengalaman pemrograman dan membutuhkan penjelasan singkat mengenai
karakter bahasa C dan software Arduino. Untuk penjelasan yang lebih mendalam,
web http://www.Arduino.cc adalah sumber yang lengkap.
1.2 Struktur
Setiap program Arduino (biasa disebut SKETCH) mempunyai dua buah fungsi
yang harus ada.
Perintah Deskripsi
void setup( ) { } Semua kode didalam kurung kurawal akan dijalankan
hanya satu kali ketika program Arduino dijalankan untuk
pertama kalinya.void loop ( ) { } Fungsi ini akan dijalankan setelah setup (fungsi VOID
SETUP) selesai. Setelah dijalankan satu kali fungsi ini
akan dijalankan lagi, dan lagi secara terus menerus
sampai catu daya (POWER) dilepaskan.
1.3 Syntax
Syntax Deskripsi
// Komentar satu baris. Kadang diperlukan untuk memberi
catatan pada diri sendiri apa arti dari kode-kode yang
dituliskan. Cukup menuliskan dua buah garis miring dan
apapun yang kita ketikkan dibelakangnya akan diabaikan
oleh program.
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 5/18
2
/* */ Komentar banyak baris. Kadang diperlukan untuk
memberi catatan pada diri sendiri apa arti dari kode-kode
yang dituliskan. Cukup menuliskan dua buah garis miring
dan apapun yang kita ketikkan dibelakangnya akan
diabaikan oleh program.{ } Kurung kurawal. Digunakan untuk mendefinisikan kapan
blok program mulai dan berakhir (digunakan juga pada
fungsi dan pengulangan).
; Titik Koma. Setiap baris kode harus diakhiri dengan tanda
titik koma (jika ada titik koma yang hilang maka program
tidak akan bisa dijalankan).
1.4 Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk
memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan
untuk memindahkannya.
int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit).
Tidak mempunyai angka desimal dan menyimpan nilai dari
-32,768 dan 32,767.long Digunakan ketika integer tidak mencukupi lagi. Memakai 4
byte (32 bit) dari memori (RAM) dan mempunyai rentang
dari -2,147,483,648 dan 2,147,483,647.boolean Variabel sederhana yang digunakan untuk menyimpan
nilai TRUE (benar) atauFALSE (salah). Sangat berguna
karena hanya menggunakan 1 bit dari RAM.float Digunakan untuk angka desimal (floating point). Memakai
4 byte (32 bit) dari RAM dan mempunyai rentang dari -
3.4028235E+38 dan 3.4028235E+38.char Menyimpan 1 karakter menggunakan kode ASCII (misalnya
‘A’ = 65). Hanya memakai 1 byte (8 bit) dari RAM.
1.5 Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti
matematika yang sederhana).
= Membuat sesuatu menjadi sama dengan nilai yang lain
(misalnya: x = 10 * 2, x sekarang sama dengan 20).
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 6/18
3
% Menghasilkan sisa dari hasil pembagian suatu angka dengan
angka yang lain (misalnya: 12 % 10, ini akan menghasilkan
angka 2).+ Penambahan
- Pengurangan
* Perkalian
/ Pembagian
1.6 Operator Pembanding
== Sama dengan. (misalnya: 12 == 10 adalah FALSE (salah) atau
12 == 12 adalah TRUE (benar))!= Tidak sama dengan. (misalnya: 12 != 10 adalah TRUE (benar)
atau 12 != 12 adalah FALSE (salah))< Lebih kecil dari . (misalnya: 12 < 10 adalah FALSE (salah) atau
12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE
(benar))> Lebih besar dari . (misalnya: 12 > 10 adalah TRUE (benar) atau
12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE(salah))
1.7 Digital
digitalWrite(pin, value) Ketika sebuah pin ditetapkan sebagai OUTPUT,
pin tersebut dapat dijadikan HIGH(ditarik
menjadi 5 volts) atau LOW (diturunkan menjadi
ground).
digitalRead(pin) Ketika sebuah pin ditetapkan sebagai INPUT
maka anda dapat menggunakan kode ini untuk
mendapatkan nilai pin tersebut
apakah HIGH (ditarik menjadi 5 volts)
atau LOW(diturunkan menjadi ground).
Ketika sebuah pin ditetapkan sebagai OUTPUT,
pin tersebut dapat dijadikan HIGH(ditarik
menjadi 5 volts) atau LOW (diturunkan menjadi
ground).
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 7/18
4
1.8 Analog
analogWrite(pin, value) Beberapa pin pada Arduino mendukung PWM(pulse width modulation) yaitu pin 3, 5, 6, 9, 10,
11. Ini dapat merubah pin hidup (ON)atau mati
(OFF) dengan sangat cepat sehingga
membuatnya dapat berfungsi layaknya
keluaran analog. VALUE (nilai) pada format
kode tersebut adalah angka antara 0 ( 0% duty
cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
analogRead(pin) Ketika pin analog ditetapkan sebagai INPUT
anda dapat membaca keluaran voltase-nya.
Keluarannya berupa angka antara 0 (untuk 0
volts) dan 1024 (untuk 5 volts).
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 8/18
5
MODUL 2
APLIKASI LED
2.1 Deskripsi Materi Pelatihan
LED (light emitting diode) adalah komponen dasar yang sering digunakan pada
rangkaian elektronik. Karena bentuknya berupa lampu kecil maka kita dapat
segera dapat melihat hasil program kita secara visual. LED pada program kali ini
akan dibuat menjadi berkelap-kelip (blinking) dengan durasi waktu yang tertentu
dan dilakukan berulang terus menerus.
2.2 Alat dan Bahan
1. 1 buah LED
2. 1 buah resistor 330 ohm
3. Kabel penghubung (jumper)
2.3 Instruksi Yang Digunakan
pinMode(13, OUTPUT) Pin 13 digunakan sebagai output dari
percobaan ini.
digitalWrite(13, HIGH/LOW) set LED untuk menyala/mati
delay(1000) Melakukan delay selama 1000 mili detik
2.4 Skematik Rangkaian Percobaan
2.5 Bahasa Pemrograman C/C++
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 9/18
6
void setup() {
// initialize digital pin 13 as an output.pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Experimen :
1. Menambah jumlah led
2. Merubah durasi blink
3. Mengatur kecerahan
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 10/18
7
MODUL 3
APLIKASI POTENSIOMETER
3.1 Deskripsi Materi Pelatihan
Potensiometer adalah jenis resistor yang ukuran resistansinya atau nilai
hambatannya bisa kita rubah sesuai dengan kebutuhan kita. Nah pada Arduino,
bahkan kita bisa melihat berapa nilai yang dihasilkan oleh potensiometer pada
posisi tertentu. Lalu bisa kita manipulasi sesuai dengan kebutuhan kita.
3.2 Alat dan Bahan
1. Arduino uno
2. 1 buah potensiometer
3. Kabel jumper
3.3 Instruksi Yang Digunakan
Serial.begin (9600) Menginisialisasi kecepatan transismi data
(baudrate) sebesar 9600 bit per detik
int sensorValue Mendeklarasikan variabel sensorValue
serial.println(sensorValue) Mencetak nilai dari sensorValue
delay(1) Menunda eksekusi program selama 1 mili detik
3.4 Skematik Rangkaian Percobaan
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 11/18
8
3.5 Bahasa Pemrograman C/C++
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(1); // delay in between reads for stability
}
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 12/18
9
MODUL 4
MENGATUR TIMING KEDIPAN LED
4.1 Deskripsi Materi Pelatihan
Tutorial kali ini akan menjelaskan cara membaca input dari pin analog Arduino.
Arduino mempunya 6 pin analog yang dapat membaca input berupa voltase (dari 0
sampai 5 volts) dan mengkonversikannya ke angka digital antara 0 (0 volts) dan 1024
(5 volts), yaitu pembacaaan dengan resolusi 10 bit. Salah satu komponen yang dapat
mengeksploitasi tegangan input ini adalah potentiometer atau biasa disebut juga
variable resistor. Potentiometer yang terhubung dengan tegangan 5 volts akan
memberikan keluaran tegangan antara 0 dan 5 volts pada pin bagian tengahnya,
tergantung pada sudut diputarnya potentiometer tersebut. Kita kemudian dapat
menggunakan tegangan keluaran ini sebagai sebuah variabel di dalam program kita.
4.2 Alat dan Bahan
1. 1 buah potentiometer 10K ohm
2. 1 buah resistor 330 ohm
3. 1 buah LED
4. Kabel jumper
4.3 Instruksi Yang Digunakan
int Membuat variabel tipe integer
pinMode(ledpin,
OUTPUT)
Mendeklarasikan pin 13 sebagai OUTPUT
analogRead(A0) Membaca sensor yang menghasilkan analog
digitalWrite(ledpin,
HIGH)
Me
delay Menghentikan program selama beberapa mili detik
4.4 Skematik Rangkaian Percobaan
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 13/18
10
4.5 Bahasa Pemrograman C/C++
int sensorPin = A3; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH); // stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 14/18
11
MODUL 5
MENGATUR KECERAHAN LED
5.1 Deskripsi Materi Pelatihan
Setelah mengatur tingkat kecerahan dari LED menggunakan potensiometer, kita
juga dapat mengatur timing atau waktu kedipan LED juga menggunakan
potensiometer.
5.2 Alat dan Bahan
1. 1x Arduino UNO2. 1x Potensio meter ( 10K Ohm )3. 1x Resistor 330 Ohm4. 1x LED ( Warna Bebas )5. 1x Projectboard ( Breadboard )6. Kabel jumper secukupnya
5.3 Instruksi Yang Digunakan
int led = 6 Mendeklarasikan pin led pada pin 6
pinMode(led, OUTPUT) Menentukan mode Led sebagai OUTPUT
analogWrite(led, potVal) Memberikan nilai pada Led sebesar potVal
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 15/18
12
5.4 Skematik Rangkaian Percobaan
5.5 Bahasa Pemrograman C/C++
int led = 6; // Memilih pin digital untuk lampu LED
int pinPot = A0; // Memilih pin analog untuk VR
int potVal = 0; // Tempat untuk menerima nilai tegangan dari VR
void setup() {
pinMode(led, OUTPUT); // Mengatur lampu LED sebagai output
}
void loop() {
potVal = analogRead(pinPot); // terima masukan nilai dari VR
potVal = map(potVal, 0, 1023, 0, 255); // ubah nilai (0-1023) jadi (0-255)
analogWrite(led, potVal); // ubah nilai VR untuk mengatur kecerahan
}
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 16/18
13
MODUL 6
APLIKASI SENSOR ULTRASONIK
6.1 Deskripsi Materi Pelatihan
Sensor ultrasonik HC-SR04 adalah sebuah modul yang berfungsi untuk
melakukan pengukuran jarak suatu benda/ halangan dengan memanfaatkan
sinyal suara ultrasonic.
Sensor ini adalah tranceiver, bertindak sebagai pengirim sekaligus sebagai
penerima. Cara kerjanya mirip kelelawar, yaitu dengan menembakkan sinyal
ultrasonik lalu setelah terpantul benda didepannya, sinyal tersebut akan diterima
kelelawar untuk menentukan jarak antara dirinya dengan benda didepannya.
HC-SR04 menembakkan 8 pulsa sinyal ultrasonik yang dimodulasi pada
frekuensi 40KHz. Pulsa sinyal tersebut ditembakkan setelah pin trigger(2) diberi
pulsa logic “1” selama 10 mikro second oleh arduino. Sinyal yang ditembakkan
tadi kemudian dipantulkan benda didepannya lalu diterima receiver. Sensor lalu
mengukur waktu tempuh sinyal echo tersebut dan megolahnya menjadi jarak. Pin
echo(3) akan menghasilkan pulsa logic “1” untuk dibaca oleh Arduino. Lebar pulsa
tersebut yaitu 150us sampai dengan 25ms sesuai jarak, dan 38ms jika tidak ada
halangan di depan sensor.
6.2 Alat dan Bahan
1. Arduino Uno
2. 1 buah Sensor Ultrasonik HC-SR04
3. Breadboard
4. Kabel Jumper
6.3 Instruksi Yang Digunakan
#define echoPin 8 Mendefinisikan echoPin terletak pada pin 8
Serial.begin(9600) Mendeklarasikan kecepatan transmisi data
sebesar 9600
pinMode(echoPin,
INPUT)
Mendefinisikan echoPin (8) sebagai INPUT
Serial.print("Jaraknya
adalah : ")
Mencetak kalimat “Jaraknya adalah : ”
digitalWrite(triggerPin,
HIGH)
Memberikan nilai HIGH atau “1” ke triggerPin (9)
delayMicroseconds(10) Melakukan delay selama 10 Mikro detik
8/16/2019 Modul Pelatihan Arduino I
http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 17/18
14
6.4 Skematik Rangkaian Percobaan
6.5 Bahasa Pemrograman C/C++
#define echoPin 8 //ini pin echo
#define triggerPin 9 //ini pin trigger
byte led13 = 13; // led13 sebagai indikator
void setup()
{
Serial.begin(9600); //inisialisasi serial port, baudrate 115200
pinMode(echoPin, INPUT); //echoPin dijadikan input
pinMode(triggerPin, OUTPUT); //triggerpin jadi output
pinMode(led13, OUTPUT);
}
void loop()
{
Serial.print("Jaraknya adalah : ");
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10); //melakukan delay selama 10 mikro sekon
digitalWrite(triggerPin, LOW);
int distance = pulseIn(echoPin, HIGH);
distance = distance/58; //jarak yang dihasilkan dalam bentuk cm, rumus : pulse(us)/58
Serial.print(distance);