Trong bài học này, chúng ta cùng tìm hiểu về màn hình LCD và viết chương trình để hiện dòng chữ “OhStem Xin chào bạn!” lên màn hình.
Màn hình LCD (viết tắt của từ Liquid Crystal Display) là một thành phần khá phổ biến trong các thiết bị điện tử, được dùng để thể hiện thông tin cho người dùng.
Hai nhà khoa học được coi là cha đẻ của màn hình LCD
Có nhiều loại màn hình LCD phổ biến như LCD dạng line, OLED, eInk, TFT,…
Màn hình LCD dạng line là một loại khá thông dụng và có giá thành rẻ. Bộ kit xBuild cung cấp sẵn một module màn hình LCD 1602 đơn sắc, sử dụng giao tiếp I2C, có thể hiển thị được 2 dòng chữ với tối đa 16 ký tự mỗi dòng.
import time from lcd_1602 import LCD1602 lcd1602 = LCD1602(0) lcd1602.backlight_on() while True: lcd1602.move_to(0, 0) lcd1602.putstr('OhStem') lcd1602.move_to(0, 1) lcd1602.putstr('Xin chao ban') time.sleep(2) lcd1602.clear() time.sleep(1)
Sau khi nạp chương trình, bạn có thể xem các nội dung được in ra trên màn hình LCD1602.
from lcd_1602 import LCD1602
Để làm việc với màn hình LCD, chúng ta cần import thư viện LCD1602. Đây là một kiểu import khác với câu lệnh import đã dùng. Với câu lệnh import này, thay vì import toàn bộ thư viện thì ta chỉ import riêng LCD1602.
Khi chúng ta dùng lệnh import cả một thư viện, ví dụ như import time thì khi muốn gọi các hàm trong thư viện, chúng ta cần phải gọi đầy đủ tên của thư viện, ví dụ time.sleep().
Khi chúng ta chỉ import 1 thành phần nào đó trong thư viện, như from “lcd_1602 import LCD1602” thì chúng ta có thể gọi trực tiếp tên LCD1602 mà không cần gọi tên thư viện lcd_1602 nữa.
lcd1602 = LCD1602(0)
Tạo một đối tượng tên là lcd1602. Vì module LCD được nối với cổng 1, nên ta sẽ chọn giá trị 0. Trong máy tính sử dụng số đếm bắt đầu từ 0, nên các cổng từ 1 đến 6 sẽ được đánh số tương ứng từ 0 đến 5 (hơi rối phải không bạn).
lcd1602.backlight_on()
Bật đèn nền phía sau của màn hình lcd. Để tắt, ta sử dụng lệnh lcd1602.backlight_off()
lcd1602.move_to(0, 0)
Di chuyển vị trí in ký tự tiếp theo đến vị trí hàng 0 cột 0. Hàm này có cú pháp là lcd1602.move_to(X, Y) với x là cột và y là hàng.
lcd1602.putstr('OhStem')
In ra màn hình dòng chữ “OhStem” tại vị trí đã được cài đặt.
lcd1602.move_to(0, 1) lcd1602.putstr('Xin chao ban!')
Để in ra dòng chữ “Xin chao ban!” trên dòng thứ 2 của màn hình, chúng ta làm tương tự bằng cách thay đổi vị trí in ra và dùng lệnh lcd1602.putstr() để hiển thị.
lcd1602.clear()
Câu lệnh này sẽ xóa trắng màn hình. Tất cả những gì đang được hiển thị sẽ bị biến mất..
Sau khi chạy chương trình, bạn sẽ thấy dòng chữ “OhStem Xin chào bạn!” được hiển thị liên tục trên 2 dòng của màn hình LCD (hiển thị trong 2 giây rồi biến mất trong 1 giây)