tujuan :
1. dapat mengakses masukan analog dengan tegangan referensi interna,vcc dan ektrenal
2. mengetahui pengaruh nilai Vref terhadap ADC (analog digital converter)
3. mampu mengakplikasikan komparator pada mikrokontroller
ini alat" yang harus kita sediakan :
1. komputer : 1 set
2. Arduino uno : 1 pcs
3. Kabel USB tipe B : 1 pcs
4. Project Board : 1 pcs
5. Kabel jumper : secukupnya
6. Potensio 10k : 3 buah
7. LCD 2x16 : 1 buah
setelah alat dan komponen diatas sudah dilengkapi saat nya kita mencobanya
1. Percobaan pertama
Percobaan kali ini kita membuat program mengkonversikan nilai tegangan analog menjadi nilai digital lalu menampilkan di LCD 2x16. Vr ADC yang digunakan adalah Vr internal sebesar 1,1 Volt
- Buatlah rangkaian seperti gambar dibawah
- Tulis program seperti sintaks dibawah ini
- Apabila potensio di putar sehingga terjadi perubahan dari 0 - 5V dengan rentan perubahan 0,5V maka data tersebut kita salin ketabel maka akan jadi seperti berikut
Tegangan Pin A0 (Volt) Data di LCD Data Hasil Perhitungan
0 0 0
0.25
212 0.22
0.5 450 0.48
0.75 702 0.75
1 912 0.98
1.25 1023 1
1.5 1023 1
Penjelasan mengenai program diatas :
a. #include <LiquidCrystal.h>
(Memanggill Libarry
untuk LCD)
b. LiquidCrystal lcd(2,3,4,5,6,7);
(
inilisasi pin arduino yang digunakan untuk pin databus line lcd)
c. void setup()
(merupakan
fungsi untuk default atau kondisi awal)
d. lcd.begin(16,2);
(Peletakan
output dari lcd pada kolom 16 baris 2)
e. lcd.clear();
(Mengahapus outputan sebelum nya pada lcd)
f. lcd.setCursor(0,0);
(letak kursor pada posisi 0,0)
g. lcd.print("ADC Example on A0");
(memerintahkan lcd untuk menampilkan kata
dalam kurung,petik)
h. analogReference(INTERNAL);
(pembacaan
tegangan internal sebesar 1,1V)
i. void loop()
(fungsi untuk mengeksekusi program yang diinginkan)
j. unsigned int dataADC = analogRead(A0);
(memasukan pembacaan nilai analog ke
variable dataADC)
k. lcd.setCursor(0,1);
(Posisi peletakan kursor)
l. lcd.print("Value= ");
(perintah untuk lcd menampilkan value =)
m. lcd.print(dataADC);
(perintah untuk memprint nilai dari dataADC)
n. delay(500);
(wakwtu jeda untuk
mempermudah pengambilan data)
Tidak ada komentar:
Posting Komentar