0 đánh giá

Lập trình LCD Graphic với Arduino và openGLCD

Chắc hẳn các bạn ít khi cần đến LCD graphic để hiển thị thông tin, nhưng với LCD này, bạn sẽ có thể hiển thị rất nhiều thông tin bạn muốn. Bài này mình sẽ hướng dẫn cho các bạn làm sao để lập trình cho LCD loại này với openGLCD!. Nào ta bắt đầu

Bước 1: Giới thiệu sơ qua về LCD graphic (đồ họa)
khoere_lcd-6650920179.jpg khoere_diagram-lcd-19264-2193807223.jpg khoere_lcd-pin-out-6847029314.jpg

Đối với các loại LCD đồ họa nói chung, nó gồm có 20 chân, Tùy thuộc vào Panel của LCD mà có vị trị các chân chức năng là khác nhau. Loại LCD này thường dùng chip driver điều khiển là lạoi ks0108, hd44102 hoặc sed1520. còn có nhiều loại chip nữa hoặc có loại xài cổng I2C hay COM. Mình ko đề cập đến loại này ở đây. Mình đưa cho bạn xem panel chân tham khảo như hình trên. Mình chỉ khuyên bạn là nếu khi bạn mua LCD về thì nên coi datasheet cuả nó nhé.

 

 

Bước 2: Cách đấu nối chân cho LCD
khoere_noi-chan-lcd-3390701026.jpg khoere_lcd-2-4718709937.jpg khoere_lcd-3-3097899034.jpg

Việc nối chân cho LCD và Arduino tùy thuộc vào lạoi Arduino bạn sử dụng mà đấu chân khác nhau, Với thư viện openGLCD các chân chức năng được đấu nối mặc định, bạn có thể sửa chửa cho phù hợp, điều này mình sẽ đề cập ở phần sau nhé. Việc đấu nối được cấu hình trong thư mục ArduinolibrariesopenGLCDconfig bạn vào thư mục thư việc của Arduino để cấu hình lại nếu bạn không muốn sửa đổi. Ở đây mình dùng Arduino Mega, mình sẽ đấu nối theo sơ đồ mặc định của nó như hình trên, vậy là OK.

Bạn tải về openGLCD tại đây nhớ thêm vào thư viện bạn nhé. 

Bước 3: Chuyển ảnh thành file hex để hiển thị lên LCD
khoere_anh-hex-186798451.jpg khoere_anh-hex-2-727267940.jpg

Đâu tiên bạn chọn ảnh bất kỳ, kích thước nhở hơn 192x64, dùng paint để mở và lưu lại ở định dạng trắng đen monochorome. ( chế độ trắng đen threshold đơn bit).

Sau đó dùng tool ArduinolibrariesopenGLCDbitmapsutilsJavaglcdMakeBitmap.jar để mở. Khi bạn kéo thả bất kỳ ảnh này thì bạn sẽ có file .h trùng với tên file ảnh bạn kéo vào khi này ở đia chỉ ArduinolibrariesopenGLCDbitmaps ví dụ ở đây là "anh.h"

 

 

 

Bước 4: Viết chương trình
#include <openGLCD.h>
#include <anh.h>

#define DELAY 2000 // trễ

void setup(){
        GLCD.Init();
}

void loop(){

        GLCD.ClearScreen();

        /*

         * Hiện ảnh ở giữa LCD

         */
               GLCD.DrawBitmap(12134, GLCD.Width/2 - 32, 0);      

        delay(DELAY);

}

 

(!) Nếu có bất kỳ thắc mắc nào cần hỏi vui lòng đặt câu hỏi tại HỏiHay.Net, Cộng đồng Hỏi đáp Hỏi Hay sẽ trả lời bạn.
958 lượt xem ^tháng ^ngày, ^năm
admin 2,010 điểm

Please log in or register to Comment this Media.