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