Tổng quan màn hình oled, tạo ảnh tĩnh và ảnh động trên màn hình oled, tạo project đo nồng độ khí gas hiển thị trên màn hình oled

Mục lục

Tổng quan màn hình oled có những màn hình oled dùng cho lập trình nhúng

Ngày nay chúng ta hẵn không còn xa lạ với các màn hình oled có kích thước nhỏ gọn hiển thị sắc nét trong các dự án

61cf87-2-2
tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-1
hiển thị nhiệt độ độ ẩm trên màn hình oled

Chúng với những ưu điểm như hiển thị đẹp, sang trọng, rõ nét vào ban ngày và khả năng tiết kiệm năng lượng tối đa với mức chi phí phù hợp

Trên thị trường đang có nhiều loại oled nhưng phổ biến nhất vẫn là 3 loại oled 0.91 và oled 0.96, 1.3 Inch, có 2 giao tiếp chính là SPI và I2C. nhưng loại I2C thường được dùng nhiều hơn cả bởi tính tiện dụng đễ dùng của nó, màn hình oled sử dụng giao tiếp I2C cho chất lượng đường truyền ổn định và rất dễ giao tiếp chỉ với 2 chân GPIO

OLed 0.91 thích hợp cho các dự án như hiển thị nhiệt độ, đo nhịp tim, có thể gắn lên tay

Oled 0.96 độ phân giải 128×64 pixcel

Oled 1.3 inch độ phân giải 128×64 pixcel

Ngoài ra còn có oled 0.66 inch loại này thường sử dụng để gắn trên mạch NodeMCU Lua D1

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-2
làm menu trên màn hình oled
tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-3
cảm biến nhịp tim hiển thị trên màn hình oled

Để hiển thị một hình ảnh đẹp thì không phải ai cũng làm được có nhiều người trong đó có mình từng phải đi vay mượn từng code chắp vá, nhưng vẫn chưa đáp ứng được nhu cầu, vì thế trong bài viết này chúng ta cùng nhau tìm hiểu các hiển thị 1 hình ảnh lên màn hình oled. không dài dòng nữa chúng ta bắt đầu thôi.

Cách tạo một ảnh tĩnh trên màn hình oled từ ảnh bất kỳ

Để chuyển ảnh thường thành ảnh có thể hiển thị trên màn hình oled chúng ta cần làm những bước sau

Bước 1: dùng phần mềm để chuyển đổi các hình ảnh có file .JPG, .PNG thành các file ảnh có định dạng .BMP . lưu ý các hình ảnh này là các hình ảnh trắng đen thì mới có thể hiển thị trên màn hình oled

Bước 2: Chỉnh lại kích thước ảnh sao cho nhỏ hơn hoặc bằng kích thước của màn hình oled ( các màn hình oled thường có kích thước 128 x 64 pixcel).

Bước 3: Dùng phần mềm tạo code từ các ảnh .BMP

Bước 4: nạp code và tùy chỉnh

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-5
các bước để chuyển 1 ảnh thường thành ảnh có thể hiển thị trên màn hình oled

Đầu tiên ta ta có 1 hình ảnh thường có định dạng .jpg hoặc png…  ở đây hình ảnh này có định dạng .png

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-4
ảnh này là ảnh thường có định dạng .PNG

Bước 2: dùng phần mềm chuyển định dạng .PNG sang file có định dạng bitmap .BMP

Link tải phần mềm: https://www.irfanview.net/faq.htm Mở phần mềm lên và tùy chỉnh các thông số sau

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-6
dùng phần mềm chuyển ảnh bình thường thành ảnh định dạng BitMap (.BMP)

Lần đầu cần tùy chỉnh thông số này, các lần sau không cần tùy chỉnh nữa, sau khi tùy chỉnh nhấn ok để hoàn thành

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-7
tùy chỉnh thông số trước khi chuyển định dạng file ảnh

Tìm đế thư mục lưu ảnh

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-8
chọn đến thư mục lưu ảnh và tiến hành chuyển đổi ảnh

