Dasar Input dan Output pada Arduino

posted in: Belajar Arduino | 1

Sebuah mikrokontroler pada dasarnya memiliki unit CPU, unit memori, dan unit I/O (input/output). Port I/O merupakan fitur mikrokontroler yang fundamental karena memungkinkan sebuah mikrokontroler dapat terhubung dengan perangkat sensor maupun aktuator.

Kalo kamu lihat di papan Arduino, ada 2 jenis I/O yang terpampang di sana: digital dan analog.

Digital vs Analog? Sederhananya seperti ini...

Sinyal digital terdiri atas 2 buah kondisi, yakni 1 dan 0; ON dan OFF; TRUE dan FALSE. Sederhananya, anggap saja seperti pilihan antara iya dan tidak.  Contohnya bisa kamu temukan pada genggamanmu sendiri, sebut saja  mouse.  Mouse seperti yang kita kenal hanya bisa berada dalam dua kondisi: kondisi klik atau kondisi lepas (tidak sedang diklik). Sebuah mouse tidak bisa berada dalam kondisi setengah klik, agak klik, apalagi klik aja asal pelan-pelan. Pilihannya hanya dua, mau klik apa enggak. Iya iya, enggak enggak. Tegas.

analog sigital sinyal

Sedangkan, sinyal analog bersifat kontinyu baik dilihat dari segi waktu maupun amplitudo. Sinyal ini bisa memiliki berbagai macam kondisi berapapun tergantung dari range yang kamu butuhkan. Tidak terbatas pada kondisi TRUE dan FALSE seperti pada sinyal digital.

Contoh paling mudah bisa kamu temukan di sebuah perangkat bernama radio. Kalau kamu lahir sebelum jaman reformasi, pasti tahu kalau di tiap radio (radio standalone, bukan yang ada di hape) ada puteran volume yang bisa diputar-putar. Untuk sedikit memperbesar atau mengecilkan volume-nya, kamu bisa menyesuaikan putaran volumenya.

Gak perlu jauh-jauh balik ke jaman reformasi deh. Sebenarnya, hal-hal natural yang ada di semesta ini pun semuanya bersifat analog. Mulai dari gelombang cahaya, gelombang suara, percepatan gravitasi, hingga pertumbuhan kuku di ujung jarimu, semuanya bersifat analog. Kontinyu.

Di ranah dunia komputer yang merupakan produk dari sinyal digital, sebuah perangkat digital dituntut untuk dapat mengadaptasi konsep sinyal analog, sehingga ditemukan lah proses konversi dari sinyal analog ke digital maupun sebaliknya.

Tak terkecuali dengan Arduino, Arduino pun juga bersifat digital. Meski digital,  Arduino dapat memroses sinyal analog dengan cara mengonversinya terlebih dahulu menjadi sinyal digital menggunakan ADC (Analog to Digital Converter). Begitupun sebaliknya, Arduino juga tidak dapat menghasilkan sinyal analog. Kebutuhan untuk menghasilkan efek yang mirip dengan sinyal analog dilakukan dengan teknik Pulse Width Modulation.

Intermezzo: Bagaimana kamu mendeskripsikan kondisi adanya air dalam gelas ini?

gelas setengah isi

Digital: True; Analog: 50% Isi

Input dan Output Digital

uno-digital-pin

Pin Digital I/O pada Arduino Uno. Pin 3,5,6,9,10, dan 11 dapat menghasilkan sinyal PWM.

# Digital Input

Membaca sinyal digital dapat dilakukan dengan sintaks:

digitalRead(pin);

Dengan pin = nomor pin digital pada Arduino yang akan dibaca;

Contoh: Baca Pushbutton lalu Hasilnya Ditampilkan Melalui Serial Monitor

# Digital Output

Menghasilkan sinyal digital dapat dilakukan dengan sintaks:

digitalWrite(pin, nilai);

Dengan pin = nomor pin pada Arduino yang akan dihasilkan sinyal digital.

Contoh: Menyalakan dan mematikan LED di pin 13

Input dan Output Analog

uno-analog-n-pwr-pin

Pin Analog Input pada Arduino Uno. Pin A0-A5 tersebut terhubung dengan ADC (Analog to Digital Converter).

# Analog Input

Membaca sinyal analog dapat dilakukan dengan sintaks:

analogRead(pin);

Dengan pin = nomor pin analog pada Arduino yang akan dibaca.

Contoh : Baca Nilai Potensiometer lalu Hasilnya Ditampilkan Melalui Serial Monitor

# ‘Analog’ Output (PWM)

Menghasilkan sinyal ‘analog’ dapat dilakukan dengan sintaks:

analogWrite(pin, nilai);

Dengan pin = nomor pin digital PWM (bertanda ~) pada Arduino yang akan dihasilkan sinyal PWM.

Seperti yang sudah dijelaskan di atas. Sinyal yang dihasilkan menggunakan analogWrite ini bukan benar-benar sinyal analog, melainkan hanya sinyal digital yang dibangkitkan menggunakan teknik Pulse Width Modulation (PWM) dengan cara mengubah duty cycle gelombang digital agar didapatkan hasil yang mirip dengan sinyal analog.

Contoh: Membuat transisi redup-terang pada LED

Leave a Reply