Anda di halaman 1dari 4

Mikrokontroler Arduino 2

Digital I/O & Analog I/O


A. Tujuan
1. Menjelaskan penggunaan Digital Input dan Output

2. Menjelaskan penggunaan Analog Input dan Output

B. Dasar Teori
Pin pada mikrokontroler dapat dilakukan konfigurasi sebagai input atau output
tetapi tidak semua pin mempunyai fiture yang sama, pada board arduino telah dipisahkan
dan diberikan tanda untuk penggunaan Pin sebagai Digital, Analog, PWM, Tx, Rx, dll.
Berikut fungsi / program untuk melakukan set dan akses pin pada board arduino :

- pinMode(pin,mode), untuk melakukan konfigurasi pin sebagai input atau output,


pin adalah nomor pin pada board arduino, mode adalah setting/konfigurasi pada pin
sebagai INPUT, OUTPUT, atau INPUT_PULLUP (internal pull-up resistor).

Contoh:

pinMode(4,OUTPUT); //konfigurasi Pin 4 sebagai OUTPUT


pinMode(5,INPUT); //konfigurasi Pin 5 sebagai OUTPUT
pinMode(6,INPUT_PULLUP); //konfigurasi Pin 6 sebagai INPUT_PULLUP

- digitalRead(pin), untuk
membaca data digital HIGH(1) atau
LOW(0), pin adalah nomor pin pada
board arduino, program ini akan
memberikan suatu nilai data hasil
pembacaan pada pin, maka dalam
pengunaannya membutuhkan suatu
variable untuk menyimpan data hasil
pembacaan.

Contoh:

rodik.w.i@stmm.unair.ac.id 1 of 4
int data = digitalRead(2);
//membaca pin digital 2 dan menyimpan pada variable data
int nilai = digitalRead(A0);
//membaca pin A0 dan menyimpan pada variable nilai

- digitalWrite(pin,value), untuk
memberikan output data digital
HIGH(1) atau LOW(0), nilai HIGH pada
arduino adalah 5v atau 3.3 v
menyesuaikan dari tipe board arduino,
nilai LOW adalah 0v(ground). pin
adalah nomor pin pada board arduino,
value adalah HIGH/LOW.

Contoh:

void setup() {
pinMode(6, OUTPUT); // sets the digital pin 6 output
}
void loop() {
digitalWrite(6, HIGH); // sets the digital pin 6 HIGH
delay(1000); // delay 1 detik
digitalWrite(6, LOW); // sets the digital pin 6 off
delay(1000); // delay 1 detik
}

- analogRead(pin), untuk membaca data


analog pada pin Analog, pin adalah nomor
pin pada board arduino, arduino uno
mempunyai 6 pin analog yaitu A0 - A5,
program ini melakukan konversi data analog
dengan range(0-5V) menjadi data digital 10-bit
(0 - 1023). Secara default referensi data
analog adalah 5V, konfigurasi referensi/range
data analog dapat di set melalui pin AREF
(dengan memberikan tegangan input(V) pada

rodik.w.i@stmm.unair.ac.id 2 of 4
range 0-5v), untuk merubah nilai referensi menggunakan AREF diperlukan set
menggunakan program analogReference(EXTERNAL). program membaca data
anlog ini akan memberikan suatu nilai data hasil pembacaan pada pin, maka dalam
pengunaannya membutuhkan suatu variable untuk menyimpan data hasil pembacaan .

Contoh:

int val = 0;           // variable untuk menyimpan hasil


void setup()
{
  Serial.begin(9600);   //  setup serial
}
void loop()
{
  val = analogRead(A0);   // pembacaan data analog pin A0
  Serial.println(val);    // menampilkan data pada serial monitor
}

- analogWrite(pin, value), Program ini akan


memberikan PWM (Pulse Wide Modulation) atau
gelombang persegi pada pin board arduino
bertanda ~ atau PWM, set default frekuensi PWM
pada arduino berkisar 490 Hz, dan pada pin 5
dan 6 memiliki frekuensi sekitar 980 Hz. pin
adalah nomor pin pada board arduino, value
adalah duty cycle dengan range 0-255.

Contoh:

void loop()
{
  analogWrite(3,127); // memberikan PWM 50% pada pin 3
analogWrite(9,64); // memberikan PWM 25% pada pin 9
analogWrite(10,255); // memberikan PWM 100% pada pin 10
}

rodik.w.i@stmm.unair.ac.id 3 of 4
C. Tugas Praktikum
1. Susun rangkaian input dari 4 buah tombol secara urut(1-4), yang dirangkai secara
Aktif High, dan terhubung ke D4,D7,D8,D12. Susun pula rangkaian output dari 4 buah
LED secar urut(1-4), yang dirangkai secara Aktif High, dan terbubung ke
D3,D5,D6,D9. Buat agar setiap kali tombol ditekan, masing-masing dari LED bisa
menyala. Contoh, jika tombol di 1 ditekan, maka LED 1 menyala, jika tombol 1
dilepas, LED 1 tersebut juga padam.

2. Susun rangkaian input dari 3 buah potensiometer, yang terhubung ke A0,A1,A2.


Susun pula rangkaian output dari 1 buah LED RGB, yang dirangkai secara Aktif High,
dan terbubung ke D3,D5,D6. Buat program untuk membuat kombinasi warna(RGB)
dari data 3 potensiometer,

3. Buatlah alat (rangkaian Arduino dan programnya) yang dapat menghitung jumlah
mobil yang berada dalam sebuah tempat parkir. Anggap bahwa setiap mobil orang
yang akan memasuki ruangan tersebut harus menekan tombol pertama sebagai
pembuka pintu masuk tempat parkir, sedangkan mobil yang akan keluar dari tempat
parkir harus menekan tombol kedua. Simulasikan alat penghitung tersebut, dengan
menggunakan 2 buah tombol, dan tampilkan jumlah penghitungan di Serial Monitor.

rodik.w.i@stmm.unair.ac.id 4 of 4

Anda mungkin juga menyukai