Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Tutorial LCD Arduino 16×2 – Semua yang Perlu Anda Ketahui

Dalam tutorial Arduino ini kita akan belajar bagaimana menghubungkan dan menggunakan LCD (Liquid Crystal Display) dengan Arduino . Layar LCD seperti ini sangat populer dan digunakan secara luas di banyak proyek elektronik karena sangat bagus untuk menampilkan informasi sederhana, seperti data sensor, namun harganya sangat terjangkau.

Saya sudah menggunakannya di beberapa proyek Arduino saya, dan Anda dapat memeriksanya di sini:

  • Proyek Keamanan dan Sistem Alarm Arduino
  • Mesin Penjual Otomatis DIY – Proyek Mekatronika berbasis Arduino
  • Proyek Pengukur Jangkauan Arduino dan Digital Spirit Level

Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini. Ini mencakup semua yang perlu Anda ketahui tentang menggunakan tampilan karakter LCD dengan Arduino, seperti pinout LCD, diagram pengkabelan, dan beberapa kode contoh.

Apa itu Tampilan Karakter LCD?

Tampilan karakter LCD adalah jenis tampilan unik yang hanya dapat menampilkan karakter ASCII individu dengan ukuran tetap. Dengan menggunakan karakter individu ini maka kita dapat membentuk sebuah teks.

Jika kita melihat lebih dekat pada tampilan, kita dapat melihat bahwa ada area persegi kecil yang terdiri dari kisi-kisi 5x8 piksel. Setiap piksel dapat menyala satu per satu, sehingga kami dapat menghasilkan karakter dalam setiap kisi.

Jumlah area persegi panjang menentukan ukuran LCD. LCD yang paling populer adalah LCD 16x2, yang memiliki dua baris dengan 16 area persegi panjang atau karakter. Tentu saja, ada ukuran lain seperti 16×1, 16×4, 20×4 dan seterusnya, tetapi semuanya bekerja dengan prinsip yang sama. Selain itu, LCD ini dapat memiliki latar belakang dan warna teks yang berbeda.

Pinout LCD 16×2

Ini memiliki 16 pin dan yang pertama dari kiri ke kanan adalah Ground pin. Pin kedua adalah VCC yang kita sambungkan pada pin 5 volt pada Arduino Board. Berikutnya adalah pin Vo tempat kita dapat memasang potensiometer untuk mengontrol kontras tampilan.

Selanjutnya, RS pin atau register select pin digunakan untuk memilih apakah kita akan mengirimkan perintah atau data ke LCD. Misalnya jika pin RS disetel pada keadaan rendah atau nol volt, maka kita mengirimkan perintah ke LCD seperti:atur kursor ke lokasi tertentu, bersihkan layar, matikan layar dan sebagainya. Dan ketika pin RS disetel ke status High atau 5 volt, kami mengirim data atau karakter ke LCD.

Berikutnya adalah R/W pin yang memilih mode apakah kita akan membaca atau menulis ke LCD. Di sini mode tulis jelas dan digunakan untuk menulis atau mengirim perintah dan data ke LCD. Mode baca digunakan oleh LCD itu sendiri saat menjalankan program yang tidak perlu kita bahas dalam tutorial ini.

Berikutnya adalah E pin yang memungkinkan penulisan ke register, atau 8 pin data berikutnya dari D0 ke D7. Jadi melalui pin ini kita mengirimkan data 8 bit saat kita menulis ke register atau misalnya jika kita ingin melihat huruf besar terakhir A pada tampilan kita akan mengirimkan 0100 0001 ke register sesuai tabel ASCII. Dua pin terakhir A dan K , atau anoda dan katoda untuk lampu latar LED.

Lagi pula, kita tidak perlu terlalu khawatir tentang cara kerja LCD, karena Perpustakaan Kristal Cair menangani hampir semuanya. Dari situs web resmi Arduino, Anda dapat menemukan dan melihat fungsi perpustakaan yang memungkinkan penggunaan LCD dengan mudah. Kita dapat menggunakan Library dalam mode 4 atau 8 bit. Dalam tutorial ini kita akan menggunakannya dalam mode 4 bit, atau kita hanya akan menggunakan 4 dari 8 pin data.

Cara Menghubungkan Arduino ke LCD – Diagram Pengkabelan

Inilah cara kita perlu menghubungkan layar LCD 16×2 ke papan Arduino.

Kami hanya akan menggunakan 6 pin input digital dari Arduino Board. LCD mendaftar dari D4 ke D7 akan terhubung ke pin digital Arduino dari 4 hingga 7. Tombol Aktifkan pin akan terhubung ke pin nomor 2 dan RS pin akan terhubung ke pin nomor 1. Tombol R/W pin akan terhubung ke Ground dan Vo pin akan terhubung ke pin tengah potensiometer.

