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.4 Mini Project 1 - Lampu otomatis sesuai kondisi cahaya

Membuat system lampu otomatis yg aktif jika kondisi di sekitar sensor gelap

Rangkaian :

Sketch Program :

const int pinLDR = A0;

const int pinLED = 13;

void setup() {

Serial.begin(9600);

pinMode(pinLDR,INPUT_PULLUP);

pinMode(pinLED,OUTPUT);

void loop() {

int InLDR = analogRead(pinLDR);

AETC Page 2
[Type the document title]

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

if(InLDR > 500){

digitalWrite(pinLED,HIGH);

}else{

digitalWrite(pinLED,LOW);

delay(300);

2.5 Mini Project 2 - Indikator Suhu dengan led

Membuat system indikator level suhu menggunakan led

Rangkaian :

Sketch Program :

const int pinLM35 = A0;

const int pinLed1 = 7;

const int pinLed2 = 10;

AETC Page 3
[Type the document title]

const int pinLed3 = 13;

float Suhu;

void setup() {

Serial.begin(9600);

pinMode(pinLed1,OUTPUT);

pinMode(pinLed2,OUTPUT);

pinMode(pinLed3,OUTPUT);

void loop() {

int InAnalog = analogRead(pinLM35);

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

Suhu = InAnalog / 2.0479;

//tampilkan konversi data analog ke persen

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

Serial.print(Suhu,1);

Serial.println(" 'C");

if(Suhu > 40.0){ // jika suhu tinggi

digitalWrite(pinLed1,HIGH);

digitalWrite(pinLed2,LOW);

digitalWrite(pinLed3,LOW);

}else if(Suhu > 30.0){ // jika suhu sedang

digitalWrite(pinLed1,LOW);

digitalWrite(pinLed2,HIGH);

digitalWrite(pinLed3,LOW);

}else{ // jika suhu rendah

digitalWrite(pinLed1,LOW);

digitalWrite(pinLed2,LOW);

digitalWrite(pinLed3,HIGH);

delay(300);

AETC Page 4
[Type the document title]

AETC Page 5

Anda mungkin juga menyukai