esp32连接TFT屏幕创建二维码并在屏幕上显示

一、安装相关文件

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值