Lcd Gphone

Cần chuẩn bị phần cứng gì?

  • Một con ESP8266v12 (NodeMCU v0.9 mình mua có 80k ở Việt Nam luôn)
  • Một con ST7565 (hàng tháo chip cho rẻ, mình mua cũng có 20k)
  • Vậy là hết 100k rồi.
  • Thêm 7 dây breadboard cái – cái để nối dây nữa là xong!

Cần cài đặt gì?

  • Cài đặt board ESP8266 để lập trình từ Arduino IDE. Các bạn làm theo bài viết sau.
  • Cà đặt thư viện ST7565_homephone_esp8266 của mình. Những thay đổi mình đã chỉnh sửa trong thư viện này:
    • Bỏ PROGMEM cho đơn ký tự char.
    • Bỏ các từ khóa asc vì esp8266 không phải là AVR.
    • Hết rồi, thư viện của Nick Chung (Thái Sơn) chạy quá tốt luôn.

Thử nghiệm

Lắp mạch cho LCD

Tùy con nha, mình lấy con NodeMCU 1.0 vì trong fritzing có con này, chứ mình sài NodeMCU 0.9

Pinout của con LCD ST7565

Chúng ta chỉ cần dùng chân 2, 3, 4, 7, 8, 9, 10 mà thôi. Bạn có thể hàn như mình nè.

Ngoài ra, bạn có thể cấp điện 3v3 vào chỗ bôi đỏ để bật đèn màn hình

Nói chung, bạn có thể lấy mọi ví dụ bài viết về ST7565 của Nick Chung viết trước đây và thử nghiệm trên ESP8266. Nhớ đổi tên chân lại, như con ESP8266 có các chân từ D0 => D9, A0. Ngoài ra, tùy bản ESP8266 mà có nhiều chân (pin) hơn ahihi.

Các thử nghiệm

Vẽ Tam giác

Xem toàn bộ thông tin tại đây.

#include “ST7565_homephone_esp8266.h”//a ST7565 lcd(D0, D1, D2, D3);//b void setup() { lcd.ON();//c lcd.SET(22,0,0,0,4); //d } void loop(){ lcd.Tri(60,10,30,40,90,40,BLACK); lcd.Display(); }

a : Thêm thư viện

b : Thiết lập pin kết nối

c: Bật màn hình

d : Cài đặt cấu hình giao diện

Viết 1 kí tự tiếng Việt

Xem thông tin tại đây.

#include “ST7565_homephone_esp8266.h”//a ST7565 lcd(D0, D1, D2, D3);//b void setup() { lcd.ON();//c lcd.SET(22,0,0,0,4); //d } void loop(){ //c1: lcd.Uni_Char(63,10,u’A’,BLACK);//A //c2: const static char16_t text=u’x1ED8′;//Ộ lcd.Uni_Char(63,31,text,BLACK); lcd.display(); }

Viết một chuỗi tiếng Việt

Xem thông tin tại đây

Anh em nhớ bỏ macro Uni nha

#include “ST7565_homephone_esp8266.h”//a ST7565 lcd(D0, D1, D2, D3);//b void setup() { lcd.ON();//c lcd.SET(22,0,0,0,4); //d } void loop(){ //c1: lcd.Uni_String( 30, 15, u”x111x1ECF”, BLACK);//đỏ //c2: const static char16_t text[] PROGMEM =u”x111x65n”;//đen lcd.Uni_String( 30, 35,text, BLACK); lcd.Display(); }

Kết luận

Tốc độ xử lý của ESP8266 nhanh hơn rất nhiều so với Arduino, các bạn có thể làm game rất mượt mà. Bạn có thể làm nhiều trò vui với ESP8266 và ST7565. Thư viện của Thái Sơn quá đầy đủ để chúng ta có thể chơi một cách ngon lành. Mời bạn xem video ở dưới để cùng chiêm ngưỡng những khả năng độc đáo của thư viện!