Hướng dẫn sử dụng thư viện đồ họa U8G2-Hiển thị màn hình Oled 128x64


Giới thiệu :
Chào các bạn,hôm nay mình xin giới thiệu các bạn thư viện đồ họa U8G2.Chúng ta sẻ làm một ví dụ cơ bản hiển thị  dữ liệu trên màn hình  Oled 128x64 (ở đây mình sử dụng oled sh1106 với chuẩn giao tiếp I2C) .
Mục tiêu cần nắm:
Cách kết nối Arduino với oled ( tùy theo chuẩn giao tiếp của oled mà bạn chọn)
Các chân giao tiếp I2C của Arduino.
Giới thiệu sơ lược:
U8G2 là thư viện đồ họa đơn sắc, được hỗ trợ rất nhiều font chữ và các chức năng hình vẽ (đường /hộp /vòng tròn).
Một số thiết bị được hỗ trợ: SSD1305, SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1122, T6963, RA8835, LC7981, PCD8544, PCF8812, HX1230, UC1601, UC1604, UC1608, UC1610, UC1611, UC1701, ST7565, ST7567, ST7588, ST75256, NT7534, IST3020, ST7920, LD7032...
Bạn có thể down thư viện u8g2  trực tiếp từ  library manager của Arduino IDE.



Chân VCC :từ 2v2 đến 5v
Chân GND: nối đất
Chân SCL: Xung clock
Chân SLA: chân Data

Lắp mạch:
Do ở đây mình sử dụng oled 128x64 với giao tiếp i2c nên mình sẻ mắc chân SCL và SLA của Arduino với chân SCL và SLA của oled.Hai chân VCC mắc nguồn 3v3 và GND nối đất.
Code:
#include <U8x8lib.h>


#ifdef U8X8_HAVE_HW_I2C  //// Chuẩn giao tiếp
#include <Wire.h>
#endif


void setup(void)
{
   u8x8.begin(); /// Khởi tạo thư viện U8G2
}
Void loop {
u8x8.print("U8G2 LIBRARY"); //// Hiển thị
u8x8.setCursor(2,2);/// tại vị trí cột 2 dòng 2

 for( i = 10; i > 0; i-- )
  {
    u8x8.setCursor(3,3); /// cột 3 dòng 3
    u8x8.print(i);//// Xuất biến 
}

 u8x8.drawString(0, 2, "Welcome to");//// hiển thị cở chữ nhỏ tại dong 0 cột 2
  u8x8.draw2x2String(0, 3, "T2 Group"); //// hiển thị cỡ 2x2 pixel  tại dong 0 cột 3

u8x8.clearLine(r); /// xóa màn hình
}
Tổng kết:

Rất đơn giản ngoài hiển thị cơ bản  mình còn sử dụng thêm một số hiệu ứng hay chức năng vẽ mà thư viện U8G2 hỗ trợ các bạn có thể tham khảo clip sau:

Ngoài ra các bạn có thể tự do sáng tạo ra hiệu ứng cho mình dựa theo các chức năng thư viện hỗ trợ.Cảm ơn các bạn đã theo dõi ,có gì thiếu xót mong các bạn đóng góp ý kiến để mình có thể khắc phục và làm tốt hơn xin cảm ơn

Không có nhận xét nào