Anda bisa mendapatkan komponen ini dari salah satu situs di bawah:

  • LCD Karakter 16×2……………………..
  • Potensiometer ……………………………….
  • Dewan Arduino ……………………………
  • Breadboard dan Kabel Lompat ……… 

Menyesuaikan kontras LCD

Kita dapat mengatur kontras LCD dengan mengatur tegangan input pada Vo pin. Kami menggunakan potensiometer karena dengan cara itu kami dapat dengan mudah mengatur kontras, dengan menyesuaikan tegangan input dari 0 hingga 5V.

Dapatkah saya menggunakan LCD tanpa Potensiometer?

Ya, jika kita tidak memiliki potensiometer, kita masih dapat mengatur kontras LCD dengan menggunakan pembagi tegangan yang terbuat dari dua resistor. Menggunakan pembagi tegangan kita perlu mengatur nilai tegangan antara 0 dan 5V untuk mendapatkan kontras yang baik pada tampilan. Saya menemukan bahwa tegangan sekitar 1V bekerja dengan baik untuk LCD saya. Saya menggunakan resistor 1K dan 220 ohm untuk mendapatkan kontras yang baik.

Ada juga cara lain untuk menyesuaikan kontras LCD, yaitu dengan memasok sinyal PWM dari Arduino ke Vo pin LCDnya. Kita dapat menghubungkan Vo pin ke pin apa pun yang mendukung Arduino PWM, dan di bagian penyiapan, kita dapat menggunakan baris kode berikut:

analogWrite(11,100); // Generate PWM signal at pin D11, value of 100 (out of 255)Code language: Arduino (arduino)

Ini akan menghasilkan sinyal PWM di pin D11, dengan nilai 100 dari 255, yang diterjemahkan ke dalam tegangan dari 0 hingga 5V, itu akan menjadi sekitar 2V input di Vo Pin LCD.

Kode Arduino LCD

Berikut adalah kode sederhana yang dapat digunakan untuk menjelaskan prinsip kerja perpustakaan Liquid Crystal. Ini adalah kode dari contoh pertama dari video:

/*
* Arduino LCD Tutorial
*
* Crated by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
*/

#include <LiquidCrystal.h> // includes the LiquidCrystal Library 
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) 

void setup() { 
 lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } 
}

void loop() { 
 lcd.print("Arduino"); // Prints "Arduino" on the LCD 
 delay(3000); // 3 seconds delay 
 lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed 
 lcd.print("LCD Tutorial"); 
 delay(3000); 
 lcd.clear(); // Clears the display 
 lcd.blink(); //Displays the blinking LCD cursor 
 delay(4000); 
 lcd.setCursor(7,1); 
 delay(3000); 
 lcd.noBlink(); // Turns off the blinking LCD cursor 
 lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written 
 delay(4000); 
 lcd.noCursor(); // Hides the LCD cursor 
 lcd.clear(); // Clears the LCD screen 
}Code language: Arduino (arduino)

Deskripsi kode:

Hal pertama yang perlu kita lakukan adalah memasukkan Liquid Crystal Library. Kita bisa melakukannya seperti ini:Sketch> Include Library> Liquid Crystal. Kemudian kita harus membuat objek LC. Parameter objek ini harus berupa nomor pin Input Digital Board Arduino masing-masing ke pin LCD sebagai berikut:(RS, Enable, D4, D5, D6, D7). Dalam penyiapan, kita harus menginisialisasi antarmuka ke LCD dan menentukan dimensi tampilan menggunakan begin() fungsi.

Dalam loop kami menulis program utama kami. Menggunakan print() fungsi yang kita cetak pada LCD.

lcd.print("Arduino"); // Prints "Arduino" on the LCDCode language: Arduino (arduino)

setCursor() fungsi ini digunakan untuk mengatur lokasi di mana teks selanjutnya yang ditulis ke LCD akan ditampilkan.

lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed Code language: Arduino (arduino)

berkedip() fungsi digunakan untuk menampilkan kursor yang berkedip dan noBlink() fungsi untuk mematikan.

lcd.blink(); //Displays the blinking LCD cursorCode language: Arduino (arduino)

kursor() fungsi digunakan untuk menampilkan kursor garis bawah dan noCursor() berfungsi untuk mematikan. Menggunakan clear() fungsinya kita bisa membersihkan layar LCD.

lcd.clear(); // Clears the LCD screenCode language: Arduino (arduino)

Contoh teks bergulir pada LCD 16×2 dan Arduino

Jika kita memiliki teks dengan panjang lebih dari 16 karakter, kita dapat menggulir teks menggunakan scrollDisplayLeft() atau scrollDisplayRight() fungsi dari perpustakaan LiquidCrystal.

Berikut contoh kodenya:

#include <LiquidCrystal.h>

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2);
  lcd.print("Scrolling Text Example");
}
void loop() {
  lcd.scrollDisplayLeft();
  delay(500);
}Code language: Arduino (arduino)

