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

Labsheet 03 Arduino

Dokumen ini membahas tentang input output digital pada mikrokontroler Arduino. Secara khusus membahas tentang pemrograman input output menggunakan push button dan potensiometer untuk mengontrol LED. Termasuk contoh kode programnya dan skema koneksinya.

Diunggah oleh

Duni doeni
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 DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
119 tayangan

Labsheet 03 Arduino

Dokumen ini membahas tentang input output digital pada mikrokontroler Arduino. Secara khusus membahas tentang pemrograman input output menggunakan push button dan potensiometer untuk mengontrol LED. Termasuk contoh kode programnya dan skema koneksinya.

Diunggah oleh

Duni doeni
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 DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET Praktik Mikrokontroler


Semester 6 LS 3 : Input Output Digital 8 X 60 Menit
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 1 dari 5

1. Kompetensi
Mahasiswa mampu menjelaskan pemrograman input output digital mikrokontroler Arduino
2. Sub Kompetensi
 Dapat menerapkan pemrograman input output digital dengan pushbutton
 Dapat menerapkan pemrograman input output digital dengan potensiometer
3. Dasar Teori
Sebelumnya kita telah belajar tentang bagaimana mengendalikan LED. Untuk mengendalikan
LED kita menjadi pin pada Arduino sebagai OUTPUT. Pada bagian ini kita akan membahas
tentang bagaimana menjadikan pin Arduino sebagai INPUT dan sebagai aplikasinya, kita akan
menggunakan komponen pushbotton dan potensiometer sebagai input untuk mengendalikan
LED. Bagian ini akan menjadi dasar agar Anda memahami bagaimana membuat Arduino bisa
membaca sensor untuk mendeteksi kondisi lingkungan sekitar.
Pushbutton
Pertama kita akan bermain dengan tombol pushbutton (tactile) atau tombol
push on. Ketika tombol ini ditekan, maka jalur akan tertutup (ON), ketika
dilepas jalur akan kembali terbuka (OFF). Tombol banyak digunakan untuk
peralatan seperti remote, keypad, keyboard, atau tombol untuk pengaturan
TV, ld atau sejenisnya.

Gambar diatas merupakan bentuk fisik pushbutton dan salah satu simbol pushbotton jenis NO
(Normally Open) dalam rangkaian elektronik. Berdasarkan simbol tersebut, Normally Open
berarti kondisi normal (sebelum ditekan), maka terminal dalam kondisi tidak tersambung (open,
terbuka). Tapi ketika ditekan, maka masing-masing terminal akan terhubung.
Selain jenis NO, ada juga pushbutton jenis NC (Normally Close), artinya ketika kondisi normal
(sebelum ditekan), kaki terminal dalam keadaan terturup / tersambung (Close), tapi ketika
ditekan, kaki terminalnya terbuka (tidak tersambung). Dalam labsheet ini, kita akan
menggunakan jenis pushbutton NO.

Contoh program mengendalikan nyala LED dengan pushbutton :


Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
// pin 2 sebagai input dan pin 8 sebagai output
const int pinButton = 2;
const int pinLED = 8;
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
Semester 6 LS 3 : Input Output Digital 8 X 60 Menit
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 2 dari 5

void setup() {
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// aktifkan pull-up resistor
digitalWrite(pinButton, HIGH);
}
void loop() {
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
}

Keterangan program :
Baris 6 berfungsi untuk mengeset pinButton sebagai INPUT. Jika sebuah pin diset sebagai
INPUT, maka mikrokontroller akan mengambil data dari pin tersebut. Jika sebuah pin diset
sebagai OUTPUT, maka mikrokontroller akan menuliskan data pada pin tersebut. dalam hal ini,
mikrokontroller akan mengambil data yang dari pushbutton.
Perhatikan baris ke-14. Nilai pinButton awalnya diset HIGH. Menpapa diset HIGH? Mengapa
bisa diset nilai pinnya menjadi HIGH, padahal pin tersebut tidak terhubung dengan +5V?
Pemilihan settingan awal dengan HIGH atau LOW untuk pinButton tergantung pada rangkaian
yang akan digunakan. Rangkaian 3.1 menghubungkan pinButton (pin 8) ke GND, artinya, ketika
pushbutton ditekan maka pinButton (pin 8) akan menjadi 0 (LOW). Padahal defaultnya, setiap
pin bernilai LOW. Jika pin awalnya bernilai LOW, kemudian ditekan tetap bernilai LOW, lalu apa
gunanya pushbutton? 
Fungsi utama dari saklar (dalam hal ini adalah pushbutton) adalah mengubah nilai yang awalnya
LOW menjadi HIGH, atau sebaliknya. Nah, karena ketika pushbutton ditekan akan bernilai LOW
(ke GND), maka awalnya harus kita set menjadi HIGH. Sehingga logika untuk pushbutton
tersebut adalah: ketika tidak ditekan HIGH, ketika ditekan LOW.
Kondisi tersebut yang akan digunaka untuk mendeteksi apakah pushbutton tersebut ditekan atau
tidak. Silakan perhatikan baris ke-18.

Pada baris 18, fungsi digitalRead() untuk membaca logika pada pinButton. Jika pinButton ditekan
(LOW), maka hidupkan LED dengan perintah digitalWrite(pinLED,HIGH). Ketika pinButton
bernilai HIGH, matikan LED.

