Anda di halaman 1dari 5

PRAKTIKUM 2

ARDUINO DIGITAL I/O

Sub Kompetensi

 Mahasiswa mampu memahami dan mempraktekkan interface dan pemrograman


menggunakan Pin Digital I/O pada Arduino

Waktu Pelaksanaan Praktikum

 Pertemuan Minggu ke-2, Dasar Digital I/O pada Arduino

Dasar Teori

Beberapa fungsi dari tiap pin yang ada pada board Arduino Uno dapat dilihat pada pin
mapping IC atmega 328 ditunjukkan gambar 2.1. Pada gambar tersebut terlihat bahwa arduino
memiliki 14 pin yang dapat difungsikan sebagai digital I/O dari mulai pin digital 0-13. Pada percobaan
kali ini difokuskan untuk menggunakan pin digital tersebut sedangkan untuk fungsi pin yang lain
dapat dilihat pada datasheet atau buku manual online pada website www.arduino.cc. Untuk
menggunakan pin digital I/O pada board Arduino digunakan perintah pinMode(), digitalWrite(), dan
digitalRead().

Gambar 2.1 pin mapping board Arduino Uno


Peralatan yang diperlukan

 Komputer /PC Laptop dengan port USB


 Board Arduino + Kabel
 Software Arduino IDE
 Push button (min. 2 pcs)
 Kabel jumper beserta konektornya (secukupnya)
 Breadboard (1 pcs)

Prosedur Percobaan

1. Buatlah rangkaian pull-up digital input arduino seperti skematik yang ditunjukkan pada
gambar 2.2. dengan nomor pin digital input Arduino sesuai dengan nomor kelompok.

Gambar 2.2 Rangkaian Pull-up digital input switch

2. Setelah itu buatlah program untuk menjalankan rangkaian tersebut sesuai dengan kode
program sebagai berikut:

3. Compile dan upload program tersebut ke board Arduino dan amati hasilnya serta tabel 2.1
berikut ini:
Tabel 2.1 Hasil Pengamatan Percobaan
Push Button Led pin 8 (On/Off)
Tidak ditekan On
Ditekan Sebentar On
Ditekan Lama Off

4. Dengan menggunakan rangkaian yang sama, buatlah program arduino untuk menyalakan
dan mematikan led pin 8 dengan aturan sebagai berikut:
a. Jika Push button ditekan sekali led akan menyala (ON) terus
b. Jika push button ditekan sekali led akan mati (OFF) terus
5. Ubah rangkaian tersebut menjadi rangkaian pull-down dan buatlah programmna serta
gambarkan rangkaian skematiknya

6. Dari percobaan diatas, buatlah analisa jalannya sistem beserta analisa perbaris tiap line
program
a. Serial.begin(9600); = adalah untuk mengeset kecepatan transmisi data
b. pinMode(10, INPUT); = menjadikan pin 10 sebagai Input
c. pinMode(8, OUTPUT); = menjadikan pin 8 sebagai Output
d. int btn = digitalRead(10); = pin digital 10 pada arduino dijadikan untuk button
e. Serial.print(“ nilai= “); Serial.println(btn); = menampilkan pesan “nilai= “ diikuti
nilai dari btn
f. If (btn == HIGH) { = jika btn bernilai HIGH (button tidak ditekan)
g. digitalWrite(8, LOW);} = Output menghasilkan nilai LOW
h. else { digitalWrite(8, HIGH);} = sebaliknya jika button ditekan maka output
bernilai HIGH
7. Coding arduino dengan ketentuan :
Led akan menyala setelah button ditekan sebanyak 5 kali dan Led akan terus
menyala.

Penjelasan :
A. Pertama adalah mendekklarasikan terlebih dahulu dimana disini buttonpin ada pada
pin 10, ledpin pada pin 8, counter sebanyak 1, buttonstate/posisi awal 0, dan
lastbuttonstate 0.
B. Selanjutnya mendeklarasikan “buttonpin” sebagai INPUT dan “ledpin” sebagi OUTPUT,
juga ditambahkan kecepatan transmisinya yaitu 9600.
C. Pada bagian ini diberitahu bahwa buttonstate ditentukan oleh buttonpin. Jika button
ditekan maka bernilai HIGH tapi led belum menyala dan akan melakukan proses
counter sampai jumlah yang ditentukan.
D. Disini diberitahu jika counter telah lebih besar atau sama dengan 6 maka ledpin diberi
nilai HIGH dan disini Led sudah menyala. Dan led akan terus menyala walaupun button
kembali ditekan.

Anda mungkin juga menyukai