IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32CubeMX | | 使用小熊派玩转颜色识别传感器(纯手工打造E53传感器模块) -> 正文阅读

[嵌入式]STM32CubeMX | | 使用小熊派玩转颜色识别传感器(纯手工打造E53传感器模块)

关注、星标嵌入式云IOT技术圈,精彩及时送达

我买来做颜色识别传感器的模块是TCS34725,如下图所示(相关资料和本文demo请滑到文末通过clone我的码云仓库链接获取):我买的是如上图所示的方形版本。

1、颜色识别传感器TCS34725概述

本模块是基于 AMS 的 TCS3472XFN 彩色光数字转换器为核心的颜色传感器,传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出。集成红外阻挡滤光片可最大限度地减少入射光的红外光谱成分,并可精确地进行颜色测量。具有高灵敏度,宽动态范围和红外阻隔滤波器。最小化 IR 和 UV 光谱分量效应,以产生准确的颜色测量。并且带有环境光强检测和可屏蔽中断。通过 I2C 接口通信。(摘自说明手册)

颜色传感器的应用:颜色分类分拣系统、多颜色喷头的3D打印机、医疗方面等。

2、原理图与通信接口

通信协议是基于I2C,I2C时序如下:

写时序:

读时序:

I2C的设备地址是0x29。

I2C相关的文章可以参考:

如何看懂时序图(以SPI/I2C为例)

浅谈总线通信机制(通信基础+串口+I2C)

详述I2C总线协议、时序,入门不再是难事

3、颜色传感器E53小板纯手工打造

4、STM32CubeMX配置

由于我手焊的这块E53直接用的就是I2C1接口,所以就在以往带LCD的工程上再配置一路I2C即可:

以往文章有关小熊派的SPI OLED的demo参考:

让传感器数据更直观之LCD曲线显示

自己动手撸个简单的LCD驱动框架吧!

基于小熊派光强传感器BH1750状态机驱动项目升级(带LCD屏显示)

接下来直接生成工程即可。

5、移植例程

官方已经为我们提供了STM32的例程代码,所以我们直接移植过来然后修改成我们想要的效果就行了,白嫖毫无费功夫:

当然,如果你觉得调的参数有问题,可以修改下面这个函数,将积分时间进行修改:

int?begin(void)?
{
??/*?Make?sure?we're?actually?connected?*/
??uint8_t?x?=?read8(TCS34725_ID);
?if(x?!=?0x4D?)
??return?false?;
??_tcs34725Initialised?=?true;
??/*?Set?default?integration?time?and?gain?*/
?/*积分时间,增益值控制*/
??setIntegrationTime(TCS34725_INTEGRATIONTIME_2_4MS);
?//RGB值过大,光强超出检查范围,减小增益(TCS34725_GAIN_16X)
??setGain(TCS34725_GAIN_1X);
??/*?Note:?by?default,?the?device?is?in?power?down?mode?on?bootup?*/
??enable();
??return?true;
}

所有的宏定义位于tcs34725.h中,这些宏定义具体的作用是什么,请详细阅读该模块的数据手册:

6、实验效果

经过测试结果,我个人感觉这个传感器的识别效果误差还是挺大的,可能会受环境、距离等因素影响,不过,用来简单做些DIY问题不大。

7、项目开源地址

本节代码已同步到码云的代码仓库中,获取方法如下:

码云仓库:

https://gitee.com/morixinguan/bear-pi/tree/master/25.TCS34725_Color_Sensor

获取项目方法:

git?clone?https://gitee.com/morixinguan/bear-pi.git

我还将之前做的一些项目以及练习例程在近期内全部上传完毕,与大家一起分享交流,如果有任何问题或者对该项目感兴趣,欢迎加我微信:morixinguan一起交流学习。

往期精彩

都说软件架构要分层、分模块,具体应该怎么做(二)

开源:智能宠物弹射喂食器连载贴之步进电机控制(二)

U盘容量大小造假技术手段实现之8M变4G(以STM32 SPI_FLASH为例)

手把手教你在STM32上实现OLED视频播放(很简单也很硬很肝!)

一些值得被定义为常用C语言头文件库的漂亮宏定义(值得收藏,以备使用参考)

觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-27 16:23:50  更:2021-07-27 16:26:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:40:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码