Potensiomenter
Setelah kita belajar mengatur intensitas cahaya LED dengan pushbutton, kali ini kita akan
mengunakan potensiometer. Kelebihan menggunakan potensiometer yaitu kita lebih mudah sebab
kita hanya butuh satu alat untuk membuat LED lebih redup atau lebih terang.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
Semester 6 LS 3 : Input Output Digital 8 X 60 Menit
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 3 dari 5

Contoh program kendali nyala LED dengan potensiometer


// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
// pin A0 adalah pin Analog
// pin 9 adalah pin digital support PWM
const int pinPot = A0;
const int pinLED = 9;
void setup() {
pinMode(pinPot, INPUT);
pinMode(pinLED, OUTPUT);
}
int sensor = 0;
int brightness = 0;
void loop() {
// baca nilai kaki A0 (sensor, potensiometer)
sensor = analogRead(pinPot);
// konversi nilai 0-1023 (Analog) menjadi 0-255 (PWM)
brightness = map(sensor, 0, 1023, 0, 255);
// tentukan brightness LED dengan PWM
analogWrite(pinLED, brightness);
}
Pada program diatas, ada dua bagian yang perlu diperhatikan:
1. Pada baris 7, pinPot = A0. A0 adalah variabel untuk pin Analog ke 0. Sebenarnya A0 sama
dengan pin 14. Kita juga bisa menggunakan pin tersebut sebagai pin digital. Tapi Anda tidak
bisa menggunakan pin digital sebagai pin analog.

Jadi, gunakan pin A0 – A5 jika akan dihubungkan dengan sensor analog.


2. Pada baris 22, ada fungsi map(). Sebagaimana namanya, fungsi map() digunakan untuk
memetakan suatu nilai dari range tertentu ke range yang lain. Berikut adalah parameter dalam
fungsi map()

map(value, from_min, from_max, to_min, to_max);


Maka pada baris 22 berfungsi untuk mengubah nilai sensor yang awalnya ada pada range 0-1024
menjadi nilai dengan range 0-255. Jika sensor benilai 512 (anggap saja ½ dari 1024), maka
nilai tersebut akan dirubah menjadi 127 (anggap saja ½ dari 255).

4. Alat dan Instrument


- Arduino Uno buah
- Kabel USB 1 buah
- LED secukupnya
- Kabel jumper male – male secukupnya
- Potensiometer 1 buah
- Pushbutton 2 buah

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
Semester 6 LS 3 : Input Output Digital 8 X 60 Menit
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 4 dari 5

5. Langkah Kerja
1. Buat koneksi LED dengan pushbutton sebagai berikut :

2. Ketik ulang program berikut :


// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
// pin 2 & 3 sebagai input digital
const int pinBt1 = 2;
const int pinBt2 = 3;
// Ingat, pin 9 support PWM
const int pinLED = 9;
void setup() {
pinMode(pinBt1, INPUT);
pinMode(pinBt2, INPUT);
pinMode(pinLED, OUTPUT);
digitalWrite(pinBt1, HIGH);
digitalWrite(pinBt2, HIGH);
}
int brightness = 0;
void loop() {
if(digitalRead(pinBt1) == LOW){
// jika pushbutton ditekan
// tambahkan nilai brightness
brightness++;
}else if(digitalRead(pinBt2) == LOW){
// jika pushbutton2 ditekan
// kurangi nilai brightness
brightness--;
}
// brightness dibatasi antara 0 - 255
// jika di bawah 0, maka ganti dengan 0
// jika di atas 255, maka ganti dengan 255
brightness = constrain(brightness, 0, 255);
// pinLED diberi nilai antara 0 - 255
analogWrite(pinLED, brightness);
// delay agar perubahannya bertahap
delay(20);
}
3. Verifikasi dan Upload program ke Arduino
4. Amati pola nyala LED ketika pushbutton pertama ditekan …………………………………….
5. Amati pola nyala LED ketika pushbutton kedua ditekan …………………………………….
6. Amati pola nyala LED ketika kedua-duanya pushbutton ditekan ……………………………….
7. Buat koneksi LED dengan potensiometer sebagai berikut :

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
Semester 6 LS 3 : Input Output Digital 8 X 60 Menit
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 5 dari 5

8. Ketikkan program berikut :


Free Ebook Arduino
// www.elangsakti.com
// pin A0 adalah pin Analog
// pin 9 adalah pin digital support PWM
const int pinPot = A0;
const int pinLED = 9;
void setup() {
pinMode(pinPot, INPUT);
pinMode(pinLED, OUTPUT);
}
int sensor = 0;
void loop() {
// baca nilai kaki A0 (sensor, potensiometer)
sensor = analogRead(pinPot);
// durasi kedipan sesuai nilai pada sensor 0-1023
digitalWrite(pinLED, HIGH);
delay(sensor);
digitalWrite(pinLED, LOW);
delay(sensor);
}
1. Putar potensiometer kearah searah jarum jam, amati nyala LED
2. Putar potensiometer kearah berlawanan arah jarum jam, amati nyala LED
Tugas :
a. Buat rangkaian terdiri dari 3 buah pushbutton dan 3 buah LED. Buat program yang jika ditekan
pushbutton 1 maka akan nyala LED1 dan seterusnya untuk masing-masing pushbutton.
b.Buat program dengan ketentuan sebagai berikut :
Jika pushbutton ditekan maka counter akan bertambah, jika hitungan counter genap (ditekan dua
kali dst) maka LED akan menyala jika ganjil maka LED akan mati.

Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP

Anda mungkin juga menyukai