低功耗4G模组:tcs3472颜色传感器示例

news/2024/10/21 7:09:11

今天我们学习合宙低功耗4G模组Air780EP的LuatOS开发tcs3472示例,文末【阅读原文】获取最新资料1

一、简介

tcs3472颜色传感器能够读取照射到的物体的RGB三种数值,从而识别颜色

  • 关联文档和使用工具:

  • LuatOS 固件获取

  • tcs3472 颜色传感器接口说明

  • Luatools下载调试工具

二、材料准备

2.1 Air780EP开发板一套

 

图片

2.2 tcs3472模块一个

 

图片

三、程序介绍

3.1 API说明

tcs3472初始化

tcs3472.init(i2c_id)

参数

传入值类型 解释

number

所在的i2c总线id

返回值

返回值类型

解释

bool

成功返回true

3.2 获取RGB的数据

tcs3472.get_rgb()

参数

返回值

返回值类型 解释

table

tcs3472 rgb数据

3.3 获取lux的数据

tcs3472.get_lux()

参数

传入值类型 解释

table

rgb_data rgb数据

返回值

返回值类型 解释

number

lux数据

常量

常量 类型 解释

i2c.FAST

number

高速

i2c.SLOW

number

低速

3.4 i2c初始化

i2c.setup(id, speed, pullup)

参数

传入值类型 解释

int

设备id, 例如i2c1的id为1, i2c2的id为2

int

I2C速度, 例如i2c.FAST

bool

是否软件上拉, 默认不开启,需要硬件支持

返回值

返回值类型 解释

int

成功就返回1,否则返回0

 

四、实现示例

main.lua中程序实例

 

图片

4.1 创建一个Task协程

sys.taskInit(function() end)

4.2 初始化i2c

-- 初始化i2c1,传入id号和速度 i2c.setup(i2cid,i2c_speed) -- id正确就一定成功 -- 如需判断i2c id是否合法, 请使用 i2c.exist 函数

4.3 初始化tcs3472

tcs3472.init(i2cid)--初始化,传入i2c_id

4.4 读取rgb和lux值并打印

 

图片

 

五、效果展示

5.1下载固件和脚本

 

图片

5.2 在Luatools工具中查看效果

 

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74025.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

读数据工程之道:设计和构建健壮的数据系统15源系统实际细节(上)

源系统实际细节(上)1. 数据库 1.1. 数据库管理系统1.1.1. 用于存储和提供数据的数据库系统1.1.2. 简称DBMS,它由存储引擎、查询优化器、灾难恢复和其他管理数据库系统的关键组件组成1.1.2.1. 查询1.1.2.2. 查询优化器1.1.2.3. 扩展和分发1.1.2.4. 模型1.1.2.5. CRUD1.1.2.6.…

代码随想录算法训练营第三天 | 203. 移除链表元素、 707. 设计链表、206.反转链表

链表基础 链表分为单链表、双链表和循环链表,链表在内存中与数组不同,不是连续存储的。 C++中链表的定义方式如下: // 单链表 struct ListNode {int val; // 节点上存储的元素ListNode *next; // 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的…

MySQL时区导致无法产生表

MySQL时区导致无法产生表 解决问题加上 &serverTimezone=UTC日志信息 2024-10-21 01:56:19.719 INFO 26556 --- [ main] com.li.BackEndApplication : Starting BackEndApplication on LIJIANTPC with PID 26556 (D:\project\blogs\back-end\tar…

我在大厂做 CR——如何体系化防控空指针异常

大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控; 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中分配空间。如果一个对象没有被创建,那也就没有分配内存,当应用程序访问空对象时,实际…

U4字符串以及正则表达式

Unit4字符串以及正则表达式方法 描述capitalize() 把首字符转换为大写。casefold() 把字符串转换为小写。center() 返回居中的字符串。count() 返回指定值在字符串中出现的次数。encode() 返回字符串的编码版本。endswith() 如果字符串以指定值结尾,则返回 true。expandtabs()…

内网渗透-内网信息收集

简单内网信息收集分享。目录Windows本地基础信息收集权限查看指定用户的详细信息查看防火墙状态机器基础信息查看系统信息查看进程情况软件安装情况查看计划任务网络环境查看网络配置信息查看网络连接情况查看是否存在域扫描网段WMIC收集信息抓本地密码LaZagne抓密码mimikatz 抓…

jenkins安装提示无法启动

想必大家会遇到以下问题: jenkins安装时因错误导致需要二次或者多次安装jenkins.msi,系统会提示sevice jenkinsfailed to start ,verify that you have sufficient privileges to start system services (服务jenkins启动失败,请确认你有足够的权限来启动系统服务) 解决…

《使用Gin框架构建分布式应用》阅读笔记:p101-p107

《用Gin框架构建分布式应用》学习第7天,p101-p107总结,总计7页。 一、技术总结 1.StatusBadRequest vs StatusInternalServerError 写代码的时候有一个问题,什么时候使用 StatusBadRequest(400错误),什么时候使用 StatusInternalServerError(500错误)? 400用于客户端侧的错…