Chọn màn hình cho ESP32, Arduino: OLED 0.96, OLED 1.3, LCD 1602 hay LCD 2004

So sánh màn hình OLED 0.96, OLED 1.3, LCD 1602 và LCD 2004 I2C cho ESP32, Arduino: kích thước thật, cách hiển thị, điện áp, địa chỉ I2C, cách nối dây và nên chọn loại nào.

Dự án ESP32, Arduino nào rồi cũng cần một màn hình nhỏ để hiện nhiệt độ, trạng thái Wi-Fi hay menu cài đặt. Bốn loại phổ biến và rẻ nhất là OLED 0.96 inch, OLED 1.3 inch, LCD 1602 và LCD 2004 hàn sẵn mạch I2C. Bài này so sánh kích thước thật, cách hiển thị, điện áp, địa chỉ I2C, cách nối dây với ESP32 và gợi ý chọn loại nào cho từng kiểu dự án.

1. Bốn loại màn hình thường dùng

Ảnh thật màn hình OLED 0.96 inch, OLED 1.3 inch, LCD 1602 I2C nền xanh lá và LCD 2004 I2C nền xanh dương
OLED 0.96 inch, OLED 1.3 inch, LCD 1602 và LCD 2004 hàn sẵn mạch I2C.
  • OLED (0.96 inch và 1.3 inch): màn hình đồ họa 128 × 64 điểm, mỗi điểm tự phát sáng trên nền đen. Vẽ được chữ nhiều cỡ, biểu tượng, đồ thị.
  • LCD ký tự (1602 và 2004): màn hình chia sẵn ô, mỗi ô hiện một ký tự 5 × 8 điểm, có đèn nền. LCD 1602 có 2 dòng × 16 ký tự, LCD 2004 có 4 dòng × 20 ký tự.

Cả bốn loại đều giao tiếp I2C, chỉ cần 4 dây GND, VCC, SDA, SCL và dùng chung bus I2C với cảm biến khác.

2. Kích thước thật

Bốn màn hình vẽ cùng tỉ lệ: OLED 0.96 inch 27,4 x 27,7 mm, OLED 1.3 inch 34,7 x 32,3 mm, LCD 1602 80 x 36 mm, LCD 2004 98 x 60 mm, kèm thước 20 mm
Bốn màn hình vẽ cùng tỉ lệ theo kích thước module (hình minh họa).

Con số "0.96 inch", "1.3 inch" là đường chéo vùng hiển thị, nên OLED nhỏ hơn nhiều so với hình dung: vùng sáng của OLED 0.96 inch chỉ khoảng 22 × 11 mm, chữ cỡ nhỏ phải nhìn gần mới đọc được. OLED 1.3 inch có cùng 128 × 64 điểm nhưng điểm to hơn, chữ dễ đọc hơn hẳn. LCD 1602 dài 80 mm, LCD 2004 dài 98 mm, đọc được từ xa một hai mét nhưng chiếm nhiều chỗ trên mặt hộp.

3. So sánh OLED và LCD

Bảng so sánh OLED 0.96, OLED 1.3, LCD 1602 I2C và LCD 2004 I2C: số điểm hoặc số ký tự, chip, địa chỉ I2C, điện áp nguồn, ứng dụng hợp
So sánh nhanh bốn loại màn hình (hình minh họa).

OLED có độ tương phản rất cao, góc nhìn rộng, nhìn rõ trong phòng tối. Dòng điện tùy số điểm đang sáng, từ vài mA đến khoảng hai chục mA, nên hợp với thiết bị chạy pin. Điểm cần biết: để một hình đứng yên hàng tháng, các điểm sáng nhiều sẽ mờ đi và để lại vết; nên tắt màn hình hoặc đổi vị trí chữ khi không cần xem. Hai bản 0.96 inch và 1.3 inch dùng hai chip khác nhau (SSD1306 và SH1106), viết chương trình bằng hai thư viện khác nhau. Chi tiết xem bài OLED 0.96 hay 1.3 inch, SSD1306 hay SH1106.

