Arduino điều khiển LCD 16x2 Phần 2 : Một số hiệu ứng cơ bản của LCD 16x2

Giới thiệu:

Xin chào các bạn! Hôm nay mình sẻ tiếp tục đề tài Arduino điều khiển LCD 16x2 .LCD không  chỉ hiển thị các chuỗi ký tự hay số đơn giản mà ta còn có thể thêm vào các hiệu ứng giúp cho giao diện thêm sinh động và thú vị hơn tùy theo ý muốn cá nhân.
 

Mục tiêu cần nắm :

Các pinout của LCD 16x2.
Cách kết nối LCD với Arduino
Cách điểu khiển LCD bằng Arduino.

Chuẩn bị: 

Arduino Uno .
LCD 16x2.
Bread board.
Biến trở 10k ( tinh chỉnh độ sáng ) .

Kết nối:



Code:

Hiệu ứng nhấp nháy:

#include <LiquidCrystal.h> // Khai báo thư viện

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Khởi tạo giao tiếp
void setup() {
  // Khởi tạo LCD:
  lcd.begin(16, 2);
  // Hiển thị  LCD.
  lcd.print("T-HI Group !!");
}

void loop() {
  // Tắc màn hình :
  lcd.noDisplay();
  delay(500); //Thời gian chờ 0.5s 
  // Mở màn hình:
  lcd.display();
  delay(500);
}

Chớp tắc trỏ cuối dòng:

#include <LiquidCrystal.h> // Khai báo thư viện
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Khởi tạo giao tiếp
void setup() {
  // Khởi tạo LCD:
  lcd.begin(16, 2);
// Hiển thị  LCD.
  lcd.print("T-HI Group !!");
}
void loop{
// Tắt mở con trỏ cuối dòng

lcd.noBlink();
delay(3000);
  lcd.blink();
  delay(3000);
}


Tự động cuộn chữ: 

Tự dịch chuyển chữ ở dòng thứ 1 trên LCD khi bắt đầu có kí tự ở dòng thứ 2:

#include <LiquidCrystal.h> // Khai báo thư viện
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Khởi tạo giao tiếp
void setup() {
  // Khởi tạo LCD:
  lcd.begin(16, 2);
void loop() {
  //Đặt con trỏ tại (0,0):
  lcd.setCursor(0, 0);
  // Xuất ký tự số từ 0 đến 9:
  for (int thisChar = 0; thisChar < 10; thisChar++) {
    lcd.print(thisChar);
    delay(500);
  }

  // Đặt con trỏ tại  (16,1):
  lcd.setCursor(16, 1);
  // Tự động cuốn chử:
  lcd.autoscroll();
  //Xuất ký tự số từ 0 đến 9
  for (int thisChar = 0; thisChar < 10; thisChar++) {
    lcd.print(thisChar);
    delay(500);
  }
  // Tắt chế độ tự động cuộn chử:
  lcd.noAutoscroll();

  // Xóa trang:
  lcd.clear();
}

Chạy chữ :

Chữ chạy từ trái sang phải và ngược lại
#include <LiquidCrystal.h> // Khai báo thư viện
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Khởi tạo giao tiếp
void setup() {
  // Khởi tạo LCD:
  lcd.begin(16, 2);
void loop() {
  // Cuộn từ vị trí 13 sang trái
  
  for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
    lcd.scrollDisplayLeft();
    //chờ
    delay(150);
  }
// cuộn từ vị trí 29 sang phải
for (int positionCounter = 0; positionCounter < 29; positionCounter++) 
    lcd.scrollDisplayRight();
  // Chờ 
    delay(150);


Ngoài những hiệu ứng cơ bản và thông dụng như trên thư viện LCD còn hỗ trợ thêm một số hiệu ứng đẹp mắt khác,các bạn có thể sử dụng tùy theo sàng tạo của bản thân.

thitech Thứ Hai, 30 tháng 7, 2018
Arduino điều khiển LCD 16x2 Phần 1:Hiển thị chuỗi, số nguyên, số thực

Giới thiệu:

Xin chào các bạn!
Hôm nay minh giới thiệu các bạn cách chúng ta hiển thị dữ liệu chuổi ký tự,số nguyên sử dụng LCD 16x2 và  được điều khiển bởi Arduino.

Mục tiêu cần nắm :

Các pinout của LCD 16x2.
Cách kết nối LCD với Arduino
Cách điểu khiển LCD bằng Arduino.

Chuẩn bị: 

Arduino Uno .
LCD 16x2.
Bread board.
Biến trở 10k ( tinh chỉnh độ sáng ) .

Thư viện LCD:

Thư viện LiquidCrystal là thư viện điều khiển LCD trên Arduino, nó được xây dựng để cho các bạn có thể lập trình điều khiển các module LCD ô vuông một cách nhanh chóng mà không cần phải lập trình nhiều. Thư viện này được viết để phù hợp với con IC HD44780 (con điều khiển module LCD), tuy nhiên, trên thị trường mình toàn thấy các con LCD của Trung Quốc và thư viện này vẫn hoạt động tốt. Nghĩa là, bạn chỉ cần mua module LCD về và gắn vào Arduino, nạp code là chạy được, không cần quan tâm đến IC điều khiển LCD.
  1. VSS: tương đương với GND - cực âm
  2. VDD: tương đương với VCC - cực dương (5V)
  3. Constrast Voltage (Vo): điều khiển độ sáng màn hình
  4. Register Select (RS): điều khiển địa chỉ nào sẽ được ghi dữ liệu
  5. Read/Write (RW): Bạn sẽ đọc (read mode) hay ghi (write mode) dữ liệu? Nó sẽ phụ thuộc vào bạn gửi giá trị gì vào.
  6. Enable pin: Cho phép ghi vào LCD
  7. D0 - D7: 8 chân dư liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu bạn đang ở chế độ đọc (read mode) và nó sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế độ ghi (write mode)
  8. Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn màn hình LCD.

Kết nối:

Ở đây mình sử dụng chế độ 4-bit để tiết kiệm  chân ở Arduino.

Demo:

Code:

#include <LiquidCrystal.h>
// khai báo thư viện LCD
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Khởi tạo chân giao tiếp
void setup() {
   lcd.begin(16, 2); // Khởi tạo LCD 16x2 
   lcd.print("Wellcome to T-HI "); // Hiển thị chuổi ký tự
}
void loop() {
  lcd.setCursor(0, 1); // Đặt con trỏ ở vị trí cột 0 dòng 1
  lcd.print(millis() / 1000); //Xuất số điếm 1s đếm một lần

}

Tổng quan:



thitech