Màn hình LCD TFT 3.2 inch ILI9341 giao tiếp SPI
– Kích thước: 3.2 inch
– Điện áp hoạt động: 3.3V / 5V
– Loại: TFT, không cảm ứng
– Độ phân giải: 320×240
– IC điều khiển: ILI9341
– Hỗ trợ hiển thị 16BIT RGB với 65K màu
– Tích hợp khe cắm thẻ SD
– Giao diện hiển thị: SPI 4 dây
– Khu vực hiển thị hiệu quả: 48.6×64.8 mm
– Khối lượng: 52g
- Cộng thêm 26 điểm tích lũy
-
Đơn hàng có giá trị từ 300.000 (đ), miễn phí vận chuyển [ tối đa 15.000 (đ) ].
Đơn hàng có giá trị từ 500.000 (đ), miễn phí vận chuyển [ tối đa 35.000 (đ) ].Xem thêm các khuyến mãi vận chuyển khác.
Sản phẩm liên quan
Chi tiết sản phẩm
Màn hình LCD TFT 3.2 inch ILI9341 giao tiếp SPI với driver ILI9341 là thiết bị hiển thị chất lượng cao, hỗ trợ giao tiếp SPI (Serial Peripheral Interface), giúp truyền dữ liệu nhanh chóng và giảm số lượng chân kết nối cần thiết. Với độ phân giải sắc nét, màn hình này mang lại hình ảnh sống động và rõ ràng, lý tưởng cho các dự án hiển thị đồ họa, dữ liệu cảm biến hoặc giao diện người dùng trực quan.
Thiết kế nhỏ gọn với kích thước 3.2 inch, màn hình dễ dàng tích hợp vào các dự án Arduino, STM32, ESP32, Raspberry Pi và nhiều nền tảng vi điều khiển khác. Ngoài ra, khả năng tương thích cao cùng giao tiếp SPI giúp giảm tải cho vi điều khiển, tối ưu hóa hiệu suất cho các ứng dụng phức tạp. Đây là lựa chọn tuyệt vời cho các dự án DIY, thiết bị IoT, hoặc bảng điều khiển hiển thị tùy chỉnh.
Lưu ý: Màn hình này giao tiếp mức logic 3.3V, thường dùng cho ESP32 và ES8266, nếu muốn dùng với Arduino thì cần phải có thêm điện trở hoặc mạch chuyển đổi mức tín hiệu
Thông số kỹ thuật
- Kích thước: 3.2 inch
- Điện áp hoạt động: 3.3V / 5V
- Loại: TFT, không cảm ứng
- Độ phân giải: 320×240
- IC điều khiển: ILI9341
- Hỗ trợ hiển thị 16BIT RGB với 65K màu
- Tích hợp khe cắm thẻ SD
- Giao diện hiển thị: SPI 4 dây
- Khu vực hiển thị hiệu quả: 48.6×64.8 mm
- Khối lượng: 52g
Kích thước sản phẩm
Hướng dẫn sử dụng Màn hình LCD TFT 3.2 inch
- Thư viện: https://docs.google.com/document/d/1QEi5v-VK3e9fuXDZmAHJ-ltXacvBN3AeuEHud-H0d5I/edit?tab=t.0
- Sơ đồ đấu nối:
- Chương trình mẫu:
#include "SPI.h" #include "TFT_eSPI.h" TFT_eSPI tft = TFT_eSPI(); unsigned long total = 0; unsigned long tn = 0; void setup() { Serial.begin(9600); while (!Serial); Serial.println(""); Serial.println(""); Serial.println("TFT_eSPI library test!"); tft.init(); tn = micros(); tft.fillScreen(TFT_BLACK); yield(); Serial.println(F("Benchmark Time (microseconds)")); yield(); Serial.print(F("Screen fill ")); yield(); Serial.println(testFillScreen()); yield(); Serial.print(F("Text ")); yield(); Serial.println(testText()); yield(); Serial.print(F("Lines ")); yield(); Serial.println(testLines(TFT_CYAN)); yield(); Serial.print(F("Horiz/Vert Lines ")); yield(); Serial.println(testFastLines(TFT_RED, TFT_BLUE)); yield(); Serial.print(F("Rectangles (outline) ")); yield(); Serial.println(testRects(TFT_GREEN)); yield(); Serial.print(F("Rectangles (filled) ")); yield(); Serial.println(testFilledRects(TFT_YELLOW, TFT_MAGENTA)); yield(); Serial.print(F("Circles (filled) ")); yield(); Serial.println(testFilledCircles(10, TFT_MAGENTA)); yield(); Serial.print(F("Circles (outline) ")); yield(); Serial.println(testCircles(10, TFT_WHITE)); yield(); Serial.print(F("Triangles (outline) ")); yield(); Serial.println(testTriangles()); yield(); Serial.print(F("Triangles (filled) ")); yield(); Serial.println(testFilledTriangles()); yield(); Serial.print(F("Rounded rects (outline) ")); yield(); Serial.println(testRoundRects()); yield(); Serial.print(F("Rounded rects (filled) ")); yield(); Serial.println(testFilledRoundRects()); yield(); Serial.println(F("Done!")); yield(); } void loop(void) { for (uint8_t rotation = 0; rotation < 4; rotation++) { tft.setRotation(rotation); testText(); delay(2000); } } unsigned long testFillScreen() { unsigned long start = micros(); tft.fillScreen(TFT_BLACK); tft.fillScreen(TFT_RED); tft.fillScreen(TFT_GREEN); tft.fillScreen(TFT_BLUE); tft.fillScreen(TFT_BLACK); return micros() - start; } unsigned long testText() { tft.fillScreen(TFT_BLACK); unsigned long start = micros(); tft.setCursor(0, 0); tft.setTextColor(TFT_WHITE); tft.setTextSize(1); tft.println("Hello World!"); tft.setTextColor(TFT_YELLOW); tft.setTextSize(2); tft.println(1234.56); tft.setTextColor(TFT_RED); tft.setTextSize(3); tft.println(0xDEADBEEF, HEX); tft.println(); tft.setTextColor(TFT_GREEN); tft.setTextSize(5); tft.println("Groop"); tft.setTextSize(2); tft.println("I implore thee,"); //tft.setTextColor(TFT_GREEN,TFT_BLACK); tft.setTextSize(1); tft.println("my foonting turlingdromes."); tft.println("And hooptiously drangle me"); tft.println("with crinkly bindlewurdles,"); tft.println("Or I will rend thee"); tft.println("in the gobberwarts"); tft.println("with my blurglecruncheon,"); tft.println("see if I don't!"); return micros() - start; } unsigned long testLines(uint16_t color) { unsigned long start, t; int x1, y1, x2, y2, w = tft.width(), h = tft.height(); tft.fillScreen(TFT_BLACK); x1 = y1 = 0; y2 = h - 1; start = micros(); for (x2 = 0; x2 < w; x2 += 6) tft.drawLine(x1, y1, x2, y2, color); x2 = w - 1; for (y2 = 0; y2 < h; y2 += 6) tft.drawLine(x1, y1, x2, y2, color); t = micros() - start; // fillScreen doesn't count against timing tft.fillScreen(TFT_BLACK); x1 = w - 1; y1 = 0; y2 = h - 1; start = micros(); for (x2 = 0; x2 < w; x2 += 6) tft.drawLine(x1, y1, x2, y2, color); x2 = 0; for (y2 = 0; y2 < h; y2 += 6) tft.drawLine(x1, y1, x2, y2, color); t += micros() - start; tft.fillScreen(TFT_BLACK); x1 = 0; y1 = h - 1; y2 = 0; start = micros(); for (x2 = 0; x2 < w; x2 += 6) tft.drawLine(x1, y1, x2, y2, color); x2 = w - 1; for (y2 = 0; y2 < h; y2 += 6) tft.drawLine(x1, y1, x2, y2, color); t += micros() - start; tft.fillScreen(TFT_BLACK); x1 = w - 1; y1 = h - 1; y2 = 0; start = micros(); for (x2 = 0; x2 < w; x2 += 6) tft.drawLine(x1, y1, x2, y2, color); x2 = 0; for (y2 = 0; y2 < h; y2 += 6) tft.drawLine(x1, y1, x2, y2, color); return micros() - start; } unsigned long testFastLines(uint16_t color1, uint16_t color2) { unsigned long start; int x, y, w = tft.width(), h = tft.height(); tft.fillScreen(TFT_BLACK); start = micros(); for (y = 0; y < h; y += 5) tft.drawFastHLine(0, y, w, color1); for (x = 0; x < w; x += 5) tft.drawFastVLine(x, 0, h, color2); return micros() - start; } unsigned long testRects(uint16_t color) { unsigned long start; int n, i, i2, cx = tft.width() / 2, cy = tft.height() / 2; tft.fillScreen(TFT_BLACK); n = min(tft.width(), tft.height()); start = micros(); for (i = 2; i < n; i += 6) { i2 = i / 2; tft.drawRect(cx - i2, cy - i2, i, i, color); } return micros() - start; } unsigned long testFilledRects(uint16_t color1, uint16_t color2) { unsigned long start, t = 0; int n, i, i2, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(TFT_BLACK); n = min(tft.width(), tft.height()); for (i = n - 1; i > 0; i -= 6) { i2 = i / 2; start = micros(); tft.fillRect(cx - i2, cy - i2, i, i, color1); t += micros() - start; // Outlines are not included in timing results tft.drawRect(cx - i2, cy - i2, i, i, color2); } return t; } unsigned long testFilledCircles(uint8_t radius, uint16_t color) { unsigned long start; int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2; tft.fillScreen(TFT_BLACK); start = micros(); for (x = radius; x < w; x += r2) { for (y = radius; y < h; y += r2) { tft.fillCircle(x, y, radius, color); } } return micros() - start; } unsigned long testCircles(uint8_t radius, uint16_t color) { unsigned long start; int x, y, r2 = radius * 2, w = tft.width() + radius, h = tft.height() + radius; // Screen is not cleared for this one -- this is // intentional and does not affect the reported time. start = micros(); for (x = 0; x < w; x += r2) { for (y = 0; y < h; y += r2) { tft.drawCircle(x, y, radius, color); } } return micros() - start; } unsigned long testTriangles() { unsigned long start; int n, i, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(TFT_BLACK); n = min(cx, cy); start = micros(); for (i = 0; i < n; i += 5) { tft.drawTriangle( cx , cy - i, // peak cx - i, cy + i, // bottom left cx + i, cy + i, // bottom right tft.color565(0, 0, i)); } return micros() - start; } unsigned long testFilledTriangles() { unsigned long start, t = 0; int i, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(TFT_BLACK); start = micros(); for (i = min(cx, cy); i > 10; i -= 5) { start = micros(); tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i, tft.color565(0, i, i)); t += micros() - start; tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i, tft.color565(i, i, 0)); } return t; } unsigned long testRoundRects() { unsigned long start; int w, i, i2, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(TFT_BLACK); w = min(tft.width(), tft.height()); start = micros(); for (i = 0; i < w; i += 6) { i2 = i / 2; tft.drawRoundRect(cx - i2, cy - i2, i, i, i / 8, tft.color565(i, 0, 0)); } return micros() - start; } unsigned long testFilledRoundRects() { unsigned long start; int i, i2, cx = tft.width() / 2 - 1, cy = tft.height() / 2 - 1; tft.fillScreen(TFT_BLACK); start = micros(); for (i = min(tft.width(), tft.height()); i > 20; i -= 6) { i2 = i / 2; tft.fillRoundRect(cx - i2, cy - i2, i, i, i / 8, tft.color565(0, i, 0)); } return micros() - start; }
Hình ảnh sản phẩm
Nshopvn.com · 03/12/2024 4:11 PM
Màn hình LCD TFT 3.2 inch ILI9341 giao tiếp SPI giá chỉ 260.000₫