Anda di halaman 1dari 37

LAPORAN

PRAKTIKUM TEN 1
ANTARMUKA DAN PERIPHERAL

DISUSUN OLEH :

MUHAMMAD IRFAN ARDIANSYAH


F441 17 049

PROGRAM SUDI S1 TEKNIK ELEKTRO


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS TADULAKO
PALU
2019
Percobaan 1
Pengenalan PORT Digital dan Analog,LED

I. MAKSUD DAN TUJUAN

Maksud dan tujuan dari praktikum ini adalah:

1. Mahasiswa mengenal jenis-jenis dan fungsi pin pada mikrokontroler


berbasis Atmega 328(Arduino Uno)
2. Mahasiswa mampu menggunakan pin-pin pada mikrokontroler sesuai
dengan fungsinya
3. Mahasiswa mampu menyelesaikan kasus tertentu dengan menggunakan
setiap fungsi pin-pin dalam mikrokontroler
II. Teori Dasar

Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang
berupa sinyal analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:
Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang
berhubungan dengan variabel lain.Contoh dari sinyal analog yaitu intensitas cahaya
LED yang dimana arus yang didalamnya juga meningkat, arus melalui resistor seperti
yang kita memvariasikan tegangan, atau suhu di kamar yang berjalan sering dengan
berjalannya waktu.Sinyal analog dapat mengambil nilai-nilai yang tak terbatas dan
pada mikrokontroler tidak dapat mewakili jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara sampling
dengan cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin
khusus yaitu pin Analog ke Digital Konversi (ADC).
Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu daerah
dan kemudian kita menggunakan serangkaian bit untuk mewakili nilai-nilai tersebut
saja.
Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal analog
menjadi output digital sehingga mudah diolah dan dapat diukur.
Pin analog (ADC) dapat mengukur nilai tegangan yang masuk dengan kondisi
normal range dari 0 – 5 Vdc yang akan dibandingkan dengan tegangan refrensinya
(Vref).
Hal ini berguna saat akan mengukur output tegangan dari suatu sensor yang
terhubung serta dapat dimanfaatkan untuk keperluan pengondisian program.Untuk
membaca sinyal analog yang terhubung pada pin ADC di Software IDE Arduino
yaitu menggunakan fungsi analogRead([nomorPin]).

Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi
harus melewati proses pengubahan output dari digital menjadi analog yang
memerlukan fungsi komponen Digital to Analog Converter.Tetapi pada Arduino
fungsi tersebut tidak ada modul itu, sehingga memerlukan modul eksternal (modul
DAC) sebagai konverter sinyalnya.Tetapi disisi lain, output analog pada Arduino
kebanyakan memiliki fitur PWM (Pulse Width Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin
mengendalikan intensitas cahaya dari LED tersebut (nyala terang – redup mati).
Analog output yang terdapat di Arduino akan mengeluarkan sinyal analog dengan
nilai pwm / intensitas yang telah diprogram/setting. PWM seolah – olah dapat
memanipulasi / mengubah sinyal digital menjadi sinyal analog. Dengan cara
Arduino mengubah keluaran sinyal digital dari logika HIGH ke LOW atau sebaliknya
dengan waktu yang telah ditentukan. Lama waktu untuk logika HIGH dikatakan
dengan istilah panjang pulsa atau pulse width. Variasi perubahan nilai output
analog dihasilkan dari perubahan panjang pulsa yang telah diset dengan
kondisi waktu tertentu serta dikerjakan secara berulang-ulang.

Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau
menerima data yang berupa input output digital. Penjelasan yaitu :

Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1 atau 0,
logika high atau low, maupun kondisi on atau off.
Beda halnya dengan sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1,
nilai tersebut akan dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital
adalah pin yang dapat mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari
sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika
tidak terdeteksi adanya benda.

Output Digital
Pada output digital sebenarnya hampir sama dengan input digital
dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang
membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat
diset sebagai input maupun output.format dasar pemograman untuk deklarasi >>
pinMode ([pin yang digunakan], [INPUT or OUTPUT]};

Input dan Output

Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan
output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-
fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau
menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up
(terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-
fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan
(TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke
pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu
sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan
yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih
jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport
komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya
memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6
input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu
mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF
dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:

 TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi
TWI dengan menggunakan Wire library

Ada sepasang pin lainnya pada board:

 AREF. Referensi tegangan untuk input analog. Digunakan


dengan analogReference().
 Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara
khusus, digunakan untuk menambahkan sebuah tombol reset untuk
melindungi yang memblock sesuatu pada board.

III. PERALATAN DAN BAHAN

Peralatan yang dibutuhkan dalam praktikum ini adalah :

3.1 1 Buah Arduino Uno R3+Kabel USB


3.2 Jumper secukupnya
3.3 3 buah LED
3.4 1 buah Protoboard

IV. Langkah Kerja


4.1 Siapkan alat dan bahan yang akan digunakan
4.2 Buat rangkaian pada gambar berikut :
4.3 Buatkan program pada aplikasi Arduino IDE
int led=11;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}

4.4 Upload program yang ada pada Arduino IDE ke Arduino R3

4.5 Amati nyala led

V. Data Hasil Percobaan

int led=11;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}

Dapat dianalisa bahwa pada program led diinisialisasi pada pin 11


yang kemudian pada void setup led yang dihubungkan pada pin 11 diatur
menjadi output, pada void loop kita tulis program digitalWrite yang berarti
untuk mengatur pin digital yang disini led di program menjadi HIGH dengan
delay 1000 ms setelah itu kita program lagi dengan digital write dengan
kondisi led menjadi LOW dengan delay 1000 ms . ketika program di jalankan
maka hasilnya led akan otomatis menyala dan mati dengan durasi 1 detik

VI. Kesimpulan

Dapat percobaan yang telah dilakukan dapat disimpulkan bahwadengan


program yang dimasukan ke arduino led akan menyala ketika dalam kondisi
HIGH dan akan mati ketika kondisi LOW dengan diberikan delay 1 detik maka
ketika led menyala akan bertahan selama 1 detik kemudian mati selama 1 detik
juga, itu dikarenakan program pada void loop yang dimana fungsinya sebagai
pengulang.
Percobaan II
Pengenalan PORT Digital dan Analog,LED

I. MAKSUD DAN TUJUAN

Maksud dan tujuan dari praktikum ini adalah:

1.1 Mahasiswa mengenal jenis-jenis dan fungsi pin pada mikrokontroler


berbasis Atmega 328(Arduino Uno)

1.2 Mahasiswa mampu menggunakan pin-pin pada mikrokontroler sesuai


dengan fungsinya

1.3 Mahasiswa mampu menyelesaikan kasus tertentu dengan menggunakan


setiap fungsi pin-pin dalam mikrokontroler

Teori Dasar

Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang
berupa sinyal analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:
Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang
berhubungan dengan variabel lain.Contoh dari sinyal analog yaitu intensitas cahaya
LED yang dimana arus yang didalamnya juga meningkat, arus melalui resistor seperti
yang kita memvariasikan tegangan, atau suhu di kamar yang berjalan sering dengan
berjalannya waktu.Sinyal analog dapat mengambil nilai-nilai yang tak terbatas dan
pada mikrokontroler tidak dapat mewakili jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara sampling
dengan cara mengubah sinyal analog tersebut menjadi sinyal digital melalui pin
khusus yaitu pin Analog ke Digital Konversi (ADC).
Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu daerah
dan kemudian kita menggunakan serangkaian bit untuk mewakili nilai-nilai tersebut
saja.
Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal analog
menjadi output digital sehingga mudah diolah dan dapat diukur.
Pin analog (ADC) dapat mengukur nilai tegangan yang masuk dengan kondisi
normal range dari 0 – 5 Vdc yang akan dibandingkan dengan tegangan refrensinya
(Vref).
Hal ini berguna saat akan mengukur output tegangan dari suatu sensor yang
terhubung serta dapat dimanfaatkan untuk keperluan pengondisian program.Untuk
membaca sinyal analog yang terhubung pada pin ADC di Software IDE Arduino
yaitu menggunakan fungsi analogRead([nomorPin]).

Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung, tetapi
harus melewati proses pengubahan output dari digital menjadi analog yang
memerlukan fungsi komponen Digital to Analog Converter.Tetapi pada Arduino
fungsi tersebut tidak ada modul itu, sehingga memerlukan modul eksternal (modul
DAC) sebagai konverter sinyalnya.Tetapi disisi lain, output analog pada Arduino
kebanyakan memiliki fitur PWM (Pulse Width Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin
mengendalikan intensitas cahaya dari LED tersebut (nyala terang – redup mati).
Analog output yang terdapat di Arduino akan mengeluarkan sinyal analog dengan
nilai pwm / intensitas yang telah diprogram/setting. PWM seolah – olah dapat
memanipulasi / mengubah sinyal digital menjadi sinyal analog. Dengan cara
Arduino mengubah keluaran sinyal digital dari logika HIGH ke LOW atau sebaliknya
dengan waktu yang telah ditentukan. Lama waktu untuk logika HIGH dikatakan
dengan istilah panjang pulsa atau pulse width. Variasi perubahan nilai output
analog dihasilkan dari perubahan panjang pulsa yang telah diset dengan
kondisi waktu tertentu serta dikerjakan secara berulang-ulang.

Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau
menerima data yang berupa input output digital. Penjelasan yaitu :

Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1 atau 0,
logika high atau low, maupun kondisi on atau off.
Beda halnya dengan sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1,
nilai tersebut akan dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital
adalah pin yang dapat mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari
sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai 0 jika
tidak terdeteksi adanya benda.

Output Digital
Pada output digital sebenarnya hampir sama dengan input digital
dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai 0. Yang
membedakan hanya pada penggunaan fungsi pada saat pemogramannya, kapan saat
diset sebagai input maupun output.format dasar pemograman untuk deklarasi >>
pinMode ([pin yang digunakan], [INPUT or OUTPUT]};

Input dan Output

Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan
output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-
fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau
menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up
(terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-
fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan
(TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke
pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu
sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan
yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih
jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport
komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya
memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6
input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu
mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF
dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:

 TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi
TWI dengan menggunakan Wire library

Ada sepasang pin lainnya pada board:

 AREF. Referensi tegangan untuk input analog. Digunakan


dengan analogReference().
 Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara
khusus, digunakan untuk menambahkan sebuah tombol reset untuk
melindungi yang memblock sesuatu pada board.

III. PERALATAN DAN BAHAN

Peralatan yang dibutuhkan dalam praktikum ini adalah :

3.1 1 Buah Arduino Uno R3+Kabel USB


3.2 Jumper secukupnya
3.3 3 buah LED
3.4 1 buah Protoboard

IV. LANGKAH KERJA

4.1 Siapkan alat & dan bahan yang akan digunakan


4.2 Buatlah rangkaian seperti gambar berikut :
4.3 Buatlah Program pada aplikasi Arduino IDE

int ledPin1=12;
int ledPin2=11;
int ledPin3=10;
int matlabData;
void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0)
{
matlabData=Serial.read();
{
if(matlabData==1)
digitalWrite(ledPin1,HIGH);
else if(matlabData==2)
digitalWrite(ledPin1,LOW);

if(matlabData==1)
digitalWrite(ledPin2,HIGH);
else if(matlabData==2)
digitalWrite(ledPin2,LOW);

if(matlabData==1)
digitalWrite(ledPin3,HIGH);
else if(matlabData==2)
digitalWrite(ledPin3,LOW);

}
}
}

4.5 Setelah diprogram pada Arduino IDE kemudian di upload


4.6 Buat program pada MATLAB

answer=1;
arduino=serial('COM3','BaudRate',9600);
fopen(arduino);

while answer
fprintf(arduino,'%s',char(answer));
answer=input('Enter led value 1 or 2(1=ON, 2=OFF,
0=EXIT PROGRAM):');
end

fclose(arduino);

4.7 Setelah di program pada MATLAB kemudian Run dan amati lednya
4.8 Buatlah Program pada aplikasi Arduino IDE

int ledPin1=12;
int ledPin2=11;
int ledPin3=10;
int matlabData;
void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
if(Serial.available()>0)
{
matlabData=Serial.read();
{
if(matlabData==1)
digitalWrite(ledPin1,HIGH);
delay(500);
digitalWrite(ledPin1,LOW);
delay(500);
if(matlabData==2)
digitalWrite(ledPin1,LOW);

if(matlabData==1)
digitalWrite(ledPin2,HIGH);
delay(500);
digitalWrite(ledPin2,LOW);
delay(500);
if(matlabData==2)
digitalWrite(ledPin2,LOW);

if(matlabData==1)
digitalWrite(ledPin3,HIGH);
delay(500);
digitalWrite(ledPin3,LOW);
delay(500);
if(matlabData==2)
digitalWrite(ledPin3,LOW);

}
}
}

4.9 Setelah menuliskan program kemudian ulangi perintah pada langkah 4.6
dan 4.7
4.10 Buat Program kembali pada Arduino IDE
int led1=12;
int led2=11;
int led3=10;
int matlabData;

void setup() {
// put your setup code here, to run once:
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
Serial.begin(9600);
}

void loop() {
// put your main code here, to run
repeatedly:
{
if(Serial.available()>0)
{
matlabData=Serial.read();
if(matlabData==1)
digitalWrite(led1,HIGH);
else if(matlabData==2)
digitalWrite(led1,LOW);
else if(matlabData==3)
digitalWrite(led2,HIGH);
else if(matlabData==4)
digitalWrite(led2,LOW);
else if(matlabData==5)
digitalWrite(led3,HIGH);
else if(matlabData==6)
digitalWrite(led3,LOW);
}
}
}

4.11 Setelah menuliskan program kemudian ulangi perintah pada langkah


4.6 dan 4.7

V. DATA HASIL PERCOBAAN

5.1 Tabel Program 1

No DATA LED KONDISI


1. 1 1 Menyala
2. 1 2 Menyala
3. 1 3 Menyala
4. 2 1 Mati
5. 2 2 Mati
6. 2 3 Mati

5.2 Tabel Program 2

NO. DATA LED KONDISI


Mati dan Menyala
1. 1 1
Sesuai jeda waktu
Mati dan Menyala
2. 1 2
Sesuai jeda waktu
Mati dan Menyala
3. 1 3 sesuai dengan
jeda waktu
5.3 Tabel Program 3
NO DATA LED Kondisi

1. 1 1 Menyala

2. 2 1 Mati

3. 3 2 Menyala

4. 4 2 Mati

5. 5 3 Menyala

6. 6 3 Mati

Dapat dianalisa bahwa program pertama untuk menyalakan dan mematikan


semua led hanya dengan menggunakan dua input data yang ada pada matlab yaitu
dengan data 1 untuk menyalakan led , maka led 1 ,2 ,dan 3 akan otomatis menyala
dan untuk mematikan led dengan menggunakan data 2 .

Kemudian untuk program kedua yaitu untuk membuat running led maka
hanya dengan menggunakan data input 1 yang kita masukan pada matlab maka led
1,2,dan 3 akan menyala dan mati sesuai jeda waktu yang di program

Dan yang terakhir untuk program ketiga yaitu untuk menyalakan dan
mematikan led secara manual dengan 6 data input , ketika kita memasukan data 1
pada matlab maka led akan menyala , ketika kita masukan data 2 pada matlab maka
led akan mati hal ini akan sama sampai pada memasukan data input yang ke 6 pada
matlab
VI. KESIMPULAN
Dari percobaan yang telah dilakukan dapat disimpulkan bahwa untuk
menyalakan LED secara bersamaaan , Running LED, maupun secara manual yaitu
menggunakan data input yang berbeda-beda ketika LED menyala secara bersamaan
maka data yang digunakan 2 yaitu untuk menyalakan LED dan mematikan LED, dan
untuk menyalakan Running LED data yang digunakan hanya 1, sedangkan ketika
ingin menyalakan lampu secara manual kita menggunaan 6 data. Dalam hal ini
arduino sebagai programnya sedangkan MATLAB sebagai inputan data untuk
menyalakan LED.
PERCOBAAN III
Pengenalan PORT Digital dan Analog LED

I. MAKSUD DAN TUJUAN


1.1. Mahasiswa mengenal jenis-jenis dan fungsi pin pada mikrokontroler
berbasis arduino Atmega 328 (arduino UNO).
1.2. Mahasiswa mampu menggunakan pin-pin pada mikrokontroler sesuai
fungsinya.
1.3. Mahasiswa mampu menyelesaikan kasus tertentu dengan menggunakan
setiap fungsi pin-pin dalam mikrokontroler.

II. Dasar Teori


Hardware-Hardware dalam arduino memiliki beberapa jenis, yang
mempunyai kelebihan dan kekurangan dalam setiap papannya. Penggunaan
jenis arduino disesuaikan dengan kebutuhan, hal ini yang akan mempengaruhi
dari jenis prosessor yang digunakan. Jika semakin kompleks perancangan dan
program yang dibuat, maka harus sesuai pula jenis kontroler yang digunakan.
Yang membedakan antara arduino yang satu dengan yang lainnya adalah
penambahan fungsi dalam setiap boardnya dan jenis mikrokontroler yang
digunakan. Dalam tugas akhir ini, jenis arduino yang digunakan adalah arduino
uno.
Arduino Uno Menurut Abdul Kadir (2013 : 16), Arduino Uno adalah salah
satu produk berlabel arduino yang sebenarnya adalah suatu papan elektronik
yang mengandung mikrokontroler ATMega328 (sebuah keping yang secara
fungsional bertindak seperti sebuah komputer). Piranti ini dapat dimanfaatkan
untuk mewujudkan rangkaian elektronik dari yang sederhana hingga yang
kompleks. Pengendalian LED hingga pengontrolan robot dapat
diimplementasikan dengan menggunakan papan berukuran relatif kecil ini.
Bahkan dengan penambahan komponen tertentu, piranti ini bisa dipakai untuk
pemantauan kondisi pasien di rumah sakit dan pengendalian alat-alat di rumah.
(Sumber: B. Gustomo, 2015 )
Kode Program Arduino biasa disebut sketch dan dibuat menggunakan
bahasa pemrograman C. Program atau sketch yang sudah selesai ditulis di
Arduino IDE bisa langsung dicompile dan diupload ke Arduino Board. Secara
sederhana, sketch dalam Arduino dikelompokkan menjadi 3 blok.

Potensiometer adalah sebuah jenis resistor yang nilai tahanannya atau


hambatannya (resistansi) dapat diubah atau diatur (adjustable). Potensiometer
memiliki 3 terminal, 2 terminal terhubung ke kedua ujung elemen resistif, dan
terminal ketiga terhubung ke kontak geser yang disebut wiper. Posisi wiper
menentukan tegangan keluaran dari potensiometer. Potensiometer pada
dasarnya berfungsi sebagai pembagi tegangan variabel. Unsur resistif dapat
dilihat sebagai dua resistor seri, dimana posisi wiper menentukan rasio
resistensi dari resistor pertama ke resistor kedua. Potensiometer juga dikenal
sebagai potmeter atau pot. Bentuk paling umum dari potmeter adalah potmeter
putar. Jenis pot sering digunakan dalam kontrol volume suara audio dan
berbagai aplikasi lainnya. Unsur resistif pada potensiometer biasanya terbuat
dari bahan seperti karbon, keramik logam, gulungan kawat (wirewound),
plastik konduktif, atau film logam.
Light Emiting Diode (LED) adalah komponen yang dapat memancarkan
cahaya. Sstruktur LED sama dengan dioda. Untuk mendapatkan pancaran
cahaya pada semikonduktor, dopping yang dipakai adalah gallium, arsenic, dan
phosporus. Jenis dopping yang berbeda akan menghasilkan warna cahaya yang
berbeda. Bentuk LED bermacam-macam, ada yang bulat, persegi empat dan
lonjong.
LED memiliki kaki 2 buah seperti dengan dioda yaitu kaki anoda dan kaki
katoda. Pada gambar diatas kaki anoda memiliki ciri fisik lebih panjang dari
kaki katoda pada saat masih baru, kemudian kaki katoda pada LED ditandai
dengan bagian body yang dipapas rata. Pemasangan LED agar dapat menyala
adalah dengan memberikan tegangan bias maju yaitu dengan memberikan
tegangan positif ke kaki anoda dan tegangan negatif ke kaki katoda.
Resistor merupakan komponen listrik yang membatasi atau mengatur aliran
arus listrik di sebuah sirkuit elektronik (lihat gambar 2.6). Kemampuan resistor
untuk membatasi atau mengatur aliran arus listrik disebut resistensi dan diukur
dalam satuan ohm (simbol: Ω). Resistor diciptakan menggunakan karbon pasir
(grafit) dicampur dengan tanah liat dan mengeras. Kemudian terdapat juga
resistor yang diciptakan menggunakan kawat Nichrome. Komponen ini disebut
resistor wirewood dan mampu menangani arus yang lebih tinggi daripada bahan
karbon. Pada resistor mempunyai nilai yang berbeda – beda. Nilai tersebut
dilihat dari banyaknya warna.
Protoboard adalah board yang digunakan untuk membuat rangkaian
elektronik sementara dengan tujuan uji coba atau prototipe tanpa harus
menyolder. Dengan memanfaatkan protoboard, komponen-komponen
elektronik yang dipakai tidak akan rusak dan dapat digunakan kembali untuk
membuat rangkaian yang lain. Protoboard umumnya terbuat dari plastik dengan
banyak lubang-lubang diatasnya. Lubang-lubang pada protoboard diatur
sedemikian rupa membentuk pola sesuai dengan pola jaringan koneksi di
dalamnya.

III. Alat dan Bahan


3.1. 1 buah arduino uno R3 + kabel
3.2. Jumper secukupnya
3.3. 3 buah led
3.4. 1 buah protoboard
IV. Langkah Kerja
4.1. Siapkan alat dan bahan yang dibutuhkan pada percobaan.
4.2. Buat rangkaian seperti pada gambar berikut:

4.3. Buat program pada software arduino IDE seperti berikut:

int ledPin1=12;
int ledPin2=11;
int ledPin3=10;
void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
Serial.begin(9600);
}
void loop()
{
Serial.flush();
intnilaiSensor=analogRead(A0);
Serial.println(nilaiSensor);
delay(50);
if (nilaiSensor> 200)
{
digitalWrite(ledPin1,HIGH);
}
if (nilaiSensor> 400)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
}
if (nilaiSensor> 500)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
}
if (nilaiSensor< 200)
{
digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
}
}

