PERIPERAL MASUKAN ANALOG
TUJUAN :
1. Mampu membuat pro gram untuk mengakses periperal masukan analog dengan tegangan referensi inter nal, vcc, dan eksternal.
2. Mampu memahami pen garuh nilai tegangan referensi terhadap hasil konversi Analog to
Digital Converter (AD C).
PERALATAN :
| ||
1.
|
Komputer
|
: 1 set
|
2.
|
Arduino Uno
|
: 1 pcs
|
3.
|
Kabel USB tipe B
|
: 1 pcs
|
4.
|
Project board
|
: 1 pcs
|
5.
|
Kabel jumper
|
: 1 set
|
6.
|
Potensiometer 10K
|
: 3 pcs
|
7.
|
LCD 2x16
|
: 1 pcs
|
PERCOBAAN :
3.1 Analog Input dengan Tegangan Referensi Internal (1,1 Volt)
Pada percobaan kali ini akan dibuat program untuk mengkonv ersi nilai tegangan analog dari potensiome ter menjadi nilai digital. Data hasil konvers i akan ditampilkan pada LCD 2x16. Tegangan referensi ADC yang digunakan adala h tegangan refrensi internal yang besarnya adalah 1,1 volt.
Prosedur :
1. Rangkailah rangkaian pada Gambar 3.1
2. Tuliskan sintaks program di bawah ini, kemudian lakukan ko mpilasi dan upload
program ke sistem minimum Arduino.
penjelasan program di atas
#include <LiquidCrystal.h> //library kode dari adruino, dengan kata lain sintak ini memanggil library lcd yang ada pada arduino//
LiquidCrystal lcd(2,3,4,5,6,7); //mengenalkan pada arduino pin mana saja yang akan di sambungkan ke lcd//
void setup()
{ lcd.begin(16,2); //mengenalkan berapa baris dan kolom yang ada pada lcd yang akan digunakaan disini kita memakai lcd dengan 2 baris dan 16 kolom//
lcd.clear(); //setelah itu lcd akan dibersikan//
lcd.setCursor(0,0);// angka atau huruf yang akan di tampilkan akan dimulai ari koordinat 0,0 atau bisa di bilang colom 0 dan baris 0 pada pemograman akanga dimulai dari 0//
lcd.print("ADC Example on A0"); // menampilkan tulisan “ADC example on A0” pada lcd//
analogReference(INTERNAL); //arduino mengunakan tegangan refrensi internal sebesar 1,1 v//
}
void loop() {
unsigned int dataADC = analogRead(A0); //nilai pada pin A0 akan dimasukan di variabel dataADC//
lcd.setCursor(0,1);//lcd akan mulai menampilkan pada baris 1 dan kolom ke 2//
lcd.print("Value = "); // lcd akan menampilkan tulisan “Value = “)//
lcd.print(dataADC); //dataADC atau nilai dari A0 akan di tampilkan di lcd, dan akan ditampilkan setelah tulisan “value =(dataadc)”//
delay(1000);//program akan berhenti selama 1 detik//
}
3.2 Analog Input dengan Tegangan Referensi VCC
Pada percobaan kali ini akan dibuat program seperti pada P ercobaan 3.1. Pada Percobaan 3.2 tegangan referensi ADC yang digunakan adalah te gangan VCC pada mikrokontroler.
Prosedur :
1. Gantilah sintaks p rogram pada Percobaan 3.1 menjadi seperti di bawah ini, kemudian lakukan kompilasi dan upload program.
PENJELASAN PROGRAM DI ATAS
#include <LiquidCrystal.h> //library kode dari adruino, dengan kata lain sintak ini memanggil library lcd yang ada pada arduino//
LiquidCrystal lcd(2,3,4,5,6,7); //mengenalkan pada arduino pin mana saja yang akan di sambungkan ke lcd//
void setup()
{ lcd.begin(16,2); //mengenalkan berapa baris dan kolom yang ada pada lcd yang akan digunakaan disini kita memakai lcd dengan 2 baris dan 16 kolom//
lcd.clear(); //setelah itu lcd akan dibersikan//
lcd.setCursor(0,0);// angka atau huruf yang akan di tampilkan akan dimulai ari koordinat 0,0 atau bisa di bilang colom 0 dan baris 0 pada pemograman akanga dimulai dari 0//
lcd.print("ADC Example on A0"); // menampilkan tulisan “ADC example on A0” pada lcd//
analogReference(DEFAULT); //arduino mengunakan tegangan refrensi DEFAULT sebesar 5v//
}
void loop() {
unsigned int dataADC = analogRead(A0); //nilai pada pin A0 akan dimasukan di variabel dataADC//
lcd.setCursor(0,1);//lcd akan mulai menampilkan pada baris 1 dan kolom ke 2//
lcd.print("Value = "); // lcd akan menampilkan tulisan “Value = “)//
lcd.print(dataADC); //dataADC atau nilai dari A0 akan di tampilkan di lcd, dan akan ditampilkan setelah tulisan “value =(dataadc)”//
delay(1000);//program akan berhenti selama 1 detik//
}
3.3 Analog Input dengan Tegangan Referensi Eksternal
Prosedur :
1. Rangkaialah rangkaian pada gambar di bawah ini :
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);
}
3. Putar potensiomete r R3 hingga tegangan pada pin AREF terukur 4 volt.
PENJELASAN PROGRAM DI ATAS
#include <LiquidCrystal.h> //library kode dari adruino, dengan kata lain sintak ini memanggil library lcd yang ada pada arduino//
LiquidCrystal lcd(2,3,4,5,6,7); //mengenalkan pada arduino pin mana saja yang akan di sambungkan ke lcd//
void setup()
{ lcd.begin(16,2); //mengenalkan berapa baris dan kolom yang ada pada lcd yang akan digunakaan disini kita memakai lcd dengan 2 baris dan 16 kolom//
lcd.clear(); //setelah itu lcd akan dibersikan//
lcd.setCursor(0,0);// angka atau huruf yang akan di tampilkan akan dimulai ari koordinat 0,0 atau bisa di bilang colom 0 dan baris 0 pada pemograman akanga dimulai dari 0//
lcd.print("ADC Example on A0"); // menampilkan tulisan “ADC example on A0” pada lcd//
analogReference(EXTERNAL); //arduino mengunakan tegangan refrensi EXTERNAL, tegangan refrensi tergantung dari nilai yang dimasukan pada percobaan di atas untuk mengatur tegangan areff digunkan potesio meter, jadi tegangan aref tidak boleh lebih dari 5 volt//
}
void loop() {
unsigned int dataADC = analogRead(A0); //nilai pada pin A0 akan dimasukan di variabel dataADC//
lcd.setCursor(0,1);//lcd akan mulai menampilkan pada baris 1 dan kolom ke 2//
lcd.print("Value = "); // lcd akan menampilkan tulisan “Value = “)//
lcd.print(dataADC); //dataADC atau nilai dari A0 akan di tampilkan di lcd, dan akan ditampilkan setelah tulisan “value =(dataadc)”//
delay(1000);//program akan berhenti selama 1 detik//
}
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 keinput pin kompara tor yaitu AIN0 (pin 6) dan AIN1 (pin 7). Output analog komparator akan ditampilkan pada LCD.
Prosedur :
1. Rangkaialah rangka ian pada Gambar 3.3.
2. tuliskan program di bawah ini
PENJELASAN PROGRAM DI BAWAH INI
#include <LiquidCrystal.h> //memangil data library lcd yang ada pada arduino//
LiquidCrytal lcd=(A0,A1,A2,A3,A4,A5); //set pin lcd ke pin analog//
boolean comparatorOutput;//set comparatorOutput bernilai 1//
ISR (ANALOG_COMP_vect) {
comparatorOutput = true;//jika ada nilai 1 yang masuk ke dalam pin comparatorOutput maka akan dibaca true//
}
void setup() { ADCSRB = 0;//mengnonaktifkan ACME : Analog Comaparator Multiplexer Enable//
ACSR = _BV(ACI) // clear analog comparator interrupt flag//
| _BV(ACIE) // analog comparator interrupt enable//
| _BV (ACIS1); //analog comparator interrupt mode select(trigger on falling edge//
lcd.begin(16,2);//set lcd baris 2 dan colom 16//
lcd.clear();// clear lcd//
lcd.setCursor(0,0); //memulai data yang ditampilkan dari baris ke 1 dan kolom ke 1//
lcd.print("Analog Comparator");//menampilkan tulisan analog comparator//
}
void loop() {
if (comparatorOutput==true) //jika comparatoroutput bernilai 1 maka akan melanjutkan program dibawahnya//
{
lcd.setCursor(0,1);//menampilkan tulisan di baris ke 2 dan colom 1//
lcd.print("Comparator High");//menampilkan tulisan comparator high//
comparatorOutput = false;//di sintak ini di set comparator output false//
}
else { lcd.setCursor(0,1);//manampilkan tulisan di baris 2 dan colom 1
lcd.print("Comparator Low ");//menampilkan tulisan comparator low//
}
Delay(1000);// sebelum menamplkan tulisan high ke low ada jeda selama 1 detik//
}


PERINGATAN CONTOH DI ATAS HANYALAH SIMULASI MENGUNAKAN PROTEUS UNTUK MENJALAKAN SIMULASI SILAKAN BACA DI POS SEBELUMNYA
Tidak ada komentar:
Posting Komentar