Kamis, 10 Oktober 2013

Periperal Masukan Analog Arduino Uno

PERIPERAL MASUKAN ANALOG
TUJUAN:
1.        Mampu membuat program untuk mengakses periperal masukan analog dengan tegangan refrensi internal, vcc, dan eksternal.
2.        Mampu memahami pengaruh nilai tegangan refrensi terhadap hasil konversi Analog to Digital Converter (ADC).
3.        Mampu membuat program untuk mengakses fitur analog komparaor pada mikokontroller.
PERALATAN:
1.        Arduino Uno                    : 1 set
2.        Kabel USB tipe B            : 1 pcs
3.        Project Board                   : 1 pcs
4.        Kabel jumper                    : secukupnya
5.        Potensiometer 10K          : 3 pcs
6.        LCD 2x16                        : 1 pcs
PERCOBAAN:
3.1    Analog Input dengan Tegangan Refrensi Internal (1,1 Volt)
Pada percobaan kali ini akan dibuat program untuk mengkonversi nilai tegangan analog dari potensiometer menjadi nilai tegangan. Data hasil konversi akan ditampilkan pada LCD 2x16. Tegangan refrensi ADC yang digunakan adalah 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 kompilasi dan upload program ke sistem minimum Arduino.
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7); // inisialisasi pin LCD

void setup() {
  ldc.begin(16,2); //setting jumlah (kolom,baris) LCD
  lcd.clear(); // reset tampilan LCD
  lcd.setCursor(0,0); //kursor pada kolom dan baris (0,0)
  lcd.print("ADC example on A0"); // menampilkan tulisan
                                // ADC example on A0
  analogReference(INTERNAL);
}
voil loop() {
  unsigned int dataADC = analogRead(A0);//membaca nilai di pin A0, dan di simpan di variabel dataADC
  lcd.clear();// reset tampilan LCD
  lcd.setCursor(0,1);//kursor pada kolom 0 dan baris 1
  lcd.print("Value = ");// menampilkan value
  lcd.print(dataADC);//menampilkan dataADC
  delay(500);// delay selama 500 mS
}

Putarlah potensiometer sehingga terjadi perubahan tegangan dari 0 Volt sampai 1.5 Volt dengan rentan perubahan 0.5 Volt. Amati data yang ditampilkan pada LCD, 

3.2    Analog Input  dengan Tegangan Refrensi VCC
Pada percobaan kali ini aan dibuat program seperti pada Percobaan 3.1. Pada Percobaan 3.2 tegangan refrensi 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> // library LCD
LiquidCrystal lcd(2,3,4,5,6,7);//inisialisasi LCD

void setup() {
lcd.begin(16,2);//setting kolom dan baris LCD
lcd.clear(); //reset tampilan LCD
lcd.setCursor(0,0);//kursor pada poin (0,0)
lcd.print("ADC Example on A0");//menampilkan ADC Example 
                                   // on A0
analogReference(DEFAULT);//Vref 5 volt
}
void loop() {
unsigned int dataADC = analogRead(A0);//inisialisai pin
                                           //input A0
lcd.setCursor(0,1);//kursor pada (baris 0,kolom 1)
lcd.clear();//reset tampilan LCD
lcd.print("Value = ");//menampilkan Value=
lcd.print(dataADC);//menampilkan dataADC
delay(500); //delay 500 mS
}

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

3.3    Analog Input dengan Tegangan Refrensi Eksternal
Pada percobaan kali ini akan dibuat program seperti pada Percobaan 3.1 dan Percobaan 3.2. Tegangan refrensi ADC yang digunakan adalah tegangan refrensi 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 refrensi yang digunakan adalah 4 Volt.
Prosedur:
1.         Rangkailah rangkaian pada Gambar 3.2.

2.      Tuliskan sintaks program di bawah ini, kemudian lakukan kompilasi dan upload program ke sistem minimum Arduino.
#include <LiquidCrystal.h>// panggil library LCD
LiquidCrystal lcd(2,3,4,5,6,7);//inisialisai LCD

void setup() {
lcd.begin(16,2);//tampilan LCD kolom dan baris
lcd.clear(); //reset tampilan LCD
lcd.setCursor(0,0);//letak kursor pada kolom (0,0)
lcd.print("ADC Example on A0");//menampilkan ADC Example
                                   // on  A0
analogReference(EXTERNAL);//Vref input eksternal (4volt)
}
void loop() {
unsigned int dataADC = analogRead(A0);//inisialisasi A0
lcd.clear();//reset tampilan LCD
lcd.setCursor(0,1); //kursor pada baris 0 kolom 1
lcd.print("Value = ");//tampilkan Value=
lcd.print(dataADC);//tampilkan dataADC
delay(500); //delay 500 mS
}
3.      Putar potensiometer R3 hingga tegangan pada pin AREF terukur 4 Volt.

Putarlah potensiometer R2 sehingga terjadi perubahan tegangan dari 0-5 Volt dengan rentan perubahan 1 Volt. Amati data yang ditampilkan pada LCD, 


  
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 komparator yaitu AIN0 (pin 6) dan AIN1 (pin 7). Output analog komparator akan ditampilkan pada LCD.
Prosedur:
1.         Rangkailah rangkaian pada Gambar 3.3.

2.      Tuliskan sintaks program di bawah ini, kemudian lakukan kompilasi dan upload program ke sistem minimum Arduino.
#include <LiquidCrystal.h>//library LCD
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);//inisialisasi input
boolean comparatorOutput;// inisialisasi opr boolean

ISR (ANALOG_COMP_vect) { // program interupt
comparatorOutput = true; // inisialisasi nilai true
}
void setup() {
ADCSRB = 0; //nilai ADCSRB=0
ACSR = _BV(ACI)|_BV(ACIE)|_BV(ACIS1);
lcd.begin(16,2);//tampilan LCD kolom dan baris
lcd.clear(); //reset tampilan LCD
lcd.setCursor(0,0);//kursor pada (0,0)
lcd.print("Analog Comparator");//tampilkan Analog
                                   //Comparator
}
void loop() {
if (comparatorOutput==true) { //jika terpenuhi lakukan ..
lcd.setCursor(0,1);//kursor pada 0,1
lcd.print("Comparator High");//tampilkan Comparator High
comparatorOutput = false; //comparator output false
}
else{ //jika tak terpenuhi semua lakukan...
lcd.setCursor(0,1);//letak kursor 0,1
lcd.print("Comparator Low ");//tampilkan Comparator Low
}
delay(1000);//delay 1 detik
}


0 komentar:

Posting Komentar

Pages 3123 »
Twitter Delicious Facebook Digg Stumbleupon Favorites More