0% menganggap dokumen ini bermanfaat (0 suara)
194 tayangan

Modul Pelatihan Arduino I

Modul ini membahas cara mengatur timing kedipan LED dengan menggunakan input dari pin analog Arduino. Tutorial menjelaskan cara membaca input voltase dari 0-5V dan mengkonversikannya ke angka antara 0-1024, serta menggunakan tegangan keluaran potensiometer sebagai variabel waktu kedipan LED.

Diunggah oleh

Thagiat Ahzan Adp
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
194 tayangan

Modul Pelatihan Arduino I

Modul ini membahas cara mengatur timing kedipan LED dengan menggunakan input dari pin analog Arduino. Tutorial menjelaskan cara membaca input voltase dari 0-5V dan mengkonversikannya ke angka antara 0-1024, serta menggunakan tegangan keluaran potensiometer sebagai variabel waktu kedipan LED.

Diunggah oleh

Thagiat Ahzan Adp
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 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

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 Percobaan
2.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 LED
4.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

5.4
5.5

Skematik Rangkaian Percobaan


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

MODUL 1
PENGENALAN 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( ) { }

void loop ( ) { }

1.3

Semua kode didalam kurung kurawal akan dijalankan


hanya satu kali ketika program Arduino dijalankan untuk
pertama kalinya.
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.

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.

/* */

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

{ }

1.4

Titik Koma. Setiap baris kode harus diakhiri dengan tanda


titik koma (jika ada titik koma yang hilang maka program
tidak akan bisa dijalankan).

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)

1.5

long

boolean

float

char

Digunakan untuk menyimpan angka dalam 2 byte (16 bit).


Tidak mempunyai angka desimal dan menyimpan nilai dari
-32,768 dan 32,767.
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.
Variabel sederhana yang digunakan untuk menyimpan
nilai TRUE (benar) atauFALSE (salah). Sangat berguna
karena hanya menggunakan 1 bit dari RAM.
Digunakan untuk angka desimal (floating point). Memakai
4 byte (32 bit) dari RAM dan mempunyai rentang dari 3.4028235E+38 dan 3.4028235E+38.
Menyimpan 1 karakter menggunakan kode ASCII (misalnya
A = 65). Hanya memakai 1 byte (8 bit) dari RAM.

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

1.6

1.7

Menghasilkan sisa dari hasil pembagian suatu angka dengan


angka yang lain (misalnya: 12 % 10, ini akan menghasilkan
angka 2).
Penambahan

Pengurangan

Perkalian

Pembagian

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

Digital
digitalWrite(pin, value)

digitalRead(pin)

Ketika sebuah pin ditetapkan sebagai OUTPUT,


pin tersebut dapat dijadikan HIGH(ditarik
menjadi 5 volts) atau LOW (diturunkan menjadi
ground).
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).

1.8

Analog
analogWrite(pin, value)

analogRead(pin)

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

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

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

MODUL 3
APLIKASI POTENSIOMETER
3.1

3.2

3.3

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.
Alat dan Bahan
1. Arduino uno
2. 1 buah potensiometer
3. Kabel jumper
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)
3.4

Menunda eksekusi program selama 1 mili detik

Skematik Rangkaian Percobaan

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

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)
analogRead(A0)

Mendeklarasikan pin 13 sebagai OUTPUT

digitalWrite(ledpin,
HIGH)
delay

Me

Membaca sensor yang menghasilkan analog

Menghentikan program selama beberapa mili detik

4.4 Skematik Rangkaian Percobaan


9

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

10

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.
2.
3.
4.
5.
6.

1x Arduino UNO
1x Potensio meter ( 10K Ohm )
1x Resistor 330 Ohm
1x LED ( Warna Bebas )
1x Projectboard ( Breadboard )
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

11

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
}

12

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)
Serial.print("Jaraknya
adalah : ")
digitalWrite(triggerPin,
HIGH)
delayMicroseconds(10)

Mendefinisikan echoPin (8) sebagai INPUT


Mencetak kalimat Jaraknya adalah :
Memberikan nilai HIGH atau 1 ke triggerPin (9)
Melakukan delay selama 10 Mikro detik

13

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

Serial.println(" cm");
if (distance <= 10)
{
digitalWrite(led13, HIGH);
}
else {
digitalWrite(led13, LOW);
delay(500);
}
}

15

Anda mungkin juga menyukai