Module ST7290 GLCD là màn hình đồ họa tinh thể lỏng. Nó hỗ trợ cả giao tiếp dữ liệu song song và nối tiếp với Arduino. Các bộ vi điều khiển khác cũng có thể điều khiển màn hình LCD bằng ba chân điều khiển và 8 digital, giúp giao tiếp dữ liệu song song.
Led sử dụng phương pháp backlight-blocking để hiển thị dữ liệu. Có tổng số 128 × 64 điểm ảnh trên toàn bộ màn hình GLCD. Do đó, chúng ta có thể hiển thị hình ảnh có độ phân giải 128 × 64 với dữ liệu ở định dạng hex.
Giới hạn màu không cho phép hiển thị ở các định dạng khác. Hơn nữa, nó có bộ điều khiển bên trong và thanh ghi giúp dễ sử dụng mà không cần sử dụng thư viện hỗ trợ.
Đây là sơ đồ chân của màn hình đồ họa:
Cấu hình chân và chức năng của ST7290 gần giống với các màn hình LCD khác. Có tổng cộng 20 chân, cung cấp các tính năng giao tiếp dữ liệu nối tiếp và song song. Dưới đây là chức năng của tất cả chân.
Các chân | Mô tả chi tiết | |
Chân 1 | GND | Là chân nối đất chung cho mạch nguồn và điều khiển. |
Chân 2 | VCC | Chân cấp nguồn |
Chân3 | Vout | Chân tạo ra giá trị điện áp gấp đôi. |
Các chân | Mô tả chi tiết | |
Chân 3 | Vo | GLCD sử dụng tính năng backlight-blocking để hiển thị hình ảnh. Chặn cường độ ánh sáng có thể điều chỉnh được bằng chân này. |
Chân 4 | RS | Chân RS điều khiển các thanh ghi bên trong |
Chân 5 | R / W | Các chân R / W điều khiển GLCD, đọc và ghi từ vi điều khiển. |
Chân 6 | E | Chân này là chân cho phép dữ liệu từ các lệnh và thanh ghi dữ liệu đến GLCD. |
Chân 15 | PSB | PSB điều khiển GLCD sẽ giao tiếp dữ liệu song song hay nối tiếp. |
Chân 16 | NC | Chân không có kết nối |
Chân17 | RST | Các chân RST đặt lại tất cả các hiển thị và dữ liệu bên trong. |
Các chân | Mô tả | |
Chân 7 | DB0 | Đây là các chân dữ liệu đầu vào digital để giao tiếp dữ liệu song song. Nó cũng có thể hoạt động chỉ với 4 chân digital từ DB4 đếnDB7. |
Chân 8 | DB1 | |
Chân 9 | DB2 | |
Chân 10 | DB3 | |
Chân 11 | DB4 | |
Chân 12 | DB5 | |
Chân 13 | DB6 | |
Chân 14 | DB7 |
Các chân | Mô tả | |
Chân 19 | BLA | Các chân BLA là chân đầu vào công suất của đèn LED backlight. |
Chân 20 | BLK | BLK là chân nối mass của đèn LED bên trong. |
Toàn bộ màn hình GLCD được tạo thành từ 128 × 64 điểm ảnh nhỏ. Mỗi pixel được tạo thành từ 5 lớp nhỏ. Lớp ngoài cùng được gọi là lớp bảo vệ. Ba lớp còn lại tạo ra 1 pixel trên màn hình LCD. Hai lớp bên trong là lớp tinh thể lỏng. Các lớp có đường phân cực đối nhau. Các lớp phân cực cũng hoạt động như cực anode và cathode. Khi ánh sáng đi qua lớp này, chúng sẽ dừng lại cho tới khi có nguồn điện cấp vào các lớp phân cực thì tinh thể sẽ thay đổi hướng của ánh sáng và cho ánh sáng backlight đi qua. Các điểm ảnh tối chặn ánh sáng vì nó không nhận được ánh sáng. Mỗi pixel sẽ được điều khiển bởi IC ST7290 điều khiển.
Bộ điều khiển có nhiều chân, có 18 chân đầu vào đã được thảo luận trong phần cấu hình chân. Các chân kết nối còn lại với các pixel theo hàng và cột. Các chân đầu ra có số lượng 128X64 và điều khiển mọi pixel.
IC điều khiển có các thanh ghi bên trong, hoạt động như các thanh ghi lệnh và dữ liệu. Do đó, các chân đầu vào sẽ điều khiển điện trở và sẽ làm hiển thị dữ liệu lên màn hình GLCD. cả hai loại thanh ghi này đều có thể điều khiển được qua chân RS.
Các thanh ghi dữ liệu được gi vào và sau đó hiển thị dữ liệu. Để thay đổi hiển thị trên màn hình, thanh ghi dữ liệu cần phải thay thế bằng dữ liệu mới. Vì vậy, hãy xóa dữ liệu trước đó trên màn hình LCD trước khi thay thế dữ liệu mới. Các thanh ghi lệnh cũng cần thay thế dữ liệu nhưng chỉ cần khi thực hiện chức năng khác.
GLCD có hai giao thức giao tiếp để điều khiển GLCD. Chúng ta có thể giao tiếp với vi điều khiển bằng hai giao thức này. Giao thức đầu tiên là sử dụng các chân dữ liệu song song và giao thức thứ hai là các chân giao tiếp dữ liệu nối tiếp.
Ví dụ màn hình LCD đều có sẵn trong phần mềm Arduino. Arduino sử dụng mạch kết nối sau để giao tiếp dữ liệu nối tiếp.
Sau khi thiết kế mạch, nó yêu cầu thư viện hỗ trợ sau để lập trình.
#include "U8glib.h"
Sau khi khởi tạo thư viện, thì cũng cần khai báo các chân giao tiếp. Với giao tiếp truyền dữ liệu nối tiếp, chỉ cần khai báo các chân sau.
U8GLIB_ST7920_128X64_4X u8g (10);
Chân 10 là chân PSB của LCD, câu lệnh khai báo giao thức truyền dữ liệu nối tiếp và song song. Ở đây sử dụng giao thức truyền dữ liệu nối tiếp vì giao thức truyền dữ liệu song song cũng tương tự.
Lý do sử dụng LCD là để tránh sự phức tạp của các chân và làm giảm kích thước mạch. Lệnh trên sẽ chỉ thay đổi khi LCD cần chuyển đổi từ giao tiếp thức truyền dữ liệu nối tiếp sang song song.
Là một trong những chức năng được sử dụng nhiều nhất trên màn hình LCD. Nếu màn hình LCD đã lưu dữ liệu trước đó thì nó sẽ không hiển thị dữ liệu mới một cách rõ ràng trừ khi ta xóa dữ liệu trước đó đi.
void clearLCD (){ u8g.firstPage(); do { } while (u8g.nextPage ()); }
Hàm trên để xóa dữ liệu khỏi màn hình LCD. Sau khi viết hàm trên, chỉ cần gọi lại hàm trong vòng lặp khi cần xóa hiển thị.
clearLCD ();
Để hiển thị bất kỳ cái gì, nó cần có các lệnh tương ứng. Các lệnh đưa ra có thể thông qua hàm hoặc trực tiếp viết trong trong vòng lặp. Dưới đây là lệnh chỉ hiển thị dòng chữ:
u8g.drawStr (0, 22, "Xin chào Thế giới!");
0 và 22 là khai báo trục x và y vị trí dòng chữ trên pixel. Nó phải theo kích thước độ phân giải của màn hình vì giá trị của trục xác định vị trí của văn bản trên màn hình.
Màn hình hiển thị đồ họa chỉ có một màu đen hiển thị dữ liệu. Nếu các nhà phát triển muốn hiển thị hình ảnh lên màn hình thì vẫn có thể làm được. Chỉ cần tuân theo một số yếu cầu, đó là hình ảnh phải ở định dạng hex của bitmap. Sau đó, dùng lệnh sau để hiển thị hình ảnh.
const uint8_t rook_bitmap[] U8G_PROGMEM = { Enter the bitmap image hex code. };
Biến mảng trên là phương thức để khai báo hình ảnh. Để hiển thị hình ảnh trên GLCD, cần gọi hàm sau trong vòng loop/setup.
u8g.drawXBMP (0, 0, 128, 64, rook_bitmap);
Lệnh trên sẽ hiển thị hình ảnh bất cứ khi nào cần hiển thị. Có nhiều chức năng khác như kiểm soát phông chữ, mật độ văn bản, v.v. có thể sử dụng được bằng cách lập trình. Tất cả các chức năng khác có trong các ví dụ của thư viện trên phần mềm arduino.
>>> Mời anh em xem thêm