4.4. Ketik program pada matlab sebagai berikut:

SerialPort='com4';
judulGrafik='Logger Data Serial';
xLabel='Waktu(detik)';
yLabel='Data';
plotGrid='on';
min=0;
max=1050;
lebarScroll=10;
delay= .01;
waktu=0;
data=0;
cacah=0;
plotGraph=plot(waktu,data,'-o',...
'LineWidth',1,...
'MarkerSize',3,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','r');
title (judulGrafik,'FontSize',15);
xlabel(xLabel,'FontSize',12);
ylabel(yLabel,'FontSize',12);
axis([0 10 min max]);
grid(plotGrid);
s=serial(SerialPort);
disp('Tutupjendelagrafikuntukmengakhiri logger');
fopen(s);
tic
whileishandle (plotGraph)
nilaiInput=fscanf(s,'%d');
if(~isempty(nilaiInput) &&isfloat(nilaiInput))
cacah=cacah+1;
waktu(cacah)=toc;
data(cacah)=nilaiInput(1);
if(lebarScroll> 0)
set(plotGraph,'XData',waktu(waktu>waktu(cacah)-lebarScroll),...
'YData',data(waktu>waktu(cacah)-lebarScroll));
axis([waktu(cacah)-lebarScrollwaktu(cacah) min max]);
else
set(plotGraph,'XData',waktu,'YData',data);
axis ([0 waktu(cacah) min max]);
end
pause(delay);
end
end
fclose(s);
clear all;
disp('Logger berakhir...');

4.5. Upload program pada arduino IDE pada modul arduino R3


4.6. Run program pada matlab dan akan muncul grafik pada layar kerja.
4.7. Potar potensiometer hingga data grafik mencapai nilai >200 dan led 1
menyala.
4.8. Potar potensiometer hingga data grafik mencapai nilai >400 dan led 1 dan
2 menyala.
4.9. Potar potensiometer hingga data grafik mencapai nilai <500 dan led 1,2,3
menyala.
4.10. Potar potensiometer hingga data grafik mencapai nilai <200 dan led 1,2,3
mati.

V. Data Hasil Percobaan


5.1. Grafik data >200
5.2. Grafik data >400

5.3. Grafik data >500


5.4. Grafik data <200

Dari program diatas dapat dianalisa bahwa kita mengkomunikasikan antara


software arduino IDE dengan Matlab. Pada arduino dikirimkan data ketika data
>200 maka led 1 akan menyala, ketika data >400 maka led 1 dan 2 menyala,
ketika data >500 maka led 1,2,3 akan menyala, ketika data <200 maka led 1,2,3
akan mati dimana dalam percobaanmengatur besarnya data yang dikirim
menggunakan potensiometer dimana ketika potensiometer diputar makin
kekanan maka hambatannya akan mengecil dan arus yang lewat makin besar
dalam percobaan ini semakin kekanan putaran potensio maka data output akan
semakin besar.

VI. Kesimpulan
Pada percobaan ini dapat disimpulkan bahwa pada percobaan ini proses
antarmuka antara arduino IDE dan Matlab dimana menyala dan matinya led
diatur oleh potensiometer, ketika potensiometer diputar kekanan sampai data
<200 maka led 1 menyala, ketika data >400 led 1 dan 2 menyala, ketika data
>500 maka led 1,2, dan 3 akan menyala,dan ketika data <200 maka led 1,2,3
mati.
PERCOBAAN IV
Pengenalan PORT Digital dan Analog LED

I. Tujuan Percobaan
1.1 Mahasiswa mengenal jenis-jenis dan fungsi pin pada mikrokontroler berbasis
arduino Atmega 328 (arduino UNO).
1.2 Mahasiswa mampu menggunakan pin-pin pada mikrokontroler sesuai
fungsinya.
1.3 Mahasiswa mampu menyelesaikan kasus tertentu dengan menggunakan
setiap fungsi pin-pin dalam mikrokontroler.
II. Dasar Teori

Arduino uno terdapat pin I/O untuk mengakses atau menerima data yang
berupa sinyal analog maupun sinyal digital.
Pada Arduino Uno berikut penjelasan singkatnya yang mudah dipahami:

Input Analog
Sinyal analog menjelaskan variabel fisik yang bervariasi terus menerus yang
berhubungan dengan variabel lain.Contoh dari sinyal analog yaitu intensitas
cahaya LED yang dimana arus yang didalamnya juga meningkat, arus melalui
resistor seperti yang kita memvariasikan tegangan, atau suhu di kamar
yang berjalan sering dengan berjalannya waktu.Sinyal analog dapat mengambil
nilai-nilai yang tak terbatas dan pada mikrokontroler tidak dapat mewakili
jumlah yang tak terbatas nilainya itu.
Sehingga yang harus dilakukan ketika ada sinyal analog yaitu dengan cara
sampling dengan cara mengubah sinyal analog tersebut menjadi sinyal digital
melalui pin khusus yaitu pin Analog ke Digital Konversi (ADC).

Ini pada dasarnya berarti bahwa memilih nilai-nilai tertentu di suatu


daerah dan kemudian kita menggunakan serangkaian bit untuk mewakili nilai-
nilai tersebut saja.
Pin analog (ADC) tersebut berfungsi sebagai pengubah sinyal analog
menjadi output digital sehingga mudah diolah dan dapat diukur.
Pin analog (ADC) dapat mengukur nilai tegangan yang masuk dengan
kondisi normal range dari 0 – 5 Vdc yang akan dibandingkan dengan tegangan
refrensinya (Vref).
Hal ini berguna saat akan mengukur output tegangan dari suatu sensor
yang terhubung serta dapat dimanfaatkan untuk keperluan pengondisian
program.Untuk membaca sinyal analog yang terhubung pada pin ADC di
Software IDE Arduino yaitu menggunakan fungsi analogRead([nomorPin]).

Output Analog
Pada output analog Arduino tidak dapat dihasilkan secara langsung,
tetapi harus melewati proses pengubahan output dari digital menjadi analog
yang memerlukan fungsi komponen Digital to Analog Converter.Tetapi
pada Arduino fungsi tersebut tidak ada modul itu, sehingga memerlukan
modul eksternal (modul DAC) sebagai konverter sinyalnya.Tetapi disisi lain,
output analog pada Arduino kebanyakan memiliki fitur PWM (Pulse Width
Modulation).
Contoh kasus apabila arduino yang dihubungkan dengan LED ingin
mengendalikan intensitas cahaya dari LED tersebut (nyala terang – redup
mati). Analog output yang terdapat di Arduino akan mengeluarkan sinyal
analog dengan nilai pwm / intensitas yang telah diprogram/setting. PWM
seolah – olah dapat memanipulasi / mengubah sinyal digital menjadi sinyal
analog. Dengan cara Arduino mengubah keluaran sinyal digital dari logika
HIGH ke LOW atau sebaliknya dengan waktu yang telah ditentukan. Lama
waktu untuk logika HIGH dikatakan dengan istilah panjang pulsa atau pulse
width. Variasi perubahan nilai output analog dihasilkan dari perubahan
panjang pulsa yang telah diset dengan kondisi waktu tertentu serta dikerjakan
secara berulang-ulang.
Selain itu pada Arduino uno juga terdapat pin untuk mengakses atau
menerima data yang berupa input output digital. Penjelasan yaitu :
Input Digital
Input Digital adalah sinyal yang akan diterima baik itu berupa nilai 1
atau 0, logika high atau low, maupun kondisi on atau off. Beda halnya dengan
sinyal analog kontinyu, yaitu untuk nilai diantara 0 dan 1 nilai tersebut akan
dipertimbangkan. Sehingga dapat disimpulkan bahwa pin digital adalah pin
yang dapat mengirim atau menerima sinyal – sinyal digital.
Contoh dari input digital yaitu penggunaan sensor PIR dimana output dari
sensor tersebut berupa nilai 1 jika terdeteksi adanya benda bergerak dan nilai
0 jika tidak terdeteksi adanya benda.
Output Digital
Pada output digital sebenarnya hampir sama dengan input digital
dikarenakan pada dasarnya sama, hal yang dikirimkan yaitu nilai 1 atau nilai
0. Yang membedakan hanya pada penggunaan fungsi pada saat
pemogramannya, kapan saat diset sebagai input maupun output.format dasar
pemograman untuk deklarasi >> pinMode ([pin yang digunakan], [INPUT or
OUTPUT]};

Input dan Output


Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input
dan output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead().
Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat
memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai
sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu,
beberapa pin mempunyai fungsi-fungsi spesial:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan
memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin
ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-
TTL.
External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan
untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu
kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat
fungsi attachInterrupt() untuk lebih jelasnya.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output
dengan fungsi analogWrite().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini
mensupport komunikasi SPI menggunakan SPI library.
LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin
digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW
LED mati.

Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5,


setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda).
Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan
5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan
menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa
pin mempunyai fungsi spesial:

 TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi
