The Best College Academy of Our Small City

ELIN - SMK Negeri 1 Krangkeng Teknik ELektronika Industri

1. LCD 16x2 dengan Arduino uno

Wednesday, January 20, 2021

 Dalam tutorial LCD Arduino ini, kita akan belajar bagaimana menghubungkan LCD (Liquid Crystal Display) ke papan Arduino. LCD sangat populer dan banyak digunakan dalam proyek elektronik untuk menampilkan informasi. Ada banyak macam jenis LCD. Tutorial ini mengambil LCD 16x2 (16 kolom dan 2 baris) sebagai contoh. LCD lainnya serupa.

Tentang LCD 16x2

Pinout


LCD memiliki hingga 16 pin. Dalam penggunaan yang paling umum, kami TIDAK menggunakan semua pin.

Dengan dukungan library LiquidCrystal , kita bahkan bisa menggunakan LCD TANPA mengetahui arti dari pin tersebut. Namun, jika Anda penasaran atau ingin tahu lebih dalam, yuk simak pin berikut ini beserta fungsinya:

  • Pin GND harus dihubungkan ke GND (0V).
  • Pin VCC catu daya untuk LCD, perlu dihubungkan ke VCC (5V).
  • Pin Vo (Kontras LCD) mengontrol kontras dan kecerahan LCD, dapat dihubungkan ke 5V (kontras dan kecerahan tertinggi), atau dihubungkan ke potensiometer (untuk menyesuaikan dengan kontras dan kecerahan)
  • Pin RS (Register Select) Ada dua jenis data yang perlu dikirim ke LCD: perintah (untuk mengontrol LCD) dan data. Keduanya dikirim pada bus data yang sama. Pin RS memberitahu LCD apakah data pada bus data adalah perintah atau data.
    • Jika kita ingin mengirim perintah untuk mengontrol LCD, kita perlu mengatur pin RS ke LOW (seperti mengatur kursor ke lokasi tertentu, menghapus tampilan ...).
    • Jika kita ingin mengirim data untuk ditampilkan pada LCD, kita perlu mengatur pin RS ke HIGH .
  • Pin R / W (Read / Write) adalah untuk memilih mode READ atau mode WRITE.
    • Jika kita ingin membaca data dari LCD, pin ini perlu diset TINGGI .
    • Jika kita ingin mengirim data ke LCD, pin ini perlu diatur ke LOW . Karena kami hanya menggunakan LCD ini sebagai perangkat OUTPUT, kami akan mengikat pin ini RENDAH .
  • Pin EN (Enable) digunakan untuk mengaktifkan LCD. HIGH untuk mengaktifkan LCD, LOW untuk menonaktifkan LCD.
  • Pin D0-D7 (Data Bus) membawa data dan perintah antara Arduino dan LCD. Ada dua mode untuk mengirim data: mode 4-bit dan mode 8-bit.
  • Pin AK (Anode & Cathode) digunakan untuk menyalakan lampu latar LCD. Pin harus dihubungkan ke VCC . Pin K harus dihubungkan ke GND .

Mode 4-bit dan mode 8-bit

  • Mode 8-bit : 8 bit byte dikirim secara bersamaan di pin D0 ke D7.
  • Mode 4-bit : 8 bit byte dikirim dua kali, setiap kali 4 bit di pin D4 ke D7.

Mode 8-bit lebih cepat daripada mode 4-bit, tetapi menggunakan lebih banyak pin daripada mode 4-bit. Pemilihan mode dilakukan pada proses inisialisasi dengan mengirimkan perintah ke LCD.

Tutorial ini menggunakan mode 4-bit, yang paling umum digunakan.

Dalam mode ini, pin LCD:

  • 6 pin (RS, EN, D4, D5, D6, dan D7) dihubungkan ke pin Arduino.
  • 4 pin (D0, D1, D2, dan D3) TIDAK terhubung.
  • 6 pin yang tersisa terhubung ke GND / VCC atau potensiometer.

Tabel pin LCD dalam mode 4-bit

