本次活动使用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传感器的数值。