Anda di halaman 1dari 14

Digital input

Tentukan nomor pin-nya :


Digital Input pinMode(pin, INPUT)
pin : nomor pin Arduino (0 – 13)

Pilih input floating atau pullup.


 Jika floating maka :
digitalWrite(pin,0) atau digitalWrite(pin,LOW);
 Jika pullup maka :
digitalWrite(pin,1) atau digitalWrite(pin,HIGH);

Kemudian untuk membaca data digital yang masuk, gunakan perintah


berikut :
var=digitalRead(pin);
var adalah variabel, nilainya tergantung logika input. Bernilai ‘1’ (HIGH)
atau ‘0’ (LOW).
pin adalah nomor pin Arduino yang dibaca inputannya.
 Pullup
VCC
SW=off
R pull-up (internal)
pin 2
pin 2 = 1

Ketika SW = ‘OFF’ (Open) maka logika pada pin 2=1, Karena di-pullup oleh resistor
yang terhubung ke Vcc.

VCC
SW=ON
R pull-up (internal)
pin 2
pin 2 = 0

Ketika SW = ‘ON’ (Closed) maka logika pada pin 2=0, karena terhubung ke ground.
 floating

SW=off

pin 2
pin 2 = ?

Floating ketika saklar dalam posisi terbuka maka logikanya BUKAN ‘1’, melainkan floating.
Digital input 1 tombol
Koneksi digital input
SW POSISI
1 ON
2 OFF
3 OFF
4 OFF
5 OFF
6 OFF
7 OFF
8 OFF
9 OFF
10 OFF
//Program 7 : Membaca 1 tombol
byte tombol;  Deklarasi variabel tombol dengan tipe byte
void setup(){
Tipe Data Lebar Data Jangkauan
pinMode(10,INPUT);  PIN 10 SEBAGAI DIGITAL INPUT
char 1 byte -128 s/d 127
digitalWrite(10,HIGH);  PULL UP AKTIF
unsigned char 1 byte 0 s/d 255
pinMode(2,OUTPUT);  PIN 2 SEBAGAI DIGITAL OUTPUT
byte 1 byte 0 s/d 255
}
word 2 byte 0 s/d 65535

int 2 byte -32768 s/d 32767


void loop(){
unsigned int 2 byte 0 s/d 65535
tombol=digitalRead(10);  Baca PIN 10, hasilnya disimpan pada
long 4 Variabel
byte tombol s/d 2147438647
-2147438648
if (tombol==LOW) digitalWrite(2,1);
unsigned long 4 byte 0 s/d 4294967295
else digitalWrite(2,0);
float 4 byte - 3.4028235E+38 s/d
} 3.4028235E+38
Tombol=1

Tombol==1 Tombol=1 ?
Jika haus maka
minum;
else makan;
Koneksi digital input
R E S I S TO R
L1 8x 330 ohm
10 2 SW 1 SW 2 SW 3 SW 4 SW 5 SW 6 SW 7 SW 8
L2
11 3
L3
12 4
L4
13 5
L5
A0 6
L6
A1 7 Pin Arduino TOMBOL Pin Arduino LED
L7
A2 8 10 1 2 1
L8
A3 9 11 2 3 2
12 3 4 3
13 4 5 4
A0 5 6 5
A1 6 7 6
A2 7 8 7
A3 8 9 8
//Program 8 : Membaca 8 tombol
byte tombol; tombol=digitalRead(12);
void setup() if (tombol==LOW) digitalWrite(4,1);
{ else digitalWrite(4,0);
pinMode(10,INPUT); pinMode(A2,INPUT);
pinMode(11,INPUT); pinMode(A3,INPUT); tombol=digitalRead(13);
pinMode(12,INPUT); pinMode(A4,INPUT); if (tombol==LOW) digitalWrite(5,1);
pinMode(13,INPUT); pinMode(A5,INPUT); else digitalWrite(5,0);
digitalWrite(10,HIGH); digitalWrite(A2,HIGH);
digitalWrite(11,HIGH); digitalWrite(A3,HIGH); tombol=digitalRead(A2);
digitalWrite(12,HIGH); digitalWrite(A4,HIGH); if (tombol==LOW) digitalWrite(6,1);
digitalWrite(13,HIGH); digitalWrite(A5,HIGH); else digitalWrite(6,0);
pinMode(2,OUTPUT); pinMode(6,OUTPUT);
pinMode(3,OUTPUT); pinMode(7,OUTPUT); tombol=digitalRead(A3);
pinMode(4,OUTPUT); pinMode(8,OUTPUT); if (tombol==LOW) digitalWrite(7,1);
pinMode(5,OUTPUT); pinMode(9,OUTPUT); else digitalWrite(7,0);
}
void loop() tombol=digitalRead(A4);
{ if (tombol==LOW) digitalWrite(8,1);
tombol=digitalRead(10); else digitalWrite(8,0);
if (tombol==LOW) digitalWrite(2,1);
else digitalWrite(2,0); tombol=digitalRead(A5);
tombol=digitalRead(11); if (tombol==LOW) digitalWrite(9,1);
if (tombol==LOW) digitalWrite(3,1); else digitalWrite(9,0);
else digitalWrite(3,0); }
byte tombol;
void setup(){
pinMode(10,INPUT); pinMode(A2,INPUT);
pinMode(11,INPUT); pinMode(A3,INPUT); Pin 10 s/d 13 sebagai input
pinMode(12,INPUT); pinMode(A4,INPUT); Pin A2 s/d A5 sebagai input
pinMode(13,INPUT); pinMode(A5,INPUT);
digitalWrite(10,HIGH); digitalWrite(A2,HIGH);
digitalWrite(11,HIGH); digitalWrite(A3,HIGH); input pullup
digitalWrite(12,HIGH); digitalWrite(A4,HIGH);
digitalWrite(13,HIGH); digitalWrite(A5,HIGH);
pinMode(2,OUTPUT); pinMode(6,OUTPUT);
pinMode(3,OUTPUT); pinMode(7,OUTPUT); Pin 2 s/d 9 sebagai Output
pinMode(4,OUTPUT); pinMode(8,OUTPUT);
pinMode(5,OUTPUT); pinMode(9,OUTPUT);
void loop() Variabel dipakai untuk membaca logika (input)
{
Pin 2 (yg dibaca) / SW1
tombol = digitalRead(2);
Jika tombol=’0’ (SW1 ON) maka pin 10=’1’ (LED 1 ON)
if (tombol==LOW) digitalWrite(10,1);
else digitalWrite(10,0); Jika tombol=’1’ (SW1 OFF) maka pin 10=’0’ (LED 1 OFF)

tombol=digitalRead(3);
Baca pin3 / SW2
if (tombol==LOW) digitalWrite(11,1);
else digitalWrite(11,0); Jika tombol=’0’ (SW2 ON) maka pin 11=’1’ (LED 2 ON)

tombol=digitalRead(4); Jika tombol=’1’ (SW2 OFF) maka pin 11=’0’ (LED 2 OFF)
if (tombol==LOW) digitalWrite(12,1);
else digitalWrite(12,0);
tombol=digitalRead(5);
if (tombol==LOW) digitalWrite(13,1);
else digitalWrite(13,0);
tombol=digitalRead(6);
if (tombol==LOW) digitalWrite(A0,1);
else digitalWrite(A0,0);
Jika haus maka
minum;
Jika lapar maka
makan;
Jika ngantuk maka
tidur;

Anda mungkin juga menyukai