Tuesday, October 8, 2013

PERIPERAL MASUKAN ANALOG


  1. Analog Input dengan Tegangan Referensi Internal (1,1 Volt)


Pada percobaan kali ini akan dibuat program untuk mengkonversi nilai tegangan analog dari potensiometer menjadi nilai digital. Data hasil konversi akan ditampilkan pada LCD 2x16. Tegangan referensi ADC yang digunakan adalah tegangan refrensi internal yang besarnya adalah 1,1 volt.
1.  Rangkaialah rangkaian pada Gambar 3.1
Gambar 3.1 Rangkaian Percobaan 3.1

     2.  Tuliskan sintaks program di bawah ini, kemudian lakukan ko mpilasi dan upload

program ke sistem minimum Arduino.

#include <LiquidCrystal.h> LiquidCrystal lcd(2,3,4,5,6,7);

void setup() { lcd.begin(16,2); lcd.clear(); lcd.setCursor(0,0);

lcd.print("ADC Example on A0"); analogReference(INTERNAL);
}

void loop() {

unsigned int dataADC = analogRead(A0); lcd.setCursor(0,1);

lcd.print("Value = "); lcd.print(dataADC); delay(500);

}
     
   Tugas dan Pertanyaan :

1.      Putarlah potensiometer sehingga terjadi perubahan tegangan dari 0 volt sampai 1.5 volt dengan   rentan perubahan 0.5 volt. Amati data yang dita mpilkan pada LCD, kemudian isilah Tabel 3.1 ! 

Tabel 3.1 Perbandingan data hasil perhitungan dan data pada LCD

      2.   Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.1 !
#include <LiquidCrystal.h>                                  -memanggil library untuk lcd
LiquidCrystal lcd(2,3,4,5,6,7);                             -inisialisasi pin lcd
void setup()                                                         -setting awal program
{
lcd.begin(16,2);                                                    -tampilan lcd (kolom , baris)
lcd.clear();                                                            -tampilan lcd di hapus
lcd.setCursor(0,0);                                                -letak kursor pada lcd (0,0)
lcd.print("ADC Example on A0");                         -lcd menampilkan ("ADC Example on A0");
analogReference(INTERNAL);                             -parameter input internal ( 1.1 volt)
}
void loop()                                                            -program looping
{
unsigned int dataADC = analogRead(A0);             -inisialisasi input A0
lcd.clear();                                                            -tampilan lcd di hapus
lcd.setCursor(0,1);                                               -letak kursor pada lcd (0,1)
lcd.print("Value = ");                                             -lcd menampilkan “value =”
lcd.print(dataADC);                                              -lcd menampilkan data ACD
delay(500);                                                           -waktu jeda 0,5 detik
}

2.   Analog Input dengan Tegangan Referensi VCC


Pada percobaan kali ini akan dibuat program seperti pada Percobaan 3.1. Pada Percobaan 3.2 tegangan referensi ADC yang digunakan adalah tegangan VCC pada mikrokontroler.

1.  Gantilah sintaks program pada Percobaan 3.1 menjadi seperti di bawah ini, kemudian lakukan kompilasi dan upload program.

#include <LiquidCrystal.h> LiquidCrystal lcd(2,3,4,5,6,7);

void setup() { lcd.begin(16,2); lcd.clear(); lcd.setCursor(0,0);

lcd.print("ADC Example on A0"); analogReference(DEFAULT);
}

void loop() {

unsigned int dataADC = analogRead(A0); lcd.setCursor(0,1);

lcd.print("Value = "); lcd.print(dataADC); delay(500);

}
 Tugas dan Pertanyaan :

1.   Putarlah potensiometer sehingga terjadi perubahan tegangan dari 0 volt sampai 5 volt dengan rentan perubahan 1 volt, kemudian amati data yang ditampilkan pada

LCD dan isilah Tabel 3.2 !

Tabel 3.1 Perbandingan data hasil perhitungan dan data pada LCD

 2.   Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.1 !
#include <LiquidCrystal.h>                                  -memanggil library untuk lcd
LiquidCrystal lcd(2,3,4,5,6,7);                             -inisialisasi pin lcd
void setup()                                                         -setting awal program
{
lcd.begin(16,2);                                                    -tampilan lcd (kolom , baris)
lcd.clear();                                                            -tampilan lcd di hapus
lcd.setCursor(0,0);                                                -letak kursor pada lcd (0,0)
lcd.print("ADC Example on A0");                         -lcd menampilkan ("ADC Example on A0");
analogReference(INTERNAL);                             -parameter input internal ( 1.1 volt)
}
void loop()                                                            -program looping
{
unsigned int dataADC = analogRead(A0);             -inisialisasi input A0
lcd.clear();                                                            -tampilan lcd di hapus
lcd.setCursor(0,1);                                               -letak kursor pada lcd (5 volt)
lcd.print("Value = ");                                             -lcd menampilkan “value =”
lcd.print(dataADC);                                              -lcd menampilkan data ACD
delay(500);                                                           -waktu jeda 0,5 detik
}

3.   Analog Input dengan Tegangan Referensi Eksternal

Pada percobaan kali ini akan dibuat program seperti pada Percobaan 3.1 dan Percobaan 3.2. Tegangan referensi ADC yang digunakan adalah tegangan referensi eksternal yaitu tegangan pada pin AREF. Pada percobaan kali ini besar tegangan pada pin AREF akan di-set sebesar 4 volt. Sehingga dapat dikatakan bahwa besarnya tegangan referensi yang digunakan adalah 4 volt.

