模板: Color for STM32 use

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

我们提供的例程是基于STM32F103RBT6跟STM32H743的,提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接

硬件连接

STM32F103RB连接引脚对应关系
Color STM32 功能
VCC 3.3V 电源输入
GND GND 电源地
S0 NC 与 S1 端口组合选择不同的输出比例因子
S1 NC 与 S0 端口组合选择不同的输出比例因子
S2 GPIOA.5 与 S3 端口组合选择不同色光的滤波器
S3 GPIOA.4 与 S2 端口组合选择不同色光的滤波器
OUT GPIOA.0 读取 RGB 三原色对应的输出频率
LED 3.3V 控制四个 LED 灯的状态

注意:STM32H743需要将S2连接至GPIOA.3。
Color-STM32 1.jpg

软件说明

例程是基于HAL库进行开发的。 请在资料里面下载程序,找到STM32程序文件目录,打开Color-Sensor-code\STM32\STM32F103RB\MDK-ARM
目录下的Color Sensor.uvprojx,即可看到程序。
STM32 Sound 2.png

打开main.c,重新编译下载即可。
MQ5 STM32 2.jpg

下载成功后,运行SSCOM,就可以实时查看传感器的状态啦。
Color STM32 3.png

操作与现象

1、将白纸放置在传感器四个高亮白色 LED 一面(下称正面)的上方 1CM 处。
2、给开发板上电。此时 LED 端口接入高电平,四个高亮白色 LED 点亮。
3、上电之后等待 2 秒钟以上(此时正在调整白平衡)。
4、调整结束以后,把传感器正面对着待测物体,串口输出对应的 RGB 数据,
参考颜色对照表,可知探测到的颜色。

注意事项

1、颜色识别时要避免外界光线的干扰,否则会影响颜色识别的结果,最好
把 Color Sensor 和光源等放置在一个封闭、无反射的盒子中测试。
2、每次 Color Sensor 模块重启或者更换光源时,都需要进行白平衡调整。

代码简介

处理函数在main.c文件里面,在main函数下方。

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)  //中断回调