一、安装相关文件
使用到的开发板系统是esp32
使用到的库有TFT_eSPI库、qrcode_espi库、SPI库
二、创建二维码 1.首先初始化qrcode和TFT显示屏
QRcode_eSPI qrcode (&display);
TFT_eSPI display = TFT_eSPI;
display.begin();
qrcode.init();
2.设置波特率
Serial.begin();
3.创建二维码
qrcode.create(“hello world”)
4.在TFT显示屏显示出来
display.fillscreen(TFT_BLACK);
5.翻转屏幕
display.setRotation(1);
三、更新二维码
首先定义全局变量UPDATE_INTERVAL(更新时间间隔)、lastUpdateTime(上一次的更新时间)、currentTime(当前时间)
const unsigned long UPDATE_INTERVAL = 5000;
unsigned long lastUpdateTime = 0;
unsigned long currentTime = millis();
更新逻辑:自上次更新时间以来是否已经过去了至少UPDATE_INTERVAL毫秒,如果是执行代码。
if(currentTime - lastUpdateTime >= UPDATE_INTERVAL){
char message[30];
sprintf(message,"Time:%lu",millis() / 1000); //Time后跟当前时间的秒数(通过将millis()返回的毫秒除以1000得到)
qrcode.create(message);
lastUpdateTime = millis(); //更新变量为当前时间(以毫秒为单位),以便在下次检查时间间隔时使用。
#include <Arduino.h>
#include <SPI.h>
#include <TFT_eSPI.h>
#include <qrcode_espi.h>
TFT_eSPI tft = TFT_eSPI();
QRcode_eSPI qrcode (&tft);
const unsigned long UPDATE_INTERVAL = 5000;
unsigned long lastUpdateTime = 0;
void setup() {
Serial.begin(9600);
tft.begin();
qrcode.init();
tft.fillScreen(TFT_BLACK);
tft.setRotation(1);
qrcode.create("Hello world.");
lastUpdateTime = millis();
}
void loop(){
unsigned long currentTime = millis();
if(currentTime - lastUpdateTime >= UPDATE_INTERVAL){
char message[30];
sprintf(message,"Time:%lu",millis() / 1000);
qrcode.create(message);
lastUpdateTime = millis();
}
}