Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
uniE76C
uniE76B
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI

Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI

315.000₫

Mã sản phẩm: 24IV

Sản phẩm hiện đang còn hàng.

uniF2E4 Xem chi nhánh còn hàng

– Kích thước: 3.5 inch
– Điện áp hoạt động: 3.3V / 5V
– Loại: TFT cảm ứng
– Độ phân giải: 480×320
– IC điều khiển: ILI9488
– Hỗ trợ hiển thị 16BIT RGB với 65K màu
– Giao diện hiển thị: SPI 4 dây
– Tích hợp khe cắm thẻ SD
– Cảm ứng: Cảm ứng điện trở (kèm bút cảm ứng)
– Khu vực hiển thị hiệu quả: 48.96×73.44 mm
– Khối lượng: 57g

DỊCH VỤ & KHUYẾN MÃI LIÊN QUAN
  • Cộng thêm 31 điểm tích lũy
  • TP.HCM: Miễn phí vận chuyển [ tối đa 15.000 (đ) ]
    Tỉnh thành khác: Miễn phí vận chuyển [ tối đa 15.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 cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI sử dụng driver ILI9488, hỗ trợ giao tiếp SPI, là giải pháp hiển thị hoàn hảo cho các dự án cần tương tác trực tiếp thông qua cảm ứng. Với độ phân giải cao và khả năng hiển thị lên đến 16 triệu màu, màn hình mang lại hình ảnh sống động, sắc nét, phù hợp để hiển thị giao diện người dùng, biểu đồ hoặc đồ họa phức tạp.

Tích hợp cảm ứng điện trở hoặc điện dung (tùy phiên bản), màn hình cho phép người dùng thao tác trực tiếp một cách mượt mà. Giao tiếp SPI giúp giảm số lượng chân kết nối, dễ dàng tích hợp với các vi điều khiển như Arduino, ESP32, STM32 hoặc Raspberry Pi. Với kích thước 3.5 inch, sản phẩm này là lựa chọn lý tưởng cho các dự án IoT, thiết bị điều khiển thông minh, hoặc bảng điều khiển 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.5 inch
  • Điện áp hoạt động: 3.3V / 5V
  • Loại: TFT cảm ứng
  • Độ phân giải: 480×320
  • IC điều khiển: ILI9488
  • Hỗ trợ hiển thị 16BIT RGB với 65K màu
  • Giao diện hiển thị: SPI 4 dây
  • Tích hợp khe cắm thẻ SD
  • Cảm ứng: Cảm ứng điện trở (kèm bút cảm ứng)
  • Khu vực hiển thị hiệu quả: 48.96×73.44 mm
  • Khối lượng: 57g

Kích thước sản phẩm

Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI

Hướng dẫn sử dụng Màn hình cảm ứng TFT

  • Hướng dẫn chỉnh sửa thư viện:
    • Link: https://docs.google.com/document/d/1VWTAwyzbFpyawzhRycpwbv3U0FSWS0ZRVSKn5KJndSg/edit?tab=t.0
  • Sơ đồ đấu nối
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Sơ đồ đấu nối
  • Code test tham khảo:
/*
  Bàn phím số trên màn hình cảm ứng 480x320 với các khung nhỏ gọn hơn
*/

#include "FS.h"
#include <SPI.h>
#include <TFT_eSPI.h>

TFT_eSPI tft = TFT_eSPI();

// Đường dẫn lưu dữ liệu hiệu chỉnh cảm ứng
#define CALIBRATION_FILE "/TouchCalData2"
#define REPEAT_CAL false

// Tọa độ và kích thước bàn phím
#define KEY_X 60  // Tọa độ X bắt đầu
#define KEY_Y 50  // Tọa độ Y bắt đầu
#define KEY_W 70  // Chiều rộng nút
#define KEY_H 40  // Chiều cao nút
#define KEY_SPACING_X 15 // Khoảng cách ngang giữa các nút
#define KEY_SPACING_Y 15 // Khoảng cách dọc giữa các nút
#define KEY_TEXTSIZE 1   // Cỡ chữ trên nút

// Font chữ
#define LABEL1_FONT &FreeSansOblique9pt7b
#define LABEL2_FONT &FreeSansBold9pt7b

// Vùng hiển thị số (chỉnh DISP_X để khung nằm bên phải)
#define DISP_X 280  // 480 - DISP_W - 20
#define DISP_Y 10
#define DISP_W 180
#define DISP_H 60
#define DISP_TSIZE 2
#define DISP_TCOLOR TFT_CYAN


// Vị trí hiển thị trạng thái
#define STATUS_X 370
#define STATUS_Y 80

// Bộ đệm số nhập vào
#define NUM_LEN 12
char numberBuffer[NUM_LEN + 1] = "";
uint8_t numberIndex = 0;

// Tạo nhãn cho các nút bấm
char keyLabel[15][5] = {"New", "Del", "Send", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "0", "#"};
uint16_t keyColor[15] = {TFT_RED, TFT_ORANGE, TFT_DARKGREEN,
                         TFT_BLUE, TFT_BLUE, TFT_BLUE,
                         TFT_BLUE, TFT_BLUE, TFT_BLUE,
                         TFT_BLUE, TFT_BLUE, TFT_BLUE,
                         TFT_BLUE, TFT_BLUE, TFT_BLUE};

// Tạo các nút bấm
TFT_eSPI_Button key[15];

// Khởi tạo chương trình
void setup() {
  Serial.begin(9600);
  tft.init();

  // Xoay màn hình ngang
  tft.setRotation(1);

  // Hiệu chỉnh cảm ứng
  touch_calibrate();

  // Vẽ giao diện
  tft.fillScreen(TFT_BLACK);
  tft.fillRect(0, 0, 480, 320, TFT_DARKGREY);
  tft.fillRect(DISP_X, DISP_Y, DISP_W, DISP_H, TFT_BLACK);
  tft.drawRect(DISP_X, DISP_Y, DISP_W, DISP_H, TFT_WHITE);
  drawKeypad();
}

void loop() {
  uint16_t t_x = 0, t_y = 0;
  bool pressed = tft.getTouch(&t_x, &t_y);

  for (uint8_t b = 0; b < 15; b++) {
    if (pressed && key[b].contains(t_x, t_y)) {
      key[b].press(true);
    } else {
      key[b].press(false);
    }
  }

  for (uint8_t b = 0; b < 15; b++) {
    if (b < 3) tft.setFreeFont(LABEL1_FONT);
    else tft.setFreeFont(LABEL2_FONT);

    if (key[b].justReleased()) key[b].drawButton();
    if (key[b].justPressed()) {
      key[b].drawButton(true);
      if (b >= 3) {
        if (numberIndex < NUM_LEN) {
          numberBuffer[numberIndex] = keyLabel[b][0];
          numberIndex++;
          numberBuffer[numberIndex] = 0;
        }
        status(""); 
      }
      if (b == 1) { // Xóa ký tự
        if (numberIndex > 0) numberBuffer[--numberIndex] = 0;
        status("");
      }
      if (b == 2) { // Gửi số qua Serial
        status("Sent to Serial");
        Serial.println(numberBuffer);
      }
      if (b == 0) { // Xóa toàn bộ
        status("Cleared");
        numberIndex = 0;
        numberBuffer[numberIndex] = 0;
      }

// Hiển thị số

tft.setTextDatum(TL_DATUM);  // Canh trái chữ số
tft.setFreeFont(&FreeSans18pt7b);  // Dùng font chữ lớn
tft.setTextColor(DISP_TCOLOR);

// Tính toán chiều rộng của chuỗi số
int strWidth = tft.textWidth(numberBuffer);

// Giới hạn số ký tự hiển thị nếu chuỗi dài hơn chiều rộng khung
if (strWidth > DISP_W) {
  // Tính toán số ký tự có thể hiển thị trong khung
  int maxChars = DISP_W / (tft.textWidth("0") + 1);  // Tính số ký tự có thể hiển thị
  numberBuffer[maxChars] = '\0';  // Cắt chuỗi theo số ký tự có thể hiển thị
}

// Vẽ số tại vị trí đã tính toán
int xPos = DISP_X + 4;  // Vị trí X của chữ (canh trái)
int yPos = DISP_Y + 10;  // Điều chỉnh vị trí Y (giảm giá trị để đưa chữ lên)

int xwidth = tft.drawString(numberBuffer, xPos, yPos);

// Xóa phần dư nếu chuỗi số không đủ dài để lấp đầy khung
if (xwidth < DISP_W) {
  tft.fillRect(DISP_X + 4 + xwidth, DISP_Y + 1, DISP_W - xwidth - 5, DISP_H - 2, TFT_BLACK);
}
    }
  }
}

// Vẽ bàn phím
void drawKeypad() {
  for (uint8_t row = 0; row < 5; row++) {
    for (uint8_t col = 0; col < 3; col++) {
      uint8_t b = col + row * 3;
      if (b < 3) tft.setFreeFont(LABEL1_FONT);
      else tft.setFreeFont(LABEL2_FONT);

      key[b].initButton(&tft, KEY_X + col * (KEY_W + KEY_SPACING_X),
                        KEY_Y + row * (KEY_H + KEY_SPACING_Y),
                        KEY_W, KEY_H, TFT_WHITE, keyColor[b], TFT_WHITE,
                        keyLabel[b], KEY_TEXTSIZE);
      key[b].drawButton();
    }
  }
}

// Hiệu chỉnh cảm ứng
void touch_calibrate() {
  uint16_t calData[5];
  uint8_t calDataOK = 0;

  if (!SPIFFS.begin()) {
    SPIFFS.format();
    SPIFFS.begin();
  }

  if (SPIFFS.exists(CALIBRATION_FILE)) {
    if (!REPEAT_CAL) {
      File f = SPIFFS.open(CALIBRATION_FILE, "r");
      if (f && f.readBytes((char *)calData, 14) == 14) calDataOK = 1;
      f.close();
    } else {
      SPIFFS.remove(CALIBRATION_FILE);
    }
  }

  if (calDataOK && !REPEAT_CAL) {
    tft.setTouch(calData);
  } else {
    tft.fillScreen(TFT_BLACK);
    tft.setCursor(20, 0);
    tft.setTextFont(2);
    tft.setTextSize(1);
    tft.setTextColor(TFT_WHITE, TFT_BLACK);
    tft.println("Touch corners as indicated");
    tft.calibrateTouch(calData, TFT_MAGENTA, TFT_BLACK, 15);
    File f = SPIFFS.open(CALIBRATION_FILE, "w");
    if (f) {
      f.write((const unsigned char *)calData, 14);
      f.close();
    }
  }
}

// Hiển thị trạng thái
void status(const char *msg) {
  tft.setTextPadding(200);
  tft.setTextColor(TFT_YELLOW, TFT_DARKGREY);
  tft.setTextDatum(TC_DATUM);
  tft.drawString(msg, STATUS_X, STATUS_Y);
}

Hình ảnh sản phẩm Màn hình cảm ứng TFT 3.5 inch

Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI
Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI

 

 

Phản hồi khách hàng
Nshop reviewer

Nshopvn.com · 05/12/2024 10:53 AM

uniE735uniE735uniE735uniE735uniE735

Màn hình cảm ứng TFT 3.5 inch ILI9488 giao tiếp SPI giá chỉ 315.000₫

Hộ kinh doanh Linh kiện điện tử Nshop / GPĐKKD số: 41X8035261 do UBND Quận Tân Phú cấp ngày 08/05/2019

Điện tử NShop Tân Phú: 1 Bùi Xuân Phái, Tây Thạnh, Tân Phú, TP. HCM – 📞 0902 64 39 78

Điện tử NShop Quận 9: 7 Trần Hưng Đạo, Hiệp Phú, Quận 9, TP. HCM – 📞 093 27 23 186

NSHOPVN.COM © 2019 - 2021

DMCA.com Protection Status Đã thông báo bộ công thương