PIN LCDTERHUBUNG DENGAN
01GNDGND
02VCC5V
03Vo5V atau pin potensiometer
04RSPin Arduino
05R / WGND
06ENPin Arduino
07D0Tidak terhubung
08D1Tidak terhubung
09D2Tidak terhubung
10D3Tidak terhubung
11D4Pin Arduino
12D5Pin Arduino
13D6Pin Arduino
14D7Pin Arduino
15SEBUAH5V
16KGND

Koordinat LCD

LCD 16x2 mencakup 16 kolom dan 2 baris. conlum dan baris diindeks dari 0.


Bagaimana itu bekerja

Bagian ini adalah pengetahuan yang mendalam. JANGAN khawatir jika Anda tidak mengerti. Abaikan bagian ini jika membebani Anda, dan kembalilah di lain hari. Teruskan membaca bagian selanjutnya.

Proses pengiriman data (untuk ditampilkan) ke LCD:

  1. Arduino mengatur pin RS ke HIGH (untuk memilih register data)
  2. Arduino menulis data ke pin D4 → D7 (bus data).
  3. LCD menerima data pada bus data.
  4. LCD menyimpan data yang diterima dalam resistor data karena pin RS TINGGI .
  5.  Kemudian LCD menampilkan data tersebut di layar

Proses pengiriman perintah (untuk mengontrol) ke LCD (misalnya, berkedip LCD, mengatur kursor ke lokasi tertentu, menghapus tampilan ...):

  1. Arduino mengatur pin RS ke LOW (untuk memilih register perintah)
  2. Arduino menulis perintah ke pin D4 → D7 (bus data).
  3. LCD menerima data pada bus data.
  4. LCD menyimpan data yang diterima dalam resistor perintah karena pin RS LOW . 
  5. Kemudian LCD mengambil tindakan berdasarkan nilai perintahnya.

Arduino - LCD

Mengontrol LCD adalah tugas yang cukup rumit. Untungnya, berkat pustaka LiquidCrystal, pustaka ini menyederhanakan proses pengontrolan LCD untuk Anda sehingga Anda tidak perlu mengetahui instruksi tingkat rendah. Anda hanya perlu menghubungkan Arduino ke LCD dan menggunakan fungsi perpustakaan. Penggunaan LCD sangat mudah.

Rangkaian LCD 16x2 dengan arduino uno


Bagaimana Memprogram Untuk LCD

  • Sertakan perpustakaan:
#include <LiquidCrystal.h>
  • Tentukan pin Arduino mana yang terhubung ke enam pin LCD: RS, EN, D4, D4, D6, D7
const int RS = 11, EN = 12, D4 = 2, D5 = 3, D6 = 4, D7 = 5;

Salah satu keuntungan library ini adalah pin Arduino yang terhubung ke LCD dapat diatur. Ini membuatnya fleksibel ketika Anda menghubungkan Arduino dengan LCD dan sensor / aktuator lainnya.

  • Deklarasikan objek LiquidCrystal:
LiquidCrystal lcd(RS, EN, D4, D5, D6, D7);
  • Atur jumlah kolom dan baris LCD.
lcd.begin(16, 2);
  • Pindahkan kursor ke posisi yang diinginkan (kolom_indeks, baris_indeks)
lcd.setCursor(column_index, row_index);
  • Cetak pesan ke LCD.
lcd.print("Hello World!");

Masih banyak lagi yang dapat kita lakukan dengan LCD (lihat Lakukan Lebih Banyak dengan bagian LCD)

KODE ARDUINO

#include <LiquidCrystal.h>
// LCD pins <--> Arduino pins
const int RS = 11, EN = 12, D4 = 2, D5 = 3, D6 = 4, D7 = 5; //........
LiquidCrystal lcd(RS, EN, D4, D5, D6, D7); //..........
void setup()
{
  lcd.begin(16, 2); // .......
  lcd.setCursor(0, 0);         // .........
  lcd.print("SMK KRANGKENG");        // ........
  lcd.setCursor(2, 1);         // ........
  lcd.print(" ELIN"); //.......
}
void loop()
{

}