下载所需要的东西
1.在Arduino内安装esp32和TFT_eSPI库
在这里插入图片描述
在这里插入图片描述
填入

https://dl.espressif.com/dl/package_esp32_index.json

如果出现下载失败的情况可以把下载失败的包手动下载然后放到

C:\Users\用户名\AppData\Local\Arduino15\staging\packages

这个路径下面,然后继续安装即可完成esp32的安装

在这里插入图片描述
TFT_eSPI的安装比较简单

然后是DeepSeek给的连接和测试方法

接线方案

TFT屏幕              ESP32               SD卡模块
-----------------------------------------------
GND    →→→→→→ GND    ←←←←←← GND
VDD    →→→→→→ 3.3V    ←←←←←← VCC
SCL    →→→→→→ GPIO18  ←←←←←← SCK
SDA    →→→→→→ GPIO23  ←←←←←← MOSI
RST    →→→→→→ GPIO22
DC     →→→→→→ GPIO4
CS     →→→→→→ GPIO5
BLK    →→→→→→ 3.3V/PWM
               GPIO15  ←←←←←← CS
               GPIO19  ←←←←←← MISO

测试代码

#include <TFT_eSPI.h>

TFT_eSPI tft = TFT_eSPI();

#define SCREEN_WIDTH 160
#define SCREEN_HEIGHT 128
#define BALL_RADIUS 5
#define BALL_COLOR TFT_WHITE
#define BG_COLOR TFT_BLUE

int ballX = SCREEN_WIDTH/2;
int ballY = SCREEN_HEIGHT/2;
int ballSpeedX = 1;
int ballSpeedY = 1;
int prevX, prevY;

void setup() {
  tft.init();
  tft.setRotation(1); // 根据屏幕实际方向调整(0-3)
  tft.fillScreen(BG_COLOR);
  prevX = ballX;
  prevY = ballY;
}

void loop() {
  // 清除旧位置
  tft.fillCircle(prevX, prevY, BALL_RADIUS, BG_COLOR);

  // 更新位置
  prevX = ballX;
  prevY = ballY;
  ballX += ballSpeedX;
  ballY += ballSpeedY;

  // 边界碰撞检测
  if (ballX <= BALL_RADIUS || ballX >= SCREEN_WIDTH - BALL_RADIUS) {
    ballSpeedX = -ballSpeedX;
    ballX = constrain(ballX, BALL_RADIUS, SCREEN_WIDTH - BALL_RADIUS);
  }
  if (ballY <= BALL_RADIUS || ballY >= SCREEN_HEIGHT - BALL_RADIUS) {
    ballSpeedY = -ballSpeedY;
    ballY = constrain(ballY, BALL_RADIUS, SCREEN_HEIGHT - BALL_RADIUS);
  }

  // 绘制新位置
  tft.fillCircle(ballX, ballY, BALL_RADIUS, BALL_COLOR);
  
  delay(10); // 调整速度
}

然后是修改TFT_eSPI的User_Setup.h文件
这一步非常重要
这个文件在

C:\Users\用户名\Documents\Arduino\libraries\TFT_eSPI

这个路径下面

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

TFT_MISO不用一定要注释掉(很重要)

修改这一部分内容,即可完成屏幕的显示

最后,结果展示
在这里插入图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