1.  Rangkaialah rangka ian pada Gambar 3.3

2.   Tuliskan sintaks program di bawah ini, kemudian lakukan kompilasi dan upload

program ke sistem minimum Arduino.

#include <LiquidCrystal.h> LiquidCrystal lcd(2,3,4,5,6,7);

void setup() { lcd.begin(16,2); lcd.clear(); lcd.setCursor(0,0);

lcd.print("ADC Example on A0"); analogReference(EXTERNAL);
}

void loop() {

unsigned int dataADC = analogRead(A0); lcd.setCursor(0,1);

lcd.print("Value = "); lcd.print(dataADC); delay(500);

}

      3.   Putar potensiometer R3 hingga tegangan pada pin AREF terukur 4 volt.

Tugas dan Pertanyaan :

1.  Putarlah potensiometer R2 sehingga terjadi perubahan tegangan dari 0-5 volt dengan rentan perubahan 1 volt. Amati data yang ditampilkan pada LCD, kemudian isilah Tabel 3.3. 

2.      Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.3 !
#include <LiquidCrystal.h>                                 -memanggil library untuk lcd
LiquidCrystal lcd(2,3,4,5,6,7);                            -inisialisasi pin lcd
void setup()                                                        -setting awal program
{
lcd.begin(16,2);                                                  -tampilan lcd (kolom , baris)
lcd.clear();                                                          -tampilan lcd di hapus
lcd.setCursor(0,0);                                             -letak kursor pada lcd (0,0)
lcd.print("ADC Example on A0");                       -lcd menampilkan ("ADC Example on A0");
analogReference(Eksternal);                               -parameter input eksternal ( 4 volt)
}
void loop()                                                         -program looping
{
unsigned int dataADC = analogRead(A0);          -inisialisasi input A0
lcd.clear();                                                         -tampilan lcd di hapus
lcd.setCursor(0,1);                                            -letak kursor pada lcd (0,1)
lcd.print("Value = ");                                          -lcd menampilkan “value =”
lcd.print(dataADC);                                           -lcd menampilkan data ACD
delay(500);                                                        -waktu jeda 0,5 detik
}

3.      Jelaskan pengaruh  nilai tegangan referensi pada hasil konversi ADC !
Tegangan referensi berfungsi sebagai parameter. Jika input dari pin A0 di bawah tegangan referensi maka inputan tersebut diskalakan dengan nilai 0<x<1023 ;
 x =value. Hasil skala ADC pada lcd bisa di gunakan untuk menghitung V input. Dengan cara :
  


ADC   = nilai terbaca pada lcd
Vin      = tegangan input
Vref     = tegangan referensi 

Jika nilai input lebih besar dari pada Vref, maka nilai input = Vref. Jadi input tidak bisa melebihi Vref.

 4.    Analog Comparator

Pada Percobaan 3.4 akan dibuat program untuk mengakses fitur analog komparator pada mikrokontroler. Pada percobaan kali ini dua buah input analog akan dihubungkan ke input pin komparator yaitu AIN0 (pin 6) dan AIN1 (pin 7). Output analog komparator akan ditampilkan pada LCD.
1.  Rangkaialah rangkaian pada Gambar 3.4.


2.  Tuliskan sintaks program di bawah ini, kemudian lakukan kompilasi dan upload

program ke sistem minimum Arduino.
#include <LiquidCrystal.h> LiquidCrytal lcd=(A0,A1,A2,A3,A4,A5); boolean comparatorOutput;

ISR (ANALOG_COMP_vect) { comparatorOutput = true;

}

void setup() { ADCSRB = 0;

ACSR = _BV(ACI) | _BV(ACIE) | _BV (ACIS1); lcd.begin(16,2);
lcd.clear();

lcd.setCursor(0,0); lcd.print("Analog Comparator");
}

void loop() {

if (comparatorOutput==true) { lcd.setCursor(0,1);

lcd.print("Comparator High"); comparatorOutput = false;
}

else { lcd.setCursor(0,1);
lcd.print("Comparator Low ");
}

}

Tugas dan Pertanyaan :

1.   Putarlah potensiometer R2 dan R3, amati teks pada LCD sehing a terjadi perubahan output. Apakah yang terjadi jika tegangan pada pin AIN0 lebih b esar dari tegangan pada pin AIN1, jelaskan !
Lcd akan menampilkan comparator high, di sebabkan arduino membandingkan nilai tegangan pin 6 dan pin 7. Dimana pin 6 lebih besar dari pin 7.

2.    Apakah yang terjadi jika tegangan pada pin AIN0 lebih kecil dar i tegangan pada AIN1, jelaskan !
Lcd akan menampilkan comparator low, di sebabkan arduino membandingkan nilai tegangan pin 6 dan pin 7. Dimana pin 6 lebih kecil dari pin 7.

3.      Jelaskan prinsip kerja dari analog komparator pada sistem minim um Arduino ! apakah prinsip kerja komparator pada mikrokontroler sama deng an prinsip kerja komparator pada op amp ?
Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi ( 0 – 1023 ). Kemudian membandingkan hasil konversi tersebut satu dengan yang lainnya.