Popular Posts

Other Menu

PERIPERAL MASUKAN ANALOG



PERIPERAL MASUKAN ANALOG



3.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.

Prosedur :

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);

}



1.    Putarlah potensiometer sehingga terjadi perubahan tegangan dari 0 volt sampai 1.5 volt dengan rentan perubahan 0.5 volt. Dan di dapatkan hasil sbb:



Tegangan Pin A0 (Volt)    Data di LCD   Data Hasil Perhitungan
0                                 0                                  0
0.25                          255                              0.27
0.5                            475                              0.51
0.75                          715                              0.76
1                               952                              1.02
1.25                           1023                            1,1
1.5                             1023                            1.1

  1.  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);                                                                  \\ jeda 500 milisekon
}


3.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.

Prosedur :

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);

}

1.   Putarlah potensiometer sehingga terjadi perubahan tegangan dari 0 volt sampai 5 volt dengan rentan perubahan 1 volt, dan di dapatkan hasil sebagai berikut :


Tegangan Pin
A0 (Volt)   Data di LCD   Data Hasil Perhitungan
0                                 0                                  0

1                                 207                              1.01

2                                 413                              2.01

3                                 620                              3.03

4                                 840                              4.1

2.   fungsi tiap baris dari sintaks program pada Percobaan 3.2
#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 (default) 5 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);                                                                  \\ jeda 500 milisekon
}


3.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 b esar tegangan pada pin AREF akan di-set sebesar 4 volt. Sehingga dapat dikataka n bahwa besarnya tegangan referensi yang digunakan adalah 4 volt.

Prosedur :

  1. Rangkaialah rangkaian pada Gambar 3.2
Gambar 3.2 Rangkaian Praktikum 3.3


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(EXTERNAL);
}

void loop() {

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

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

}



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

1.  Putarlah potensiometer R2 sehingga terjadi perubahan tegangan dari 0-5 volt dengan rentan perubahan 1 volt. dan di dapatkan hasil sbb : 


Tegangan pada Pin          Data di LCD   Data hasil perhitungan

0                                0                                  0

1                                254                              0.99

2                                501                              1.95

3                                760                              2.97

4                                1023                            4

5                                1023                            4

2.      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);                                                                  \\ jeda 500 milisekon
}


Tegangan referensi berfungsi sebagai parameter. Jika input dari pin A0 di bawah tegangan referensi maka inputan tersebut di skalakan 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 suatu input lebih besar dari pada Vref , nilai input = Vref. Jadi input tidak bisa melebihi Vref.



3.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 kompara tor yaitu AIN0 (pin 6) dan AIN1  (pin 7). Output analog komparator akan ditampilkan pada LCD.

Prosedur :

  1. Rangkaialah rangkaian pada Gambar 3.3.






Gambar 3.3 Rangkaian percobaan analog komparator


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 ");
}

}

  jika tegangan pada pin AIN0 lebih besar dari tegangan pada pin AIN1, Lcd akan menampilkan comparator high, di sebabkan arduino membandingkan nilai tegangan pin 6 dan pin 7. Dimana pin 6 lebih besar dari pin 7. jika tegangan pada pin AIN0 lebih kecil dari tegangan pada AIN1, Lcd akan menampilkan comparator low, disebabkan arduino membandingkan nilai tegangan pin 6 dan pin 7. Dimana pin 6 lebih kecil dari pin 7. prinsip kerja dari analog komparator pada sistem minimum Arduino, Berbeda dengan 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.

  fungsi tiap baris dari sintaks program pada Percobaan 3.4 !

#include <LiquidCrystal.h>                                         \\ inisialisasi library LCD
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);                    \\ inisialisasi inputan LCD
boolean comparatorOutput;                                         \\ inisialisasi Boolean operator
ISR (ANALOG_COMP_vect)                                      \\  program interupt
{
  comparatorOutput = true;                                           \\ inisialisasi nilai true
}
void setup()
{
  ADCSRB = 0;                                                                        \\ ADCSRB = bernilai 0
  ACSR = _BV(ACI) | _BV(ACIE) | _BV (ACIS1);      \\
  lcd.begin(16,2);                                                         \\ inisialisasi dimensi lcd( kolom ,baris)
  lcd.clear();                                                                 \\ menghapus tampilan lcd
  lcd.setCursor(0,0);                                                     \\ inisialisasi letak kursor
  lcd.print("Analog Comparator");                                \\ lcd menampilkan “analog comparator”
}
void loop()
{
if (comparatorOutput==true)                                        \\ jika syarat memenuhi lakukan eksekusi
{
  lcd.setCursor(0,1);                                                     \\ inisialisasi letak kursor
  lcd.print("Comparator High");                                                \\ lcd menampilkan “komparator high”
  comparatorOutput = false;                                         \\ comparator output bernilai false.
}
else
{
  lcd.setCursor(0,1);                                                     \\ inisialisasi letak kursor
  lcd.print("Comparator Low ");                                               \\ lcd menampilkan “comparator low”
}
delay(100);                                                                  \\ jeda 100 milisekon
lcd.clear();                                                                   \\ menghapus tampilan lcd


}




< >

Tidak ada komentar:

Posting Komentar