Wah ketemu lagi di blog Feri Febriansyah , hehehe
Okey , biar kita tambah ilmu , kita harus banyak membagi ilmu yang kita miliki !!!
Pada saat ini , kita akan membahas Periperal masukan analog pada Arduino , Dimaksud dari analog ini adalah Inputan yang berupa tegangan dari 0V - 5 V .
TUJUAN :
Okey , biar kita tambah ilmu , kita harus banyak membagi ilmu yang kita miliki !!!
Pada saat ini , kita akan membahas Periperal masukan analog pada Arduino , Dimaksud dari analog ini adalah Inputan yang berupa tegangan dari 0V - 5 V .
TUJUAN :
1. Mampu
membuat program untuk mengakses periperal masukan analog dengan tegangan
referensi internal, vcc, dan eksternal.
2. Mampu
memahami pengaruh nilai tegangan referensi terhadap hasil konversi Analog to Digital Converter(ADC).
3. Mampu
membuat program untuk mengakses fitur analog komparator pada mikrokontroler.
PERALATAN YANG DIBUTUHKAN
1. Komputer 1set
2. Arduino Uno 1 pcs
3. Kabel USB tipe B 1 pcs
4. Project Board 1 pcs
5. Kabel Jumper 1 Set
6. Potensiometer 10 k 3 pcs
7. LCD 2 x 16 1 Pcs
Langsung Saja Ke Percobaan !!!
Langsung Saja Ke Percobaan !!!
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 referensi internal yang besarnya adalah 1,1
volt.
Prosedur
1.. Rangkaialah rangkaian pada Gambar 3.1
1.. Rangkaialah rangkaian pada Gambar 3.1
#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);
}
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 !
Tegangan Pin A0 (Volt)
|
Data Di LCD
|
Data Hasil Perhitungan
|
0
|
0
|
0
|
0.25
|
235
|
0.252
|
0.5
|
467
|
0.502
|
0.75
|
700
|
0.752
|
1
|
935
|
1.005
|
1.25
|
1023
|
1.1
|
1.5
|
1023
|
1.1
|
2.Jelaskan fungsi tiap baris dari sintaks
program pada Percobaan 3.1!
#include <LiquidCrystal.h> // Memanggil Library LCD
LiquidCrystal lcd(2,3,4,5,6,7);// inisialisasi pin Lcd
void setup() {
lcd.begin(16,2); // setting jumlah ( kolom , baris ) pada LCD
lcd.clear(); // Tampilan Lcd di bersihkan / di hapus
lcd.setCursor(0,0); // Letak kursor pada posisi kolom dan
baris (0,0)
lcd.print("ADC Example on A0"); // Lcd menampilkan
//(“ ADC Example on A0 “)
analogReference(INTERNAL); // Tegangan Vref input
//internal (1.1 volt )
}
void loop() {
unsigned int dataADC = analogRead(A0); // membaca nilai
// analog pin A0 simpan
lcd.clear(); // Tampilan LCd dibersihkan
lcd.setCursor(0,1); // Letak kursor pada (kolom 0,
// baris 1 )
lcd.print("Value = "); //LCd menampilkan “Value = “
lcd.print(dataADC); // Lcd menampilkan dataADC
delay(500); // jeda 500 ms
}
LiquidCrystal lcd(2,3,4,5,6,7);// inisialisasi pin Lcd
void setup() {
lcd.begin(16,2); // setting jumlah ( kolom , baris ) pada LCD
lcd.clear(); // Tampilan Lcd di bersihkan / di hapus
lcd.setCursor(0,0); // Letak kursor pada posisi kolom dan
baris (0,0)
lcd.print("ADC Example on A0"); // Lcd menampilkan
//(“ ADC Example on A0 “)
analogReference(INTERNAL); // Tegangan Vref input
//internal (1.1 volt )
}
void loop() {
unsigned int dataADC = analogRead(A0); // membaca nilai
// analog pin A0 simpan
lcd.clear(); // Tampilan LCd dibersihkan
lcd.setCursor(0,1); // Letak kursor pada (kolom 0,
// baris 1 )
lcd.print("Value = "); //LCd menampilkan “Value = “
lcd.print(dataADC); // Lcd menampilkan dataADC
delay(500); // jeda 500 ms
}
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);
}
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 !
Tabel3.2 |
Perbandingan data perhitungan dan data pada LCD
|
Tegangan
Pin A0 (Volt )
|
Data
di Lcd
|
Data
Hasil perhitungan
|
0
|
0
|
0
|
1
|
204
|
0.997
|
2
|
417
|
2.038
|
3
|
628
|
3.069
|
4
|
841
|
4.11
|
2. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.1
#include
<LiquidCrystal.h> //
Memanggil Library LCD
LiquidCrystal
lcd(2,3,4,5,6,7); // inisialisasi pin
Lcd
void setup() {
lcd.begin(16,2);// setting ( kolom , baris ) pada LCD
lcd.clear();// Tampilan Lcd di bersihkan / di hapus
lcd.setCursor(0,0);// Letak kursor pada point (0,0)
lcd.print("ADC Example on A0"); // Lcd menampilkan (“ ADC Example on A0
“)
analogReference(DEFAULT); // Vref input default (5 volt )
}
void loop() {
unsigned
int dataADC
= analogRead(A0);// Inisilisasi input A0
lcd.clear(); // Tampilan LCd dibersihkan
lcd.setCursor(0,1);// Letak kursor pada (baris 0 ,
kolom 1 )
lcd.print("Value = ");//LCd menampilkan “Value = “
lcd.print(dataADC);// Lcd menampilkan data adc
delay(500); // jeda 500 ms
}
3.3
Analog Input dengan Tegangan Referensi Eksternal
Pada percobaan ka li ini akan dibuat program
seperti pada Percobaan 3.1 dan Percobaan 3.2. Tegang an 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
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.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);
}
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.
Tabel 3.3 Perbandingan data hasil
perhitungan dan data pada LCD
Tegangan
Pin A0 (Volt )
|
Data
di Lcd
|
Data
Hasil perhitungan
|
0
|
0
|
0
|
1
|
263
|
1.02
|
2
|
520
|
2.03
|
3
|
746
|
2.91
|
4
|
1010
|
3.94
|
5
|
1023
|
4
|
2. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.3 !
#include <LiquidCrystal.h> //
Memanggil Library LCD
LiquidCrystal lcd(2,3,4,5,6,7);// inisialisasi pin Lcd
LiquidCrystal lcd(2,3,4,5,6,7);// inisialisasi pin Lcd
void setup() {
lcd.begin(16,2); // Tampilan Lcd(kolom,baris)
lcd.clear(); // Tampilan Lcd di bersihkan/di hapus
lcd.setCursor(0,0); // Letak kursor pada baris kolom (0,0)
lcd.print("ADC Example on A0");// Lcd menampilkan (“ ADC Example on A0 “)
analogReference(eksternal); // Vref input eksternal (4 volt )
}
lcd.begin(16,2); // Tampilan Lcd(kolom,baris)
lcd.clear(); // Tampilan Lcd di bersihkan/di hapus
lcd.setCursor(0,0); // Letak kursor pada baris kolom (0,0)
lcd.print("ADC Example on A0");// Lcd menampilkan (“ ADC Example on A0 “)
analogReference(eksternal); // Vref input eksternal (4 volt )
}
void loop() {
unsigned int dataADC=analogRead(A0);//Inisilisasi input A0
lcd.clear(); // Tampilan LCd dibersihkan
lcd.setCursor(0,1); // Letak kursor pada (baris 0,kolom 1)
lcd.clear(); // Tampilan LCd dibersihkan
lcd.setCursor(0,1); // Letak kursor pada (baris 0,kolom 1)
lcd.print("Value
= "); //LCd
menampilkan “Value = “
lcd.print(dataADC); // Lcd menampilkan data adc
delay(500); // jeda 500 ms
lcd.print(dataADC); // Lcd menampilkan data adc
delay(500); // jeda 500 ms
}
2. Jelaskan
pengaruh nilai tegangan referensi pada
hasil konversi ADC !
Tegangan
refensi sebagai parameter , Jika input dari pin A0 dibawah tegangan referensi
maka nilai dari inputan akan di skalakan 0 – 1023. Apabila tegangan input lebih
besar dari tegangan referensi , Vin = Vref , karena memiliki batas , yaitu
tegangan referensi
Kita dapat menghitung tegangan input dengan rumus
:
ADC = Nilai terbaca pada Lcd
Vin = Tegangan input
0 comments:
Posting Komentar