LCD ký tự đọc được cả dưới ánh sáng mạnh, bền, rất dễ lập trình. Đổi lại, LCD chỉ hiện được các ký tự có sẵn trong chip điều khiển loại HD44780: chữ cái không dấu, số, một số ký hiệu; muốn hiện chữ tiếng Việt có dấu hay biểu tượng thì phải tự tạo, tối đa 8 ký tự riêng. Đèn nền tốn vài chục mA. Mạch I2C phía sau dùng chip PCF8574, chạy 5 V, có biến trở chỉnh độ tương phản: chữ mờ hoặc không thấy chữ thì chỉnh biến trở này trước tiên.

Địa chỉ I2C mặc định thường gặp: OLED là 0x3C (một số bản là 0x3D), LCD là 0x27 với chip PCF8574T hoặc 0x3F với chip PCF8574AT. Không chắc thì dùng chương trình quét địa chỉ trong bài giao tiếp I2C trên ESP32: quét địa chỉ.

4. Nối dây với ESP32

Sơ đồ nối OLED trực tiếp với ESP32 qua 3V3, GND, GPIO21 SDA, GPIO22 SCL; LCD I2C cấp 5 V từ chân VIN và nối SDA, SCL qua mạch chuyển mức 3,3 V – 5 V
OLED nối thẳng; LCD I2C nối qua mạch chuyển mức (hình minh họa).
  • OLED: VCC nối 3V3, GND nối GND, SDA nối GPIO21, SCL nối GPIO22. Module OLED chạy được 3,3–5 V nên nối thẳng.
  • LCD I2C: cần nguồn 5 V (chân VIN của ESP32 khi cắm USB) thì chữ mới đủ đậm. Mạch I2C của LCD có điện trở kéo SDA, SCL lên 5 V, trong khi chân ESP32 chỉ chịu 3,3 V, nên nối SDA, SCL qua mạch chuyển mức logic hai chiều 3,3 V – 5 V. Các bước nối và chương trình đầy đủ có trong bài dùng màn hình LCD 2004 I2C với ESP32.
  • Arduino Nano, UNO chạy 5 V nên nối thẳng cả OLED lẫn LCD: SDA vào A4, SCL vào A5.

5. Nên chọn màn hình nào

Dự ánNên chọn
Thiết bị nhỏ, chạy pin, cần biểu tượng, đồ thị, chữ to nhỏ khác nhauOLED 0.96 inch; bản kèm 4 nút nhấn tiện làm menu
Cũng như trên nhưng cần đọc dễ hơnOLED 1.3 inch
Hiện vài số đo, đặt trong tủ điện, nơi sáng, đồ án đơn giảnLCD 1602 I2C
Nhiều thông số cùng lúc, menu cài đặt nhiều dòngLCD 2004 I2C
Không muốn nối dây màn hìnhMạch ESP32 hàn sẵn OLED

LCD có hai màu nền: xanh lá chữ đen dễ đọc dưới ánh sáng ban ngày, xanh dương chữ trắng nhìn đẹp hơn trong nhà.

6. Hướng dẫn lập trình từng loại

LCD I2C không hiện chữ, chỉ hiện ô vuông hay sai địa chỉ là lỗi rất hay gặp; cách tìm lỗi từng bước có trong bài sửa lỗi LCD I2C cùng đợt bài này.

Cần tư vấn chọn màn hình cho dự án, liên hệ PYWORLD qua số 0915703319.


Tin tức liên quan

SPI là gì: MOSI, MISO, SCK, CS, bốn chế độ và cách dùng trên ESP32
SPI là gì: MOSI, MISO, SCK, CS, bốn chế độ và cách dùng trên ESP32

