Ada banyak experimen
yang bisa dilakukan bila menggunakan arduino. Salah satunya membaca nilai
sebuah potensio yang nantinya akan ditampilkan ke sebuah lcd. Disini saya
menggunakan arduino mega 2560 sebagai pengolahan datanya, walaupun menggunakan
arduino mega terlalu mubajir tapi tak apalah setidaknya tidak merugikan tetangga
hahaha... Untuk
menampilkan data potensionya saya mengunakan lcd 16x2 yang akan menampilkan 16 baris
karakter dan 2 kolom yang bisa dimanfaatkan. Skemanya seperti gambar dibawah
ini:
Untuk script programnya bisa dilihat seperti berikut:
#include
<LiquidCrystal.h>
LiquidCrystal
lcd(12, 11, 5, 4, 3, 2);
const
int LEDPin = 9;
int
nilaiPotensio = 0;
void
setup() {
lcd.begin(16, 2); // inisialisasi lcd
lcd.print("Duniahobielektro"); // menulis
"Duniahobielektro" di baris ke dua
lcd.setCursor(0, 1); // memindahkan kursor ke baris kedua
lcd.print ("Dunia Elektro"); // menulis "Dunia Elektro" di baris
ke dua
delay(1000); //
tunda proses program selama 1000mSec atau 1 detik
lcd.setCursor (0, 0); // memindahkan kursor ke baris pertama
lcd.print ("Potensiometer: "); //
menulis "Potensiometer" pada baris pertama
lcd.setCursor(0, 1); // memindahkan kursor ke baris ke dua
lcd.print (" "); // sebagai clear screen pada baris ke dua
Serial.begin(9600);
}
void
loop()
{
nilaiPotensio = analogRead(A0);
lcd.setCursor (0, 1);
lcd.print(nilaiPotensio); // menampilkan nilai
parameter di dalam kurung
delay(20);
}
Untuk lebih memahami script program diatas, saya dibagi menjadi beberapa bagian yang pertama bagian
header
#include <LiquidCrystal.h>
LiquidCrystal
lcd(12, 11, 5, 4, 3, 2);
const int LEDPin = 9;
int
nilaiPotensio = 0;
pada
bagian header LiquidCrystal.h disini
digunakan untuk memanggil library lcd dan mendefinisikan pin arduino yang terhubung
dengan lcd 16x2, pada program diatas pin yang digunakan adalah: 12 (rs), 11 (E), 5 (D4), 4 (D5), 3 (D6), 2 (D7).
Const int adalah sebuah konstanta
bilangan bulat integer yang memiliki nilai tetap. Maka LEDPin memiliki nilai tetap yaitu 9. Nilai ini hanya bisa dibaca
dan tidak dapat diubah selama program dijalankan. Sedangkan int nilaiPotensio =
0 digunakan untuk mendeklarasikan variabel interger dengan nama nilaiPotensio yang
memiliki nilai awalan 0.
Untuk
bagian setup lcd.begin(16, 2) difungsikan untuk mendefinisikan LCD 16x2.
lcd.print("Duniahobielektro");
lcd.setCursor(0, 1);
lcd.print("Duniahobielektro");
lcd.setCursor(0, 1);
lcd.print ("Dunia Elektro");
delay(1000);
delay(1000);
scrite
diatas berfungsi menampilkan kata “Duniahobielektro”
di kolom pertama dan “Dunia Elektro”
dikolom kedua. Kedua kata ini akan ditampilkan pertama kali saat arduino
dihidupkan selama 1 detik (1000ms). Setelah
satu detik arduino akan membersihkan lcd
dan menset cursor ke titik pertama dan menampilkan kata “potensiometer: ”.
nilaiPotensio = analogRead(A0);
lcd.setCursor (0, 1);
lcd.print(nilaiPotensio);
delay(20);
nilaiPotensio
disini akan menampung data konversi dari pembacaan adc yang berada dipin A0 dan
hasilnya akan ditampilkan di lcd kolom kedua. Dengan akan mengalami perubahan
selama selang waktu 20ms (0.02 detik).
Oke
cukup sekian penjelasanya semoga bermanfaat. Selamat mencoba....!!!