Anda di halaman 1dari 5

[Type the document title]

2. MATERI 2 - INPUT ANALOG


Pin analog pada Arduino (dan mikrokontroller lain pada umumnya) dapat digunakan
untuk input dan output digital. Hanya saja pin analog memiliki fitur untuk dapat mengubah
sinyal analog yang masuk menjadi nilai digital yang mudah diukur. Pin digital hanya dapat
mengenali sinyal 0 volt sebagai nilai LOW dan 5 volt sebagai nilai HIGH. Sedangkan Pin
analog dapat mengenali sinyal pada rentang nilai voltase tersebut. Hal ini sangat berguna
ketika kita hendak mengukur sesuatu dari sensor dan menggunakan nilai masukan tersebut
untuk keperluan lain.

Pin analog ini terhubung dengan converter pada mikrokontroller yang dikenal dengan
istilah analog-to-digital converter (disingkat ADC atau A/D). Converter ini mengubah nilai
analog berbentuk sinyal voltase ke dalam bentuk digital/angka supaya nilai analog ini dapat
digunakan dengan lebih mudah dan aplikatif. Pada Arduino (mikrokontroller ATMega)
converter ini memiliki resolusi 10 bit, artinya nilai hasil konversi berkisar dari 0 hingga 1023,
atau resolusinya adalah 5 volt/1024=4,9mV per unit dimana itu berarti nilai digital yang
dihasilkan akan berubah setiap perubahan 4,9mV dari tegangan input analognya. Akan
tetapi range input analog dan resolusi tersebut dapat dirubah dengan fungsi
analogReference(). Pada Arduino UNO, pin analog ditandai dengan label A0 sampai A5. Pada
board lainnya, pin-pin yang diberi tanda A, Analog, ADC adalah pin analog.

Fungsi yang kita gunakan untuk membaca nilai analog pada Arduino adalah
analogRead([nomorPin]). Pada contoh kasus berikut, kita akan menghubungkan
potensiometer, LDR dan sensor suhu LM35 pada pin analog A0 dan hasil konversi nilai
analog akan kita lihat pada jendela Serial Monitor pada Arduino IDE

AETC Page 1
[Type the document title]

2.1 Percobaan 1 – Baca input potensiometer

Membaca data dari input potensiometer menggunakan analog

Rangkaian :

Sketch Program :

const int pinPot = A0;

void setup() {

Serial.begin(9600);

void loop() {

int InAnalog = analogRead(pinPot);

Serial.print("IN ADC:"); Serial.print(InAnalog);

int dtPersen = map(InAnalog,0,1023,0,100);

Serial.print("\t Konversi ke % :");

Serial.print(dtPersen);

Serial.println("%");

delay(300);

AETC Page 2
[Type the document title]

2.2 Percobaan 2 - Baca input sensor cahaya

Membuat fungsi untuk membaca status terang gelap kondisi cahaya di sekitar sensor

Rangkaian :

Sketch Program :

const int pinLDR = A0;

void setup() {

Serial.begin(9600);

pinMode(pinLDR,INPUT_PULLUP);

void loop() {

int InLDR = analogRead(pinLDR);

Serial.print("IN LDR:"); Serial.println(InLDR);

delay(300);

AETC Page 3
[Type the document title]

2.3 Percobaan 3 – Sensor Suhu LM35

Membuat fungsi membaca data dari sensor suhu LM35 dan mengkonversi data menjadi ke
derajad celcius

Rangkaian :

Sketch Program :

const int pinLM35 = A0;

float Suhu;

void setup() {

Serial.begin(9600);

void loop() {

AETC Page 4
[Type the document title]

int InAnalog = analogRead(pinLM35);

Serial.print("IN ADC :"); Serial.print(InAnalog);

//1'C = 10mV (sesuai datasheet)

// 5v /1023 = 4,883 mV

//(5v = tegangan refrensi, 1023 = resolusi 10 bit)

// setiap kenaikan 1'C --> 10 / 4.883 = 2.0479

Suhu = InAnalog / 2.0479;

//tampilkan konversi data analog ke persen

Serial.print("\t Suhu :");

Serial.print(Suhu,1);

Serial.println(" 'C");

delay(300);

AETC Page 5

Anda mungkin juga menyukai