一、安装相关文件

使用到的开发板系统是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();
  }
}

更多推荐