Mở đầu
- Như bài trước thì mình có hướng dẫn mọi người tìm hiểu về Module LCD TFT2.0″ , cách đấu nối và code thử rồi =))
- bài này mình sẽ hướng dẫn một số câu lệnh cơ bản để có thể giúp mọi người sử dụng thành thạo hơn với Module này =)))
Chuẩn bị
Phần cứng | |
---|---|
Arduino Uno | x1 |
LCD TFT 2.0 inch SPI | x1 |
Dây cắm board test đực cái | x7 |
Phần mềm | |
Arduino IDE | |
Thư viện | |
TFT_22_ILI9225 |
Đấu nối LCD TFT 2.0 inch với Arduino Uno
LCD TFT SPI 2.0 Inch | Arduino Uno R3 |
VCC | 3V |
GND | GND |
RST | 8 |
RS | 9 |
CS | 10 |
SDA | 11 |
CLK | 13 |
Các bước thực hiện
- Chọn một ảnh mà bạn muốn cover vào LCD
- Mở công cụ paint và chọn hình bạn chọn. Chỉnh size ảnh trong mục resize tích pixel và chỉnh sze bất kì mà bạn muốn (ở đây mình muốn show hình ảnh toàn màn hình nên chỉnh về 176×220). nếu không được thì bỏ tích mục Maintain aspect ratio
- Lưu tệp bằng Save as dưới dạng đuôi bmp (bitmap)
- Truy cập trang web Image2cpp để chuyển đổi anh thành code
- Chọn Choose file đẻ chọn ảnh cần decode
- Phần này sẽ hiện thông số của bức ảnh mình đã sửa ở phần này bạn không cần làm gì cũng được
- Preview
- Output
Ở phần Code output format: chọn Adafruit GFXbitmapFont , sau đó ấn Generate Code. Bảng ở dưới sẽ cho chúng ta một đoạn địa chỉ của ảnh bitmap như trong hình, việc còn lại là copy toàn bộ dán vào code của bạn
Code arduino
Ta sẽ sử dụng hàm drawBitmap() để xuất hình ảnh lên Lcd
void drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color);
- x,y tọa độ đặt ảnh
- bitmap: Tên ảnh bitmap vừa đặt
- w,h: chiều dài, chiều rộng của ảnh
// Khai báo 2 thư viện SPI và TFT LCD #include "SPI.h" #include "TFT_22_ILI9225.h" // khai báo các chân kết nối #define TFT_RST 8 // Chân Reset #define TFT_RS 9 // Chân RS #define TFT_CS 10 // Chân SS #define TFT_SDI 11 // Chân MOSI #define TFT_CLK 13 // Chân SCK #define TFT_LED 3 // Nối với chân nào cũng được, không có cũng không sao =))) #define TFT_BRIGHTNESS 200 // định độ sáng của đèn nền // Khai báo thứ tự chân RST --> RS --> CS --> LED --> BRIGHTNESS TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_LED, TFT_BRIGHTNESS); void setup() { // Khởi tạo màn hình tft tft.begin(); } void loop() { tft.drawBitmap(0, 0, tux, 60, 60, COLOR_WHITE); }