[LCD và GUI] Bài 3: Hiển thị văn bản và tiếng Việt

lcd tft 7735

Tiếp tục bài trước, mình sẽ bổ sung thêm phương thức drawPixel vào thư viện màn hình ST7735. Hàm này chỉ có nhiệm vụ đơn giản là vẽ 1 điểm ảnh lên màn hình

Ngoài ra, mình định nghĩa thêm 1 số màu sắc cơ bản và kích thước của màn hình

Để hiển thị văn bản và ngôn ngữ của các quốc gia khác nhau, các bạn có thể sử dụng thư viện Fontmaker và phần mềm tạo font mà mình đã thiết kế rất dễ sử dụng

Các bạn tải tool tạo font tại đây
File thư viện .c và .h tải tại đây

Về phần thư viện trên STM32, sẽ có 6 file .c và 6 file .h, các bạn copy các file .h vào thư mục Inc và copy các file .c vào thư mục Src. Sau đó mởi Keilc lên. Trong cây project (project tree) add các file .c vào

lcd tft st7735
lcd tft st7735

Để sử dụng thì các bạn include file graphic.h vô main.c là được

lcd tft st7735

Bây giờ, để kết nối thư viện driver màn hình ST7735 với thư viện đồ họa, ta dùng lệnh:

hiển thị tiếng việt trên màn hình lcd

Thử in vài chữ với bộ font mà thư viện đã hỗ trợ sẵn xem sao nhé

Tham số 0,0 là tọa độ hiển thị trên màn hình, còn FontDemo1 là tên của bộ font, WHITE là màu chữ, BLACK là màu nền

Và đây là kết quả !

lcd tft st7735

Rất đơn giản phải không !

Chú ý: Nếu các bạn không gõ được tiếng Việt trong keilC thì vào Edit -> Configuration
Trogn tab Editer dòng Encoding chọn Encode in UTF8-with out singture

Bây giờ mình sẽ hướng dẫn dùng tool để tự tạo bộ font riêng theo ý thích

Giao diện phần mềm
  1. Chọn font chữ, kích thước, style tùy ý
  2. Điền bộ mã của riêng bạn ( bộ mã ở đây là các kí tự mà bạn muốn phần mềm gen thành font) mình đã tạo sẵn 1 bộ mã gồm đầy đủ các kí tự tiếng việt từ A đến Z, các bạn có thể chọn dùng luôn. Tuy nhiên bộ mã này khá lớn nên sẽ tốn khá khá bộ nhớ của vi điều khiển. Nếu các bạn chỉ muốn sử dụng 1 vài kí tự thôi chứ không muốn gen hết tất các các kí tự thì tự điền bộ mã riêng của mình vào nhé
  3. Chọn độ rộng của dấu cách sao cho đẹp nhất
  4. Điền tên của bộ font ( hãy nhớ đặt tên theo quy tắc đặt tên biến trong C nhé)
  5. Ấn xuất font ( nếu các bạn tự gõ bộ mã thì ấn xuất Ufont, còn nếu dùng bộ mã IOT47 UTF-8 có sẵn thì ấn xuất font)
  6. Copy mã code font chữ vào 2 file fontmaker.c và fontmaker.h

Vậy là xong, chỉ với 1 vài thao tác đơn giản là các bạn tự có cho mình 1 bộ font riêng với style theo ý thích

Chú ý: Nếu font của bạn sử dụng bộ mã của riêng bạn thì dùng hàm uFontMakerPutString còn nếu font đó xài bộ mã IOT47 UTF-8 thì dùng hàm FontMakerPutString nhé !

Hàm FontMakerPutStringTRANPARENT dùng để in màu nền trong suốt nhé, tương tự với font tự tạo của các bạn thì là hàm uFontMakerPutStringTRANPARENT

Dưới đây là 1 vài demo của mình

lcd tft 7735

Tải full source cho bài này tại đây

 

Từ tác giả:

Nếu có bất kì thắc mắc nào trong bài viết, vui lòng để lại comment dưới mỗi bài ! Mình sẽ không trả lời thắc mắc của các bạn ở facebook hay email !

Nếu trong phần code bạn nhìn thấy nhưng thứ kiểu như &amp; thì đó là lỗi hiển thị, cụ thể 3 kí tự < > & bị biến đổi thành như thế
&amp; là &
&lt;  là <
&gt; là >

Giới thiệu Đào Nguyện 80 bài viết
DIY,chế cháo, viết blog chia sẽ kiến thức về lập trình,điện tử - IoT. Rất mong được giao lưu, kết bạn với các bạn cùng đam mê. Địa chỉ Facebook: https://www.facebook.com/nguyendao207