Mục lục bài viết

Bài này sẽ giới thiệu các hiệu ứng hiển thị trên LCD với Arduino như hiển thị chữ nhấp nháy, tự động cuốn chữ, chớp tắt con trỏ blink hoặc cursor, chạy chữ từ trái sang phải và ngược lại.

1. Hiệu ứng hiển thị chữ nhấp nháy

Đầu tiên, hiển thị các ký tự trên LCD. Sau đó, tắt màn hình nhưng không làm mất các ký tự trên LCD với hàm noDisplay(). Rồi cho hiển thị lại màn hình với hàm display(). Cứ như thế lặp đi lặp lại sẽ tạo nên hiệu ứng chữ nhấp nháy.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);
  lcd.print("HELLO");
  lcd.setCursor(0, 1);
  lcd.print("ARDUINO");
}
void loop() {
lcd.noDisplay();//Tắt màn hình và không làm mất các ký tự trên LCD
delay(700);//chờ 0.7 giây
lcd.display();//Hiển thị màn hình trở lại
delay(700);//chờ 0.7 giây
}
Kết quả

2. Hiệu ứng tự động cuốn chữ

Sử dụng hàm autoscroll() để tạo hiệu ứng tự động cuốn chữ.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);
}
void loop() {
  //Đưa con trỏ về vị trí (0,0)
  lcd.setCursor(0, 0);
  //In ra giá trị từ 0 - 9
  for (int thisChar = 0; thisChar < 10; thisChar++) {
    lcd.print(thisChar);
    delay(500);
  }
  //Đặt con trỏ tới vị trí (16,1)
  lcd.setCursor(16, 1);
  //Cấu hình hiển thị tự cuộn chữ
  lcd.autoscroll();
  //IN giá trị từ 0 - 9
  for (int thisChar = 0; thisChar < 10; thisChar++) {
    lcd.print(thisChar);
    delay(500);
  }
  //Tắt chức năng tự động cuộn
  lcd.noAutoscroll();
  //Xóa màn hình cho vòng lặp kế tiếp
  lcd.clear();
}
Kết quả

3. Hiệu ứng chớp tắt con trỏ

Sử dụng hàm noBlink()blink() để tạo hiệu ứng chớp tắt con trỏ.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);
  //In thông báo ra LCD
  lcd.print("hello, world!");
}
void loop() {
  //Tắt blink con trỏ
  lcd.noBlink();
  delay(3000);
  //Bật blink con trỏ
  lcd.blink();
  delay(3000);
}
Kết quả
Chớp tắt con trỏ trên LCD

4. Hiệu ứng chớp tắt con trỏ dạng dấu gạch

Sử dụng hàm noCursor()cursor() để tạo hiệu ứng chớp tắt con trỏ.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);
  //In thông báo trên LCD
  lcd.print("hello, world!");
}
void loop() {
  //Tắt con trỏ
  lcd.noCursor();
  delay(500);
  //Hiện con trỏ
  lcd.cursor();
  delay(500);
}
Kết quả
Chớp tắt con trỏ cursor trên Arduino

5. Hiệu ứng chạy chữ từ trái sang phải và ngược lại

Sử dụng hàm scrollDisplayLeft() để dịch các ký tự qua trái. Sử dụng hàm scrollDisplayRight() để dịch các ký tự qua phải. Cứ lặp đi lặp lại như thế sẽ tạo ra hiệu ứng chạy chữ từ trái sang phải và ngược lại.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(16, 2);
  lcd.print("HELLO ARDUINO!");
  delay(1000);
}
void loop() {
  //Cuộn 13 vị trí sang trái
  for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
    //Cuộn 1 vị trí sang trái
    lcd.scrollDisplayLeft();
    delay(150);
  }
  //Cuộn 29 vị trí sang phải
  for (int positionCounter = 0; positionCounter < 29; positionCounter++) {
    //Cuộn 1 vị trí sang phải
    lcd.scrollDisplayRight();
    delay(150);
  }
  //Cuộn 16 vị trí sang trái
  for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
    // Cuộn 1 vị trí sang trái
    lcd.scrollDisplayLeft();
    delay(150);
  }
  delay(1000);
}
Kết quả
Tác giả

Vinh Lê

Giảng viên CNTT, chia sẻ tutorial lập trình & phần cứng tại Góc Học IT. Hơn 500 bài viết hướng dẫn từ cơ bản đến nâng cao.

Gợi ý tiếp theo

Tạo thêm các ký tự mới trên LCD với board mạch Arduino

Học tiếp