本次活动使用Arduino IDE软件开发。在Arduino IDE中下载开发板文件和相关库即可成功驱动开发板。
一、软件设置
步骤1.根据操作系统下载并安装最新版本的Arduino IDE
步骤 2.启动 Arduino 应用程序
步骤 3.将 ESP32 板包添加到 Arduino IDE

导航到工具 > 开发板 > ESP32 Arduino并选择“ Adafruit Feather ESP32-S3 TFT ”。
二、LED闪烁
步骤1.将以下代码复制到Arduino IDE
int led = 13;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off
delay(1000); // wait for a second
}上传后,可看到板子上的红色LED 闪烁,每次闪烁之间有 1 秒的延迟。
二、点亮TFT屏幕
1.库函数设置
打开Arduino软件,在库管理中搜索TFT_eSPI,然后安装;在TFT_eSPI文件夹下可以找到这个User_Setup.h这个文件并修改以下内容:




2.显示内容
修改完成之后,就可以下载示例程序来显示内容了。示例 -> TFT_eSPI -> 320x240 -> 示例程序:

成功显示。
三、按键
1.代码程序
按键不需要库函数且按键连接到A0和A1上,参考原理图,对应IO18和IO17,使用串口来输出按键按下情况。
const int buttonPin1 = 18;
const int buttonPin2 = 17;
int buttonState1 = 1;
int buttonState2 = 1;
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
Serial.begin(115200);
}
void loop() {
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
if (buttonState1 == LOW) {
Serial.println(F("key1"));
} else if(buttonState2 == LOW){
Serial.println(F("key2"));
}
delay(200);
}2.结果输出

四、BH1750 数据读取
1.安装库函数
使用Wire.h和BH1750.h两个库函数,使用时需要先下载这两个库文件。
2.代码程序
#include <BH1750.h>
#include <Wire.h>
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI();
BH1750 lightMeter(0x23);
unsigned long drawTime = 0;
void setup() {
Serial.begin(115200);
tft.init();
tft.setRotation(1);
tft.fillScreen(TFT_BLACK);
tft.setTextColor(TFT_WHITE, TFT_BLACK);
Wire.begin();
if (lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE))
Serial.println(F("BH1750 Advanced begin"));
else
Serial.println(F("Error initialising BH1750"));
}
void loop() {
// tft显示
tft.fillScreen(TFT_BLACK);
tft.setTextColor(TFT_WHITE, TFT_BLACK);
// Datum is middle centre
tft.setTextDatum(MC_DATUM);
// BH1750光强测量
if (lightMeter.measurementReady()) {
float lux = lightMeter.readLightLevel();
Serial.print("Light: ");
Serial.print(lux);
Serial.println(" lx");
tft.drawFloat(lux, 2, 80, 20, 4);
delay(1000);
}
}结合tft屏幕,成功读取并显示BH1750传感器的数值。


我要赚赏金
