当前位置: 首页 > web >正文

【涂鸦T5】6. lvgl显示光感数值

本章主要是把之前的项目都结合起来

bh1750光感,引脚还是不变,不过由于touch用了i2c0,所以需要更改下光感的i2c为i2c1

增加宏定义配置光感的引脚

#include "tkl_i2c.h"
#include "tkl_pinmux.h"
#include "tal_cli.h"
#ifndef EXAMPLE_I2C_SCL_PIN
#define EXAMPLE_I2C_SCL_PIN TUYA_GPIO_NUM_7
#endif#ifndef EXAMPLE_I2C_SDA_PIN
#define EXAMPLE_I2C_SDA_PIN TUYA_GPIO_NUM_6
#endif#define TASK_GPIO_PRIORITY THREAD_PRIO_2
#define TASK_GPIO_SIZE     4096#define I2C_SENSOR_BH1750 0
// #define I2C_SENSOR_SHT4X 1#define I2C_EXAMPLE_SENSOR_TYPE I2C_SENSOR_BH1750// static THREAD_HANDLE sg_i2c_handle;uint16_t light = 0;
char str_light[50];void init_i2c(void)
{TUYA_IIC_BASE_CFG_T cfg;OPERATE_RET op_ret = OPRT_OK;tkl_io_pinmux_config(EXAMPLE_I2C_SCL_PIN, TUYA_IIC1_SCL);tkl_io_pinmux_config(EXAMPLE_I2C_SDA_PIN, TUYA_IIC1_SDA);/*i2c init*/cfg.role = TUYA_IIC_MODE_MASTER;cfg.speed = TUYA_IIC_BUS_SPEED_100K;cfg.addr_width = TUYA_IIC_ADDRESS_7BIT;op_ret = tkl_i2c_init(TUYA_I2C_NUM_1, &cfg);if (OPRT_OK != op_ret) {PR_ERR("i2c init fail, err<%d>!", op_ret);}}
void user_main(void)
{OPERATE_RET rt = OPRT_OK;// 1. set lvgl/*hardware register*/board_register_hardware();lv_vendor_init(DISPLAY_NAME);// lv_demo_widgets();lv_demo_01_show_pic();lv_vendor_start();// 2. init i2cOPERATE_RET op_ret = OPRT_OK;init_i2c();int a = 0;for(;;){tal_system_sleep(1000);light = 0;memset(str_light, 0, 50);op_ret = OPRT_OK;extern OPERATE_RET bh1750_read_light(int port, uint16_t *light);op_ret = bh1750_read_light(TUYA_I2C_NUM_1, &light);if (op_ret != OPRT_OK) {PR_ERR("bh1750 read fail, err<%d>!", op_ret);continue;}sprintf(str_light, "%d.%d", light / 1000, light % 1000);PR_INFO("%d bh1750 light:%s\n", a, str_light);lv_label_set_text(guider_ui.screen_label_1, str_light);a++;// lv_refr_now(lv_disp_get_default());// PR_INFO("bh1750 light:%d.%d\n", light / 1000, light % 1000);}return;
}

lvgl就直接增加一个label,可以看到读取完数据后,直接通过lv_label_set_text函数将亮度显示出来

在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/20193.html

相关文章:

  • 鸿蒙:AppStorageV2状态管理和数据共享
  • Gmail 数据泄露安全警报以及启示
  • 【Linux】线程概念与控制
  • 代码随想录刷题Day49
  • house (ai)
  • 对话Michael Truell:23岁创立Cursor,与Github Copilot竞争
  • 【C++上岸】C++常见面试题目--算法篇(第十九期)
  • 2025年8月文章一览
  • 深度学习:自定义数据集处理、数据增强与最优模型管理
  • 数据旁路(Data Bypassing)是什么?
  • 安装3DS MAX 2026后,无法运行,提示缺少.net core的解决方案
  • 2025年数学建模国赛C题第二版本超详细解题思路
  • Qwen-agent 核心功能分析学习
  • 从零开始学无监督学习:图像混合与标签平滑技术详解,收藏不走丢
  • C++开发中的常用设计模式:深入解析与应用场景
  • javaweb基础第一天总结(HTML-CSS)
  • SpringBoot中 Gzip 压缩的两种开启方式:GeoJSON 瘦身实战
  • 基于网络原理——HTTP/HTTPS的Web服务搭建与核心技术实践
  • Ubuntu 使用 Samba 共享文件夹
  • 什么是CA根证书
  • Apache PDFBox 与 spire.pdf for java 使用记录
  • 软件架构师全方位工具图谱
  • Java全栈开发面试实战:从基础到高并发的深度解析
  • 【数学建模学习笔记】机器学习回归:决策树回归
  • 无人机信号防干扰技术难点分析
  • 企业白名单实现【使用拦截器】
  • 梯度爆炸问题:深度学习中的「链式核弹」与拆弹指南
  • 嵌入式学习 51单片机(3)
  • (自用)cmd常用命令自查文档
  • 大语言模型基础-Transformer之上下文