Jumat, 17 Mei 2019

Belajar Arduino: Menampilkan nilai potensiometer di LCD 16x2


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 ("Dunia Elektro"); 
    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....!!!

1 komentar: