Teori Singkat
Arduino memiliki salah satu fasilitas penting ADC, yaitu GPIO (General Purpose Input Output). Fasilitas ini memiliki fungsi serbaguna yaitu bisa menerima input atau mengeluarkan output digital secara bergantian tergantung pada pengaturan fungsinya oleh kode program perangkat lunak.
Berbeda dengan ADC yang menerima masukan analog, Pin masukan digital Arduino hanya mampu mengenali data digital saja, yaitu kondisi HIGH (+5volt) dan low (0 volt). Pada papan Arduino Uno, pin masukan digital tidak hanya pin 1-13 saja, namun pin masukan analog juga bias digunakan sebagai pin masukan digital.
Secara umum pin masukan digital Arfuino memeiliki resistor pull_up internal yaitu sebuah resistor yang menarik arus dari catu positif menuju catu negative, namun secara default resisitor ini tidak diaktifkan. Sehingga perlu dipertimbangkan penggunaannya berdasarkan karakteristik masukan dari piranti eksternal.
Gbr. 3.1 Penggunaan resistor pull up pada masukan digital Arduino |
Alat dan Bahan Percobaan
Pada sesi ini akan diperkenalkan tentang cara pembacaan masukan analog pada papan Arduino. Adapun alat dan bahan yang digunakan selama percobaan adalah :
- Saklar Tekan on_off
Bahan percobaan yang digunakan untuk memberi logika masukan digital - Multimeter Digital
Alat bantu pengukuran tegangan yagn akan digunakan untuk mengukur tegangan masukan digital sebagai data untuk keperluan analisisi kerja GPIO - Papan Arduino UNO
Bahan percobaan sebagai pengendali utama untuk menguji fungsi pembacaan masukan digital dengan melibatkan aktivitas perancangan antarmuka perangkat keras dan pemrograman perangkat lunak.
Langkah Percobaan
Percobaan masukan digital oleh papan Arduino melibatkan dua aktifitas yaitu perancangan antarmuka perangkat keras dan pemrograman perangkat lunak. Adapun langkah percobaan adalah sebagai berikut :
- Disain antarmuka perangkat keras
Percobaan ini melibatkan aktifitas menghubungkan papan Arduino UNO dengan tiga sakalar tekan on-off secara, seperti yang ditunjukan oleh Gambar 3.2 Pada percobaan ini akan memanfaatkan resistor pull up internal yang dimiliki oleh Arduino UNO, sehingga tidak memerlukan tambahan resistor pull up eksternal.Gbr. 3.2 Antarmuka papan Arduino UNO dengan Saklar tekan On-Off - Pemrograman perangkat lunak
Setelah perangkat keras selesai dirakit, selanjutnya membuat kode program untuk membaca masukan digital dari sakalr tekan on-off. Ketik contoh kode program berikut ini, Kompilasi dan upload ke papan Arduino. Kemudian Pengamatan dilakukan menggunakan monitor data serial pada Arduino IDE.#define sw1 2
#define sw2 3
#define sw3 4
void setup() {
Serial.begin(9600);
pinMode(sw1, INPUT_PULLUP);
pinMode(sw2, INPUT_PULLUP);
pinMode(sw3, INPUT_PULLUP);
}
void loop(){
if(sw1 == 0) Serial.println("Tombol-1 ditekan");
if(sw2 == 0) Serial.println("Tombol-2 ditekan");
if(sw3 == 0) Serial.println("Tombol-3 ditekan");
delay(100);
} - Analisi Hasil Percobaan
Analisis hasil percobaan dilakukan berdasarkan pengukuran tegangan menggunakan multimeter pada setiap pin masukan digital (2,3,4) baik saat kondisi ditekan maupun saat kondisi tidak ditekan. Hasil pengukuran disajikan dalam bentuk isian seperti yang ditunjukan oleh Table 3.1 beikut ini.Sample Kondisi Vterukur pada pin 2 (SW1)Vterukur pada pin 3 (SW2)Vterukur pada pin 4 (SW3)1 Ditekan 2 Dilepas
Tugas
Berikut ini deskripsi tugas yang harus anda lakukan terkait dengan tahap-tahap percobaan yang sudah dilakukan.
- Berdasarkan Gambar 3.2 silahkan anda buat kode program yang hanya menggunakan 2 skalar tekan on-off saja (silahkan pilih dari 3 sakalr tekan yang ada). Aplikasi yang anda harus buat adalah fungsi COUNTER UP/DOWN, dimana salah satu saklar tekan sebagai penambah hitungan saaat ditekan dan saklar tekan yang lain sebagai pengurang hitungan. Anda dapat menggunakan Variabel bertanda maupun tak bertanda untuk menyimpan hitungan.
- Kompilasi dan upload kode program yang sudah anda buat, kemudian amati hasilnya.
- Membuat laporan percobaan yang berisi foto antarmuka perangkat keras dan kode program yang berhasil dibuat dan berjalan dengan benar.