模板: TCS34725 for RPI use

来自Waveshare Wiki
跳转至: 导航搜索

开启I2C接口

  • 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 
选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

RPI open i2c.png
然后重启树莓派:

sudo reboot

安装库

如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用

BCM2835

#打开树莓派终端,并运行以下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
tar zxvf bcm2835-1.71.tar.gz 
cd bcm2835-1.71/
sudo ./configure && sudo make && sudo make check && sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/

wiringPi

#打开树莓派终端,并运行以下指令
cd
sudo apt-get install wiringpi
#对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错

#Bullseye分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行gpio -v会出现2.70版本,如果没有出现说明安装出错

lgpio

#打开树莓派终端,并运行以下指令
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
sudo make install

# 更多的可以参考官网:https://github.com/gpiozero/lg
  • 安装Python函数库
#python2
sudo apt-get update
sudo apt-get install python-pip
sudo apt-get install python-pil
sudo apt-get install python-numpy
sudo pip install RPi.GPIO
sudo pip install spidev

下载测试程序

打开树莓派终端,执行:

sudo apt-get install p7zip-full -y
sudo wget  https://www.waveshare.net/w/upload/a/a1/TCS34725_Color_Sensor_code.7z
7z x TCS34725_Color_Sensor_code.7z -O./TCS34725_Color_Sensor_code
cd TCS34725_Color_Sensor_code/RaspberryPi/

硬件连接

树莓派连接引脚对应关系
TCS34725 Raspberry Pi 功能
Board物理引脚序号
VCC 3.3V 电源输入
GND GND 电源地
SDA 3 I2C数据输入
SCL 5 I2C时钟信号
INT 11 中断输出(开漏输出)
LED 12 发光二极管

TCS34725 RPI 2.jpg

运行测试程序

以下命令请在RaspberryPi下执行,否则不在索引不到目录;

C

  • 重新编译,编译过程可能需要几秒

bcm2835

cd bcm2835
sudo make clean
sudo make 
sudo ./main

wiringPi

cd wiringPi
sudo make clean
sudo make 
sudo ./main

python

cd python
sudo python main.py

现象

在树莓派运行程序后,就会输出检测到的颜色值,目前是检测红色的值,如下图所示:

bcm2835

TCS34725 RPI Bcm 1.jpg

wiringPi

TCS34725 RPI WPI 1.jpg

python

TCS34725 RPI PY 1.jpg

其中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://www.waveshare.net/w/upload/0/05/Hexacolor3.7z
TCS34725 RPI 3.jpg