Giải thích giao tiếp SPI: bốn dây MOSI, MISO, SCK, CS, truyền hai chiều cùng lúc và bốn chế độ clock. Kèm hai chương trình ESP32: tự gửi tự nhận để kiểm tra bus và gửi lệnh thô cho thẻ nhớ.

Vali Nhựa Chuyên Dụng – Gia Công Mút Theo Biên Dạng Thiết Bị
Vali Nhựa Chuyên Dụng – Gia Công Mút Theo Biên Dạng Thiết Bị

Dịch vụ chọn vali và gia công mút theo biên dạng thiết bị; vật liệu, kích thước và mức bảo vệ được xác nhận theo từng mẫu cụ thể.

Hiệu chuẩn áp kế lò xo và áp kế hiện số: trình tự A, B, C, sai số, độ trễ và độ không đảm bảo
Hiệu chuẩn áp kế lò xo và áp kế hiện số: trình tự A, B, C, sai số, độ trễ và độ không đảm bảo

Hiệu chuẩn áp kế lò xo và áp kế hiện số theo ĐLVN 76:2001, EURAMET cg-17: ba trình tự đo, cách tính sai số, độ trễ, độ lặp lại, độ không đảm bảo và ví dụ áp kế 0–10 bar cấp 0,6.

ESP32 không nhận cổng COM, lỗi Failed to connect, phải giữ nút BOOT: nguyên nhân và cách sửa
ESP32 không nhận cổng COM, lỗi Failed to connect, phải giữ nút BOOT: nguyên nhân và cách sửa

Cách sửa ESP32 không nhận cổng COM, lỗi Failed to connect, Wrong boot mode, phải giữ nút BOOT, nạp xong không chạy: dây USB, driver, chân khởi động, tụ 10 µF ở chân EN, bảng tra thông báo lỗi.

1-Wire là gì: khe thời gian, mã ROM và cách đọc DS18B20 bằng ESP32
1-Wire là gì: khe thời gian, mã ROM và cách đọc DS18B20 bằng ESP32

Giải thích giao tiếp 1-Wire: một dây dữ liệu, điện trở kéo lên, bốn kiểu khe thời gian, mã ROM 64 bit và CRC. Kèm hai chương trình ESP32 tự viết giao thức để đọc mã ROM và nhiệt độ DS18B20.

Vali đựng thiết bị đo lường: chọn vali và xếp xốp cho đồng hồ vạn năng, ampe kìm
Vali đựng thiết bị đo lường: chọn vali và xếp xốp cho đồng hồ vạn năng, ampe kìm

Chọn vali đựng thiết bị đo lường: loại vali theo nơi làm việc, cỡ vali cho bộ đồng hồ vạn năng, ampe kìm, que đo, cách xếp xốp để máy và que đo không đè nhau, vali cho cả đội.

Cảm biến gia tốc áp điện RION PV-90B (charge output)
Cảm biến gia tốc áp điện RION PV-90B (charge output)

Trong lĩnh vực đo rung động và phân tích dao động, yêu cầu về độ chính xác, tốc độ phản hồi và độ bền cơ học ngày càng trở nên khắt khe hơn. Đặc biệt với các ứng dụng trong lĩnh vực nghiên cứu kết cấu, cơ học dao động, kiểm định máy móc và đo modal, một cảm biến nhỏ gọn nhưng có độ nhạy cao là yếu tố sống còn. Cảm biến RION PV-90B chính là một trong những đại diện xuất sắc của dòng cảm biến gia tốc piezoelectric hiện nay – đến từ thương hiệu danh tiếng RION – Nhật Bản.

Robot dò line với ESP32: dự án STEM cuối khóa cho học sinh
Robot dò line với ESP32: dự án STEM cuối khóa cho học sinh

Làm robot dò line với ESP32, thanh 5 cảm biến TCRT5000 và L298N: bản 1 ba quy tắc nếu thì, bản 2 lái theo tỉ lệ độ lệch (điều khiển P), cách làm sân thi đấu cuối khóa.


Bình luận
Đã thêm vào giỏ hàng