Bước 3: Tìm đến thư mục xuất file (file output trên) để kiểm tra xem hình ảnh đã đúng kích thước mong muốn chưa

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-9
xem kích thước của ảnh

Nếu đã đúng yêu cầu thì chuyển qua bước tiếp theo, còn nếu chưa đúng kích thước ta cần chình lại kích thước theo các bước dưới đây

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-10
dùng phần mềm paint để chỉnh sửa ảnh

Sau đó dùng công cụ của paint chỉnh lại kích thước

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-11
chỉnh sửa lại kích thước ảnh

Bước 4: Sau khi đã có kích thước ưng ý ta chuyển qua bước tiếp theo là dùng phần mềm chuyển hình ảnh thành đoạn code có thể chạy trên arduino

Phần mềm OledAnimation: https://drive.google.com/file/d/1Ruu0sScENNw4Zd6ElgyJsWX5NlpVm4KO/view?usp=sharing

Bước 4.1: khởi chạy phần mềm

Bước 4.2: Chọn thư mục lưu ảnh .BMP đã chỉnh sửa

Bước 4.3: đặt tên khung hình

Bước 4.4: Coppy đoạn code dán trước hàm void setup để khai báo

Bước 4.5: Copy đoạn code dán vào hàm void loop để chạy khung hình

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-12
phần mềm tạo code chạy trên arduino

Một vài lưu ý trong việc hiển thị hình ảnh trong code

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-13
lưu ý trong việc hiển thị hình ảnh trên màn hình oled

Sơ đồ đấu nối màn hình oled với arduino

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-14
kết nối arduino với màn hình oled i2c

Code test: https://drive.google.com/file/d/1TsQccP1cnlQHl5swddyKmXhQFa1Gy26j/view?usp=sharing

Thành quả:

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-15
chuyển hình ảnh thường thành ảnh hiển thị trên màn hình oled

Cách tạo một ảnh động trên màn hình oled

Ảnh động về cơ bản là tập hợp của nhiều ảnh tĩnh thay đổi nhau theo 1 thời gian cài đặt

sau đây chúng ta cùng tìm 1 ảnh động ở trang web https://icons8.com/animated-icons

settings
ảnh động gear

về quy trình cũng giống như tạo ảnh tĩnh nhưng có thêm một bước đó là lấy nhiều ảnh tĩnh từ ảnh Gif

rồi sau đó chuyển chúng thành định dạng Bitmap (.BMP) , sau đó định dạng lại kích thước hiển thị trên oled, bắt đầu thôi !

Bước 1: Đầu tiên cần lấy nhiều ảnh tĩnh từ ảnh Gif ( gọi là Spilit Gif )

Chúng ta sẽ dùng phần mềm sau: https://drive.google.com/file/d/16mzMb7tIuW7UWJK4F0SYXUZKcOPMRaaW/view?usp=sharing

Bước 2: Sau đó ta quay lại bước 2 bên trên đổi tất cả ảnh thành định dạng thành định dạng .BMP

Bước 3: định dạng lại kích thước

Bước 4: Dùng phần mềm tổng hợp các ảnh thành đoạn code

Code mẫu: https://drive.google.com/file/d/1-yC6G1moQmDdT8EtilZGXSmNfFY5P3GJ/view?usp=sharing

Thành quả:

anh-1

Tạo project đo nồng độ khí gas hiển thị trên màn hình oled:

Trong code này sẽ hiển thị giá trị analog đo được trên thanh “loading bar” , khi giá trị annalog đo được lớn hơn 400 thì sẽ hiện lên ảnh hình động cảnh báo đồng thời led sáng lên

Sơ đồ đấu:

tong-quan-man-hinh-oled-tao-anh-tinh-va-anh-dong-tren-man-hinh-oled-tao-project-do-nong-do-khi-gas-hien-thi-tren-man-hinh-oled-agtj-16
sơ đồ đấu cảm biến khí gas hiển thị trên màn hình oled

Code test: https://drive.google.com/file/d/1Yj2Gh2iyJQN2JexspzBGStQU7Ecu0Vwi/view?usp=sharing

Thành quả:

61cf87-2-1
video test