Top Banner
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
19

Modul Pelatihan Arduino I

Jul 05, 2018

Download

Documents

Thagiat Elektro
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modul Pelatihan Arduino I

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

Page 2: Modul Pelatihan Arduino I

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

Page 3: Modul Pelatihan Arduino I

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++

Page 4: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 4/18

 

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.

Page 5: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 5/18

 

/* */ 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).

Page 6: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 6/18

 

% 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).

Page 7: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 7/18

 

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).

Page 8: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 8/18

 

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++

Page 9: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 9/18

 

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

Page 10: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 10/18

 

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

Page 11: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 11/18

 

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

}

Page 12: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 12/18

 

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

Page 13: Modul Pelatihan Arduino I

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);

}

Page 14: Modul Pelatihan Arduino I

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

Page 15: Modul Pelatihan Arduino I

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

}

Page 16: Modul Pelatihan Arduino I

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

Page 17: Modul Pelatihan Arduino I

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);

Page 18: Modul Pelatihan Arduino I

8/16/2019 Modul Pelatihan Arduino I

http://slidepdf.com/reader/full/modul-pelatihan-arduino-i 18/18

 

15 

Serial.println(" cm");

if (distance <= 10)

{

digitalWrite(led13, HIGH);

}

else {

digitalWrite(led13, LOW);

delay(500);

}

}