TWI dengan menggunakan Wire library

Ada sepasang pin lainnya pada board:

 AREF. Referensi tegangan untuk input analog. Digunakan


dengan analogReference().
 Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara
khusus, digunakan untuk menambahkan sebuah tombol reset untuk
melindungi yang memblock sesuatu pada board.

III. Alat dan Bahan


3.1 buah arduino uno R3 + kabel
3.2 Jumper secukupnya
3.3 buah led
4.3 1 buah protoboard
IV. Langkah Kerja
4.1 Siapkan alat dan bahan yang dibutuhkan pada percobaan.
4.2 Buat rangkaian seperti pada gambar berikut:
4.3 Buat program pada software arduino IDE seperti berikut:

intledpin=12;
intmatlabData;
void setup()
{
pinMode (ledpin,OUTPUT);
Serial.begin (9600);
}
void loop()
{
if(Serial.available()>0)
{
matlabData=Serial.read();
if(matlabData=='A')
digitalWrite(ledpin,HIGH);
else if(matlabData=='Z')
digitalWrite(ledpin,LOW);
}
}

4.4 Ketik program berikut di software matlab.

functionvarargout = LATIHAN1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @latihan1_OpeningFcn, ...
'gui_OutputFcn', @latihan1_OutputFcn, ...
'gui_LayoutFcn', [], ...
'gui_Callback', []);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
ifnargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function LATIHAN1_OpeningFcn(hObject, eventdata,
handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
functionvarargout = LATIHAN1_OutputFcn(hObject,
eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata,
handles)
global s
fwrite(s,'Z');
function edit1_Callback(hObject, eventdata,
handles)
function edit1_CreateFcn(hObject,eventdata,
handles)
ifispc&&isequal(get(hObject,'BackgroundColor')),
get(0,'defaultUicontrolBackgroundColor'),
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata,
handles)
function edit2_CreateFcn(hObject, eventdata,
handles)
ifispc&&isequal(get(hObject,'BackgroundColor')),
get(0,'defaultUicontrolBackgroundColor'),
set(hObject,'BackgroundColor','white');
end
function pushbutton2_Callback(~,~,~)
global s
myform=guidata(gcbo);
aa=get(myform.edit1,'String');
bb=str2double(get(myform.edit2,'String'));
s=serial(aa,'Baudrate',bb,'Databits',8,'Stopbits',
1,'InputBufferSize',16000);
fopen(s)
function pushbutton3_Callback(hObject, eventdata,
handles)
global s
fwrite(s,'A');
function pushbutton4_Callback(hObject, eventdata,
handles)
global s
fclose(s);
delete(s);
clears;

