Menampilkan Progress Bar Kecerahan LED pada LCD

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Yo wuzzup kita berjumpa kembali di Gubuk Sederhana BoArduino ini bersama ane :D
Di hari minggu ini kita masih merasakan Liburan dari semenjak Hari raya Idul Adha kemarin lusa, bagaimana kabar sobat BoArduino semua? masih semangat untuk terus belajar kan gan? 

Setelah hari kemarin kita merayakan Hari Raya Idul Adha, seyogyanya kita akan ikut merasakan yang namanya memakan daging hewan Qurban atau setidaknya ya kita hanya sekedar bisa menciumi aroma khas dari Kambing bandot :v Bener gak gan? Ane bener kan ya, tidak diragukan lagi. Kalau salah, mohon dimaafkan gan :v

Kalau ane sendiri sih Alhamdulillah di Tahun ini masih bisa merayakan Hari Raya Idul Adha bersama keluarga, dan bisa dibilang tumben (kebetulan) di Idul Adha tahun ini ane Mudik :)
Oke sampai situ dulu gan curhatan dari ane, sekarang kita membahas Tutorial Arduino kali ini.

Sekarang kita akan mencoba menampilkan karakter pada LCD, dan yang akan kita tampilkan adalah level dari kecerahan LED yang terhubung pada Pin PWM Arduino. Tutorial ini sebenarnya hanya sedikit perkembangan dari Tutorial Arduino sebelumnya di blog ini yang ane beri berjudul "Mengatur Kecerahan LED dengan Potensio di Arduino" Wokelah bro, kalau begitu langsung di Simak dan praktikkan saja ya Tutorial Arduino kali ini!

 
Alat dan Bahan yang dibutuhkan :
  • 1x Arduino Uno
  • 2x Potensio meter 10K Ohm
  • 1x LED (Warna bebas)
  • 1x Resistor 220 Ohm
  • 1x LCD 16x2
  • 1x Breadboard
  • Kabel jumper secukupnya

 Berikut ini adalah tabel keterangan dari pin di LCD 16 X 2 :

No Kaki/Pin Nama Keterangan
1 VCC +5V
2 GND 0V
3 VEE Tegangan Kontras LCD
4 RS Register Select
5 R/W 1 = Read, 0 = Write
6 E Enable Clock LCD
7 D0 Data Bus 0
8 D1 Data Bus 1
9 D2 Data Bus 2
10 D3 Data Bus 3
11 D4 Data Bus 4
12 D5 Data Bus 5
13 D6 Data Bus 6
14 D7 Data Bus 7
15 Anoda Tegangan backlight positif
16 Katoda tegangan backlight Negatif

Keterangan Pin LCD :

Pin LCD nomor 4 (RS) merupakan Register Selector yang berfungsi untuk memilih Register Kontrol atau Register Data. Register kontrol digunakan untuk mengkonfigurasi LCD. Register Data digunakan untuk menulis data karakter ke memori display LCD.

Pin LCD nomor 5 (R/W) digunakan untuk memilih aliran data apakah READ ataukah WRITE. Karena kebanyakan fungsi hanya untuk membaca data dari LCD dan hanya perlu menulis data saja ke LCD, maka kaki ini dihubungkan ke GND (WRITE).

Pin LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol dan Register Data LCD.


Langkah - Langkah :

1.) Susun rangkaian seperti gambar berikut pada breadboard.

Keterangan Konfigurasi Kabel : 
  • Pin RS (kaki 4) di sambungkan dengan pin arduino digital pin 12
  • Pin E (kaki 6) di sambungkan dengan pin arduino digital pin 11
  • Pin D4 (kaki 11) di sambungkan dengan pin arduino digital pin 5
  • Pin D5 (kaki 12) di sambungkan dengan pin arduino digital pin 4
  • Pin D6 (kaki 13) di sambungkan dengan pin arduino digital pin 3
  • Pin D7 (kaki 14) di sambungkan dengan pin arduino digital pin 2
  • Kaki Anoda LED dihubungkan dengan pin arduino digital pin 6
  • Kaki Katoda LED dihubungkan dengan pin GND
  • Sambungkan potensio 10 KOhm ke  +5V dan GND , dan Pin LCD 3 ke potensio
  • Sambungkan potensio 10 KOhm ke +5V dan GND, dan Pin A0 ke kaki tengah potensio
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Setelah terinstall, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini.

Klik LIHAT DONG untuk melihat sketch
#include <LiquidCrystal.h>

// Definisikan Pin LCD 16x2
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int potPin = A0;          // Analog pin 0 untuk mengatur kecerahan
int ledPin = 6;             // Pin PWM untuk LED
int potValue = 0;         // variable untuk mentimpan hasil dari potensio
int kecerahan = 0;       // Convert potValue menjadi kecerahan
int progressBari = 0;   // Progress bar
int i = 0;

// Kararter progress bar untuk LCD
byte progressBar[8] = {
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
  B11111,
};

void setup() {
  pinMode(ledPin, OUTPUT);         // Set LED sebagai Output
  lcd.begin(16, 2);                            // Set baris dan kolom LCD
  lcd.print("  Kecerahan LED");       // Tampilkan tulisan di LCD
  lcd.createChar(0, progressBar);  // Membuat Karakter progress bar
}

void loop() {
  lcd.clear();                                        // Bersihkan tampilan LCD
  lcd.print("  Kecerahan LED");         // Tampilkan tulisan di LCD
  lcd.setCursor(0,1);                          // Set cursor di baris nomor 2 (progress bar)
  potValue = analogRead(potPin);   // Baca hasil dari potensiometer
  // Jadikan hasil potensio untuk mengatur kecerahan LED
  kecerahan=map(potValue, 0, 1024, 0, 255);
  // Nyalakan LED sesuai hasil Potensio
  analogWrite(ledPin, kecerahan);
  // Jadikan kecerahan LED sebagai progress bar di LCD
  progressBari=map(kecerahan, 0, 255, 0, 17);
  // Tampilkan Progress bar
  for (i=0; i<progressBari; i++)
  {
    lcd.setCursor(i, 1);  
    lcd.write(byte(0)); 
  }
  delay(300);       
}

Lihat video simulasi dibawah ini


Terimakasi telah berkunjung, semoga bermanfaat.

Blog, Updated pada: 14:51:00

4 comments:

  1. Terimakasih yutorial nya gan boarduino. Saya mau tanya gan. Klo lcd 16x2 saya pasang modul tambahan yaitu i2c gmna ya masang pin pin nya terhadap board arduino nya. Dan apa kah sketch nya jg ada perubahan? Mohon pencerahannya. Newbie duino...

    ReplyDelete
    Replies
    1. Terimakasih juga telah berkunjung, Tentunya bila menggunakan i2C, konfigurasi kabel dan sketch akan berbeda... Tinggal disesuaikan saja.

      Delete
  2. gan kalo LEDnya ganti kipas bisa gk ya?

    ReplyDelete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian