“TCS34725 Color Sensor”的版本间的差异
(创建页面,内容为“<div class="tabber"> <!--<div class="tabbertab" title="说明"></div>--> <div class="tabbertab" title="资料"> {{外围模块|colorscheme=blue |img=File:TCS34725-…”) |
Yousimaier17(讨论 | 贡献) (→软件) |
||
(未显示1个用户的5个中间版本) | |||
第1行: | 第1行: | ||
<div class="tabber"> | <div class="tabber"> | ||
− | |||
− | |||
{{外围模块|colorscheme=blue | {{外围模块|colorscheme=blue | ||
− | |img=[[File:TCS34725-Color-Sensor-intro.jpg|360px |alt=TCS34725 Color Sensor |link= | + | |img=[[File:TCS34725-Color-Sensor-intro.jpg|360px |alt=TCS34725 Color Sensor |link=https://{{SERVERNAME}}/shop/TCS34725-Color-Sensor.htm]] |
|category1=传感器 | |category1=传感器 | ||
|category2=光传感器 | |category2=光传感器 | ||
第10行: | 第8行: | ||
| interface1 =I2C | | interface1 =I2C | ||
}} | }} | ||
+ | <div class="tabbertab" title="说明"> | ||
+ | ==产品概述== | ||
+ | 本模块是ams AG 的 TCS34725FN彩色光数字转换器为核心的颜色传感器,传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出。集成红外阻挡滤光片可最大限度地减少入射光的红外光谱成分,并可精确地进行颜色测量。具有高灵敏度,宽动态范围和红外阻隔滤波器。最小化IR和UV光谱分量效应,以产生准确的颜色测量。并且带有环境光强检测和可屏蔽中断。通过I2C接口通信。 <br /> | ||
+ | ==产品参数== | ||
+ | *工作电压:3.3V/5V | ||
+ | *控制芯片:TCS34725FN | ||
+ | *逻辑电压:3.3V/5V | ||
+ | *通信接口:I2C | ||
+ | *产品尺寸:27X20(mm) | ||
+ | ==接口说明== | ||
+ | {|border=2; style="width:700px;" | ||
+ | |-style="background:#abc; color:black;" align="center" | ||
+ | |功能引脚||描述 | ||
+ | |-align="center" | ||
+ | |VCC||3.3V/5V电源正 | ||
+ | |-align="center" | ||
+ | |GND||电源地 | ||
+ | |-align="center" | ||
+ | |SDA||I2C数据输入 | ||
+ | |-align="center" | ||
+ | |SCL||I2C时钟输入 | ||
+ | |-align="center" | ||
+ | |INT||中断输出(开漏输出) | ||
+ | |-align="center" | ||
+ | |LED||发光二极管 | ||
+ | |} | ||
+ | ==硬件说明== | ||
+ | ===芯片=== | ||
+ | 本产品采用TCS34725为核心,是一款基于IIC总线通信的彩色光数字转换器。传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出,带有集成红外阻隔滤波器。具有高灵敏度,宽动态范围。可在不同的光照条件下都可以实现准确的色彩和环境光线感应,带有可屏蔽中断。<br /> | ||
+ | ===通信协议=== | ||
+ | 从上的得知使用的是I2C通信,I2C 通信,一条数据线,一条时钟线。 I2C 总线在传送数据过程中共有三种类型信号:开始信号、结束信号和应答信号。<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (1).png|800px]]<br /> | ||
+ | 开始信号:SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。<br /> | ||
+ | 结束信号:SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据。<br /> | ||
+ | 应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。<br /> | ||
+ | ===='''I2C写时序'''==== | ||
+ | [[File:TCS34725-Color-Sensor- (2).png|800px]]<br /> | ||
+ | 首先主机(即树莓派,后面统称为主机)会发送一个开始信号,然后将其 I2C 的 7 位地址与写操作位组合成 8 位的数据发送给从机(即 TSL2581 传感器模块,后面统称为从机),从机接收到后会响应一个应答信号,主机此时将命令寄存器地址发送给从机,从机接收到发送响应信号,此时主机发送命令寄存的值,从机回应一个响应信号,直到主机发送一个停止信号,此次 I2C 写数据操作结束。<br /> | ||
+ | ===='''I2C读时序'''==== | ||
+ | [[File:TCS34725-Color-Sensor- (3).png|800px]]<br /> | ||
+ | 首先主机会发送一个开始信号,然后将其 I2C 的 7 位地址与写操作位组合成 8 位的数据发送给从机,从机接收到后会响应一个应答信号,主机此时将命令寄存器地址发送给从机,从机接收到发送响应信号,此时主机重新发送一个开始信号,并且将其 7 位地址和读操作位组合成 8 位的数据发送给从机,从机接收到信号后发送响应信号,再将其寄存器中的值发送给主机,主机端给予响应信号,直到主机端发送停止信号,此次通信结束。 | ||
+ | ===='''I2C地址'''==== | ||
+ | TCS34725的I2C设备地址为0X29<br /> | ||
+ | {|class=imgtable | ||
+ | |[[File:TCS34725-Color-Sensor- (4).png|800px]]<br /> | ||
+ | TCS34725数据手册第34页<br /> | ||
+ | |} | ||
+ | 注意:0X29这个设备地址是7位的,8位设备地址需要向高位移一位变成0X52<br /> | ||
+ | ==使用说明== | ||
+ | ===下载例程=== | ||
+ | 在官网上找到对应产品,在产品资料打开下载路径,在wiki中下载示例程序:<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (5).png|800px]]<br /> | ||
+ | 得到解压包并解压,得到如下文件:<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (6).png|800px]]<br /> | ||
+ | 例程:树莓派 BCM2835、WiringPi、python例程、STM32例程、Arduino例程。<br /> | ||
+ | ===树莓派使用=== | ||
+ | [[File:TCS34725-Color-Sensor- (7).png|800px]]<br /> | ||
+ | 将解压文件中RaspberryPi文件夹复制到boot根目录下<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (8).png|800px]]<br /> | ||
+ | 然后弹出U盘,将SD卡插入树莓派中,插上USB上电,查看/boot目录的文件:<br /> | ||
+ | ls /boot | ||
+ | [[File:TCS34725-Color-Sensor- (9).png|800px]]<br /> | ||
+ | 执行如下命令将其复制到用户目录下,并修改其用户权限:<br /> | ||
+ | sudo cp -r /boot/RaspberryPi/ ./ | ||
+ | [[File:TCS34725-Color-Sensor- (10).png|800px]]<br /> | ||
+ | sudo chmod 777 -R RaspberryPi/ | ||
+ | 进入目录,查看文件:<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (11).png|800px]]<br /> | ||
+ | ===='''安装库函数'''==== | ||
+ | 运行程序前需要安装对应的函数库(wiringpi, bcm2835, python),否则程序无法正常使用。<br /> | ||
+ | *安装BCM2835库:<br /> | ||
+ | http://www.airspayce.com/mikem/bcm2835/<br /> | ||
+ | 进入BCM2835的官网下载并把安装包复制到树莓派上,运行如下:<br /> | ||
+ | sudo tar zxvf bcm2835-1.xx.tar.gz | ||
+ | cd bcm2835-1.xx | ||
+ | sudo ./configure | ||
+ | make | ||
+ | sudo make check | ||
+ | sudo make install | ||
+ | 其中xx代表的是下载的版本号,例如我下载的bcm2835-1.52<br /> | ||
+ | 那么就应该执行:sudo tar zxvf bcm2835-1.52.tar.gz<br /> | ||
+ | *安装wiringPi库:<br /> | ||
+ | sudo apt-get install git | ||
+ | sudo git clone git://git.drogon.net/wiringPi | ||
+ | cd wiringPi | ||
+ | sudo ./build | ||
+ | *安装python库 | ||
+ | sudo apt-get install python-pip | ||
+ | sudo pip install RPi.GPIO | ||
+ | sudo pip install spidev | ||
+ | sudo apt-get install python-imaging | ||
+ | sudo apt-get install python-smbus | ||
+ | *打开树莓派I2C接口 | ||
+ | sudo raspi-config | ||
+ | [[File:TCS34725-Color-Sensor- (12).png|800px]]<br /> | ||
+ | <br /> | ||
+ | [[File:TCS34725-Color-Sensor- (13).png|800px]]<br /> | ||
+ | 打开I2C功能后重启树莓派 sudo reboot<br /> | ||
+ | 运行 i2cdetect -y 1<br /> | ||
+ | <font color=red>最后面的是数字1不是字母l</font>,运行后可以看到当前已经正确连接的I2C设备。<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (14).png|800px]]<br /> | ||
+ | ===='''硬件连接'''==== | ||
+ | [[File:TCS34725-Color-Sensor- (15).png|800px]]<br /> | ||
+ | 具体连接如下表所示:<br /> | ||
+ | {|border=2; style="width:700px;" | ||
+ | |-style="background:#afa; color:black;" align="center" | ||
+ | |TCS34725 Color Sensor ||树莓派 | ||
+ | |-align="center" | ||
+ | |VCC||style="width:350px"|3.3V | ||
+ | |- align="center" | ||
+ | |GND||GND | ||
+ | |- align="center" | ||
+ | |SDA||SDA | ||
+ | |- align="center" | ||
+ | |SCL||SCL | ||
+ | |- align="center" | ||
+ | |INT||17 | ||
+ | |- align="center" | ||
+ | |LED||18 | ||
+ | |} | ||
+ | ===='''运行程序'''==== | ||
+ | *BCM2835例程 | ||
+ | cd bcm2835 | ||
+ | sudo ./main | ||
+ | *wiringPi例程 | ||
+ | cd wiringpi | ||
+ | sudo ./main | ||
+ | *python例程 | ||
+ | cd python | ||
+ | sudo python main.py | ||
+ | 注:BCM2835、wiringpi程序运行如果提示找不到文件,执行make即可<br /> | ||
+ | ===='''预期效果'''==== | ||
+ | 执行BCM2835、wiringpi或者python程序得到的效果类似,下面是python测试红色运行结果:<br /> | ||
+ | 其中R、G、B是RGB888格式以十进制分开输出,C是没有做任何处理的环境光强数值,RGB565、RGB888分别是对应格式的十六进制输出,LUX是已经处理过的环境光强数字,CT是色温。(http://www.360doc.com/content/17/0629/07/44859260_667365022.shtml),用户如果想测量色温偏差小,建议关闭LED灯。INT是中断,1标识光强超过设定值。<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (16).png|800px]]<br /> | ||
+ | <br /> | ||
+ | 将数值转换成颜色,可以通过下面连接的工具实现:<br /> | ||
+ | https://www.sioe.cn/yingyong/yanse-rgb-16/ <br /> | ||
+ | 或者直接下载:https://{{SERVERNAME}}/w/upload/0/05/Hexacolor3.7z <br /> | ||
+ | [[File:TCS34725-Color-Sensor- (17).png|400px]][[File:TCS34725-Color-Sensor- (18).png|00px]]<br /> | ||
+ | |||
+ | ===STM32=== | ||
+ | 下载例程解压,使用Keil uVision5打开。例程使用的是HAL库。测试使用的开发板为微雪XNUCLEO-F103RB,芯片为STM32F103RBT6。例程使用串口2(PA2,PA3)输出数据。串口波特率为115200,其他默认:数据位8位,停止位1位,没有校验。 | ||
+ | ===='''硬件连接'''==== | ||
+ | 连接如下表所示<br /> | ||
+ | {|border=2; style="width:700px;" | ||
+ | |-style="background:#aaf; color:black;" align="center" | ||
+ | |TCS34725 Color Sensor||style="width:350px"|STM32 | ||
+ | |-align="center" | ||
+ | |VCC||3.3V | ||
+ | |- align="center" | ||
+ | |GND||GND | ||
+ | |- align="center" | ||
+ | |SDA||SDA/D14/PB9 | ||
+ | |- align="center" | ||
+ | |SCL||SCL/D15/PB8 | ||
+ | |- align="center" | ||
+ | |INT||D8/PA9 | ||
+ | |- align="center" | ||
+ | |LED||PWM1/D9/PC7 | ||
+ | |} | ||
+ | ===='''预期效果'''==== | ||
+ | 下图为测试红色输出数据<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (19).png|800px]]<br /> | ||
+ | 将数值转换成颜色,可以通过下面连接的工具实现:<br /> | ||
+ | https://www.sioe.cn/yingyong/yanse-rgb-16/ <br /> | ||
+ | 或者直接下载:https://{{SERVERNAME}}/w/upload/0/05/Hexacolor3.7z <br /> | ||
+ | [[File:TCS34725-Color-Sensor- (17).png|400px]][[File:TCS34725-Color-Sensor- (18).png|400px]]<br /> | ||
+ | ==Arduino== | ||
+ | 下载例程解压,测试使用的是ARDUION UNO开发板,波特率为115200<br /> | ||
+ | ===='''硬件连接'''==== | ||
+ | {|border=2; style="width:700px;" | ||
+ | |-style="background:#fea; color:black;" align="center" | ||
+ | |TCS34725 Color Sensor||Arduino | ||
+ | |-align="center" | ||
+ | |VCC||3.3V/5V | ||
+ | |-align="center" | ||
+ | |GND||GND | ||
+ | |-align="center" | ||
+ | |SDA||SDA | ||
+ | |-align="center" | ||
+ | |SCL||SCL | ||
+ | |-align="center" | ||
+ | |INT||D8 | ||
+ | |-align="center" | ||
+ | |LED||D9 | ||
+ | |} | ||
+ | ===='''预期效果'''==== | ||
+ | 下图为测试红色输出数据<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (20).png|800px]]<br /> | ||
+ | <br /> | ||
+ | 将数值转换成颜色,可以通过下面连接的工具实现:<br /> | ||
+ | https://www.sioe.cn/yingyong/yanse-rgb-16/ <br /> | ||
+ | 或者直接下载:https://{{SERVERNAME}}/w/upload/0/05/Hexacolor3.7z<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (17).png|400px]][[File:TCS34725-Color-Sensor- (18).png|400px]]<br /> | ||
+ | </div> | ||
+ | <div class="tabbertab" title="资料"> | ||
===文档=== | ===文档=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/3/3c/TCS34725_Color_Sensro_user_manual_cn.pdf 用户手册] <br> |
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/5/5c/TCS34725_Color_Sensor_SchDoc.pdf 原理图]<br> |
− | |||
===程序=== | ===程序=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/a/a1/TCS34725_Color_Sensor_code.7z 示例程序]<br> |
+ | ===软件=== | ||
+ | *[[:File:串口调试助手.zip|串口调试助手]] | ||
− | |||
− | |||
===数据手册=== | ===数据手册=== | ||
− | *[ | + | *[https://{{SERVERNAME}}/w/upload/e/e4/TCS3472_Datasheet.pdf TCS3472] |
− | + | 转到:[[#软件]],[[#程序]],[[#文档]] | |
− | |||
− | |||
<!--{{Join_us}}--> | <!--{{Join_us}}--> | ||
</div> | </div> | ||
+ | == FAQ == | ||
<div class="tabbertab" title="FAQ"><br /> | <div class="tabbertab" title="FAQ"><br /> | ||
+ | {{FAQ |例程输出数据全部为0或者初始化失败?如图:<br /> | ||
+ | [[File:questuion3.png|900px]] | | ||
+ | 请检查管脚连接是否正确。|||}} | ||
+ | {{FAQ|树莓派例程初始化失败?| | ||
+ | 对于BCM2835和wiringPi例程出现这样的提示<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (21).png|400px]]<br /> | ||
+ | Python例程<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (22).png|400px]]<br /> | ||
+ | 如果出现以上问题这是设备数据I2C数据传输错误。大多数是硬件连接错误,请检查硬件连接是否正确,检查硬件连接是否有问题,运行i2cdetect -y 1 如果有显示IIC地址就表示硬件连接无问题。<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (23).png|400px]]<br /> | ||
+ | 如果硬件连接正确那么是不正确的使用树莓派控制可能会导致(详情看下面),重启树莓派即可。<br /> |||}} | ||
+ | {{FAQ|不正确的使用树莓派控制可能会导致?| | ||
+ | 如果运行wiringPi例程正常,再运行python或者BCM2835可能会屏幕无法正常刷新,因为bcm2835库是树莓派cpu芯片的库函数,底层是直接操作寄存器,而wiringPi库和python的底层都是通过读写linux系统的设备文件操作设备,可能导致GPIO口异常,重启树莓派可完美解决。|||}} | ||
+ | {{FAQ|STM32和Arduino例程串口输出没有数据或者数据输出乱码?| | ||
+ | 确认波特率是否设置为115200,对于STM32例程请确认电脑正确连接开发板USART2(PA2,PA3),PA2为TXD,并且选择正确的COM端口。控制面板->硬件->设备管理器。 | ||
+ | [[File:TCS34725-Color-Sensor- (24).png|400px]] | ||
+ | |||}} | ||
+ | {{FAQ|STM32和Arduino例程串口输出RGB数据全部为0或者初始化失败?如图 | ||
+ | [[File:TCS34725-Color-Sensor- (25).png|400px]][[File:TCS34725-Color-Sensor- (26).png|400px]]| | ||
+ | 请确认器件连接没有问题,如果没问题请按下复位按键。|||}} | ||
+ | |||
+ | {{FAQ|输出的RGB数据全为253并且中断引脚产生中断等等如图<br /> | ||
+ | [[File:TCS34725-Color-Sensor- (27).png|600px]]| | ||
+ | 这种情况是光强超出检查范围,减小增益可以完美解决(在初始里面修改,或者在初始化后面重新写入一个增益设置TCS34725_Set_Gain(TCS34725_GAIN_16X)) | ||
+ | |||}} | ||
+ | {{FAQ|修改积分时间后导致颜色不正常?| | ||
+ | 因为积分时间决定了RGBC通道数据最大值,修改积分时间会导致颜色偏暗或者偏白。只需要增加或减少LED亮度即可。 | ||
+ | |||}} | ||
+ | {{FAQ|修改积分时间无法触发中断或者一直重复中断?| | ||
+ | 中断是和Clear通道里面的数据进行比较,Clear通道里面的数据和积分时间有关系,经过实际测量在增益为60倍情况下 | ||
+ | [[File:TCS34725-Color-Sensor- (28).png|600px]]<br /> | ||
+ | 所以用户如果需要速度比较快的采集数据时,要注意重新设置中断数值。另外在积分时间为2.4ms时RGB数据比较低所以转换出来的颜色与实际颜色有偏差,需要加大LED灯亮度即可。 | ||
+ | |||}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
</div> | </div> | ||
<div class="tabbertab" title="售后"><br />{{Service11}}</div> | <div class="tabbertab" title="售后"><br />{{Service11}}</div> |
2023年6月21日 (三) 17:14的最新版本
| ||||||||||||||||||||
| ||||||||||||||||||||
|
目录
产品概述
本模块是ams AG 的 TCS34725FN彩色光数字转换器为核心的颜色传感器,传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出。集成红外阻挡滤光片可最大限度地减少入射光的红外光谱成分,并可精确地进行颜色测量。具有高灵敏度,宽动态范围和红外阻隔滤波器。最小化IR和UV光谱分量效应,以产生准确的颜色测量。并且带有环境光强检测和可屏蔽中断。通过I2C接口通信。
产品参数
- 工作电压:3.3V/5V
- 控制芯片:TCS34725FN
- 逻辑电压:3.3V/5V
- 通信接口:I2C
- 产品尺寸:27X20(mm)
接口说明
功能引脚 | 描述 |
VCC | 3.3V/5V电源正 |
GND | 电源地 |
SDA | I2C数据输入 |
SCL | I2C时钟输入 |
INT | 中断输出(开漏输出) |
LED | 发光二极管 |
硬件说明
芯片
本产品采用TCS34725为核心,是一款基于IIC总线通信的彩色光数字转换器。传感器提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出,带有集成红外阻隔滤波器。具有高灵敏度,宽动态范围。可在不同的光照条件下都可以实现准确的色彩和环境光线感应,带有可屏蔽中断。
通信协议
从上的得知使用的是I2C通信,I2C 通信,一条数据线,一条时钟线。 I2C 总线在传送数据过程中共有三种类型信号:开始信号、结束信号和应答信号。
开始信号:SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。
结束信号:SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收到数据。
I2C写时序
首先主机(即树莓派,后面统称为主机)会发送一个开始信号,然后将其 I2C 的 7 位地址与写操作位组合成 8 位的数据发送给从机(即 TSL2581 传感器模块,后面统称为从机),从机接收到后会响应一个应答信号,主机此时将命令寄存器地址发送给从机,从机接收到发送响应信号,此时主机发送命令寄存的值,从机回应一个响应信号,直到主机发送一个停止信号,此次 I2C 写数据操作结束。
I2C读时序
首先主机会发送一个开始信号,然后将其 I2C 的 7 位地址与写操作位组合成 8 位的数据发送给从机,从机接收到后会响应一个应答信号,主机此时将命令寄存器地址发送给从机,从机接收到发送响应信号,此时主机重新发送一个开始信号,并且将其 7 位地址和读操作位组合成 8 位的数据发送给从机,从机接收到信号后发送响应信号,再将其寄存器中的值发送给主机,主机端给予响应信号,直到主机端发送停止信号,此次通信结束。
I2C地址
TCS34725的I2C设备地址为0X29
![]() TCS34725数据手册第34页 |
注意:0X29这个设备地址是7位的,8位设备地址需要向高位移一位变成0X52
使用说明
下载例程
在官网上找到对应产品,在产品资料打开下载路径,在wiki中下载示例程序:
得到解压包并解压,得到如下文件:
例程:树莓派 BCM2835、WiringPi、python例程、STM32例程、Arduino例程。
树莓派使用
将解压文件中RaspberryPi文件夹复制到boot根目录下
然后弹出U盘,将SD卡插入树莓派中,插上USB上电,查看/boot目录的文件:
ls /boot
sudo cp -r /boot/RaspberryPi/ ./
sudo chmod 777 -R RaspberryPi/
安装库函数
运行程序前需要安装对应的函数库(wiringpi, bcm2835, python),否则程序无法正常使用。
- 安装BCM2835库:
http://www.airspayce.com/mikem/bcm2835/
进入BCM2835的官网下载并把安装包复制到树莓派上,运行如下:
sudo tar zxvf bcm2835-1.xx.tar.gz cd bcm2835-1.xx sudo ./configure make sudo make check sudo make install
其中xx代表的是下载的版本号,例如我下载的bcm2835-1.52
那么就应该执行:sudo tar zxvf bcm2835-1.52.tar.gz
- 安装wiringPi库:
sudo apt-get install git sudo git clone git://git.drogon.net/wiringPi cd wiringPi sudo ./build
- 安装python库
sudo apt-get install python-pip sudo pip install RPi.GPIO sudo pip install spidev sudo apt-get install python-imaging sudo apt-get install python-smbus
- 打开树莓派I2C接口
sudo raspi-config
打开I2C功能后重启树莓派 sudo reboot
运行 i2cdetect -y 1
最后面的是数字1不是字母l,运行后可以看到当前已经正确连接的I2C设备。
硬件连接
TCS34725 Color Sensor | 树莓派 |
VCC | 3.3V |
GND | GND |
SDA | SDA |
SCL | SCL |
INT | 17 |
LED | 18 |
运行程序
- BCM2835例程
cd bcm2835 sudo ./main
- wiringPi例程
cd wiringpi sudo ./main
- python例程
cd python sudo python main.py
注:BCM2835、wiringpi程序运行如果提示找不到文件,执行make即可
预期效果
执行BCM2835、wiringpi或者python程序得到的效果类似,下面是python测试红色运行结果:
其中R、G、B是RGB888格式以十进制分开输出,C是没有做任何处理的环境光强数值,RGB565、RGB888分别是对应格式的十六进制输出,LUX是已经处理过的环境光强数字,CT是色温。(http://www.360doc.com/content/17/0629/07/44859260_667365022.shtml),用户如果想测量色温偏差小,建议关闭LED灯。INT是中断,1标识光强超过设定值。
将数值转换成颜色,可以通过下面连接的工具实现:
https://www.sioe.cn/yingyong/yanse-rgb-16/
或者直接下载:https://wiki.diustou.com/w/upload/0/05/Hexacolor3.7z
STM32
下载例程解压,使用Keil uVision5打开。例程使用的是HAL库。测试使用的开发板为微雪XNUCLEO-F103RB,芯片为STM32F103RBT6。例程使用串口2(PA2,PA3)输出数据。串口波特率为115200,其他默认:数据位8位,停止位1位,没有校验。
硬件连接
连接如下表所示
TCS34725 Color Sensor | STM32 |
VCC | 3.3V |
GND | GND |
SDA | SDA/D14/PB9 |
SCL | SCL/D15/PB8 |
INT | D8/PA9 |
LED | PWM1/D9/PC7 |
预期效果
下图为测试红色输出数据
将数值转换成颜色,可以通过下面连接的工具实现:
https://www.sioe.cn/yingyong/yanse-rgb-16/
或者直接下载:https://wiki.diustou.com/w/upload/0/05/Hexacolor3.7z
Arduino
下载例程解压,测试使用的是ARDUION UNO开发板,波特率为115200
硬件连接
TCS34725 Color Sensor | Arduino |
VCC | 3.3V/5V |
GND | GND |
SDA | SDA |
SCL | SCL |
INT | D8 |
LED | D9 |
预期效果
下图为测试红色输出数据
将数值转换成颜色,可以通过下面连接的工具实现:
https://www.sioe.cn/yingyong/yanse-rgb-16/
或者直接下载:https://wiki.diustou.com/w/upload/0/05/Hexacolor3.7z
FAQ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|