Anda di halaman 1dari 6

PRAKTIKUM MIKROKONTROLER 3

A. Judul : Konfigurasi Digital Input Arduino


B. Tujuan :
1. Mahasiswa dapat memahami digital input pada Arduino
2. Mahasiswa dapat melakukan konfigurasi input Arduino

C. Dasar Teori
Digital berarti sinyal yang dikirimkan/diterima bernilai 1 atau 0, on atau off, HIGH atau
LOW. Berbeda dengan sinyal analog yang nilainya bersifat kontinyu, yakni nilai antara 0
dan 1 dipertimbangkan atau terdapat rentangan nilai dari 0 sampai 1. Secara umum pin pada
Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input dan output. Mode input
berarti mengeset pin agar dapat digunakan untuk menerima masukan sinyal dari komponen
yang terhubung ke board arduino. Untuk mengeset mode pin, kita gunakan fungsi
pinMode(). Fungsi ini biasanya digunakan di dalam fungsi setup(). Fungsi ini memerlukan
dua parameter, pinMode([nomorPin], [mode]). Parameter pertama diisi oleh nomor pin, dan
parameter kedua diisi oleh konstanta INPUT atau OUTPUT, sesuai dengan mode yang ingin
kita gunakan.

Digital input arduino memiliki 3 jenis kondisi yaitu HIGH, LOW, dan TRISTATE. Input
kondisi HIGH jika menggunakan resistor PULL UP. Input Kondisi LOW jika menggunakan
resistor PULL DOWN. Kondisi TRISTATE terjadi jika tidak ada resistor pada saklar yang
menahan arus, sehingga mikrokontroler tidak bisa mendefinisikan kondisi HIGH/LOW.
Fungsi checkbit atau sebagai pengganti digitalRead digunakan untuk membaca nilai
HIGH/LOW dari suatu pin.

Perulangan while adalah perulangan yang akan melakukan perintah di dalam blok jika
kondisi bernilai benar. Jika kondisi awal tersebut bernilai salah maka pernyataan di dalam
blok tidak akan pernah di jalankan.
while (kondisi){
statement/pernyataan
}

sulfan@pnm.ac.id 1
D. Peralatan yang Digunakan :
1. Arduino Uno
2. Komputer / Laptop
3. 8 Resistor 330 ohm
4. 8 LED
5. 1 Push Button

E. Rangkaian Percobaan

F. Langkah Percobaan :
1. Siapkan alat dan bahan
2. Rangkai sesuai gambar rangkaian
3. Setting dan masukkan program ke Arduino
4. Compile dan jalankan rangkaian

sulfan@pnm.ac.id 2
G. Program percobaan
Program 1
#define setbit(PORT,BIT) (PORT|=(1<<BIT))
#define clrbit(PORT,BIT) (PORT&=~(1<<BIT))
void setup()
{
pinMode(7,INPUT_PULLUP);
pinMode(2,OUTPUT);
}
void loop()
{
if(digitalRead(7)==0){
digitalWrite(2,HIGH);
}else{
digitalWrite(2,LOW);
}
}

Program 2
#define setbit(PORT,BIT) (PORT|=(1<<BIT))
#define clrbit(PORT,BIT) (PORT&=~(1<<BIT))
#define checkbit(PORT,BIT) (PORT&(1<<BIT))
void setup()
{
DDRD=0x7F;
PORTD=0x80;
}

void loop()
{
if(!checkbit(PIND,7)){
setbit(PORTD,2);
}else{
clrbit(PORTD,2);
}
}

sulfan@pnm.ac.id 3
Program 3 (TUGAS)
#define setbit(PORT,BIT) (PORT |=(1<<BIT))
#define clrbit(PORT,BIT) (PORT &=~(1<<BIT))
#define checkbit(PORT,BIT) (PORT &(1<<BIT))
int x=0;
void setup(){
DDRD=0x7F;
PORTD=0x80;
}
void loop (){
if(!checkbit(PIND,7)){
x++;
while(!checkbit(PIND,7));
if(x>6){
x=0;
clrbit(PORTD,6);
}
clrbit(PORTD,x-1);
}
setbit(PORTD,x);
}

H. Hasil

Pada program 1, LED pada PORT 2 akan menyala jika pushbutton ditekan dan LED
pada PORT 0 juga menyala karena terhubung ke PORT Serial.

sulfan@pnm.ac.id 4
Pada program 2 prinsipnya sama dengan program 1, namun pada program 2
menggunakan syntax checkbit, setbit, clrbit, dan port manipulation. Lalu LED 1 mati
karena saat konfigurasi port manipulation, port serial digunakan sebagai output dengan
kondisi default LOW.

sulfan@pnm.ac.id 5
Pada program 3 ketika pushbutton ditekan LED akan bergantian menyala ke kiri dan jika
LED 7 menyala maka akan Kembali ke LED 1.
I. Analisa
Pada percobaan kali ini menggunakan pin-pin digital dari arduino, dimana pin- pin
tersebut akan dipakai baik sebagai input maupun output. Seperti percobaan diatas
Pushbutton dipakai sebagai input dan Led dipakai sebagai output. Dan jika kita ingin
membuat pin digital arduino sebagai input, maka pada program di arduino.ide kita dapat
menulis “ pinMode (pushbutton1,INPUT); “, dan untuk membaca hasil inputan dari
pushbuttonnya dapat digunakan “digitalRead (pushbutton); “ . Kemudian jika kita ingin
membuat pin arduino sebagai output maka untuk pin mode kita dapat tuliskan “pinMode
(Led1,OUTPUT); “.
Percobaan ini menggunakan syntax yang langsung mengambil source dari
microprosessornya, yaitu dengan menggunakan fungsi checkbit. Dalam fungsi checkbit
berisi manipulasi bit dengan menggunakan bitwise.
J. Kesimpulan
Berdasarkan percobaan yang telah dilakukan dapat disimpulkan bahwa Digital Input
lebih banyak menggunakan fungsi if-else dan counter sedangkan pada percobaan Digital
Output banyak menggunakan fungsi for.

sulfan@pnm.ac.id 6

Anda mungkin juga menyukai