4.5 Upload program arduino IDE ke modul arduino R3


4.6 Run program pada matlab, dan akan muncul figure, edit figure sesuai
dengan data yang ada pada program kita,dan setelah kita atur kita dapat
mengontrol nyala led lewat figure pada matlab.

V. Data Hasil Percobaan

ON
OFF
OPEN
CLOSE
Dapat dianalisa bahwa untuk percobaan ini Matlab di menggunakan
fitur GUI (Graphical User Interface) untuk menyalakan led nya , pada data hasil
percobaan terdapat tombol seperti ON , OFF , OPEN , dan CLOSE. Tombol
ON berfungsi untuk menyalakan LED dengan data yang dimasukan yaitu A dan
tombol OFF berfungsi untuk mematikan LED dengan data yang dimasukan
yaiitu Z , dan push button yang ke 3 yaitu OPEN untuk membuka atau
menjalankan program yang telah deprogram di arduino dan dan tombol CLOSE
untuk mematikan program serta menghapus perintah.
VI. Kesimpulan
Pada percobaan ini dapat disimpulkan bahwa pada percobaan ini Matlab
yang terhubung dengan Arduino menggunakan fitur GUI (Graphical User
Interface) untuk menyalakan LED digunakan tombol ON untuk menyalakan
LED, tombol OFF untuk mematikan LED, tombol OPEN untuk menjalankan
program arduino, dan tombol CLOSE untuk memberhentikan program atau
menutup program.

Anda mungkin juga menyukai