Kita dapat memilih apakah teks akan bergulir ke kiri atau ke kanan, menggunakan scrollDisplayLeft() atau scrollDisplayRight() fungsi. Dengan delay() fungsi kita dapat mengatur kecepatan gulir.

Jika Anda ingin lebih mengontrol bagaimana teks digulir, Anda juga bisa membuat pengguliran sendiri menggunakan loop "untuk". Ini contohnya:

#include <LiquidCrystal.h>

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display

}

void loop() {
  // scroll text to the right
  for (int i = 0; i <= 13; i++) {
    lcd.setCursor(i, 0); // Sets the location at which subsequent text written to the LCD will be displayed
    lcd.print("LCD");
    delay(500); // 1 second delay
    lcd.clear(); // Write a character to the LCD
  }
  // scroll text to the left
  for (int i = 12; i >= 1; i--) {
    lcd.setCursor(i, 0);
    lcd.print("LCD");
    delay(500); 
    lcd.clear(); 
  }
}Code language: Arduino (arduino)

Cara Menghasilkan dan Menampilkan Karakter Kustom pada LCD

Selain karakter ASCII, dengan pustaka LiquidCrystal juga memungkinkan untuk menghasilkan dan menampilkan karakter khusus pada LCD.

Kita dapat menentukan tampilan setiap karakter dengan array 8 byte. Berikut contoh kodenya:

#include <LiquidCrystal.h>

byte heart[8] = {  // Array of bytes
  B00000,          // B stands for binary formatter and the five numbers are the pixels
  B01010,
  B11111,
  B11111,
  B01110,
  B00100,
  B00000,
  B00000
};

byte smile[8] = {
  B00000,
  B00000,
  B01010,
  B00000,
  B10001,
  B01110,
  B00000,
  B00000
};

byte lock[8] = {
  B01110,
  B10001,
  B10001,
  B11111,
  B11011,
  B11011,
  B11111,
  B00000
};

byte character[8] = {
  B11111,
  B10101,
  B11111,
  B01010,
  B01110,
  B11111,
  B01110,
  B01110
};


LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)

void setup() {
  lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
  lcd.createChar(0, heart); // Create a custom character
  lcd.createChar(1, smile);
  lcd.createChar(2, lock);
  lcd.createChar(3, character);

  // Clears the LCD screen
  lcd.clear();

  // Print a message to the LCD
  lcd.print("Custom Character");
}

void loop() {
  lcd.setCursor(1, 1);
  lcd.write(byte(0));  // Display the custom character 0, the heart

  lcd.setCursor(5, 1);
  lcd.write(byte(1));

  lcd.setCursor(9, 1);
  lcd.write(byte(2));

  lcd.setCursor(13, 1);
  lcd.write(byte(3));
}Code language: Arduino (arduino)

Kita dapat melihat bagaimana kita dapat menentukan tampilan karakter dengan mengubah 0 menjadi 1 dalam grid 5x8 piksel.

Dalam pengaturan kita harus membuat karakter khusus menggunakan createChar() fungsi.

lcd.createChar(0, heart); // Create a custom characterCode language: Arduino (arduino)

Parameter pertama dalam fungsi ini adalah angka antara 0 dan 7, atau kita harus mencadangkan salah satu dari 8 karakter khusus yang didukung. Parameter kedua adalah nama array byte.

Kami menulis karakter khusus ke tampilan menggunakan write() fungsi dan sebagai parameter kami menggunakan jumlah karakter.

lcd.write(byte(0));  // Display the custom character 0, or the heartCode language: Arduino (arduino)

Lihat juga: Tutorial Layar Sentuh Arduino | LCD TFT

Kesimpulan

Jadi, kami telah membahas hampir semua yang perlu kami ketahui tentang menggunakan LCD dengan Arduino. Tampilan Karakter LCD ini sangat berguna untuk menampilkan informasi untuk banyak proyek elektronik. Dalam contoh di atas saya menggunakan LCD 16×2, tetapi prinsip kerja yang sama berlaku untuk ukuran lain dari tampilan karakter ini.

Saya harap Anda menikmati tutorial ini dan belajar sesuatu yang baru. Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah dan jangan lupa untuk melihat koleksi lengkap 30+ Proyek Arduino saya.


Proses manufaktur

  1. Semua yang Perlu Anda Ketahui tentang Plunge EDM
  2. Semua yang perlu Anda ketahui tentang besi cor
  3. Semua yang perlu Anda ketahui tentang mesin bor
  4. Semua yang perlu Anda ketahui tentang mesin planer
  5. Semua yang perlu Anda ketahui tentang mesin pembentuk
  6. Semua yang perlu Anda ketahui tentang pengerjaan logam
  7. Semua yang perlu Anda ketahui tentang mesin CNC
  8. Semua yang perlu Anda ketahui tentang mesin press
  9. Semua yang perlu Anda ketahui tentang pers hidrolik
  10. Semua yang perlu Anda ketahui tentang plastik