stm32使用各种传感器的教程
VL530L0X使用激光测距
我的文件使用硬件IIC读取数据的方式可以直接配合CUBEMX使用非常方便 使用方法也很简单, 只需调用初始化文件和读取数据的文件。我喜欢通过结构体读取数据。简单明了,处理方便,调试程序清晰。
VL53L0x_init(&hi2c2); VL53L0x_ReadDistance(&hi2c2,&VL53L0x_Bottom);
TCS34725颜色传感器
这有点麻烦,因为配置是模拟IIC,想起来可能没那么稳定。STM32的IIC一般只有两个接口进行模拟IIC读取数据也是一种节约资源的方式。使用时只需初始化,然后用结构接收。
u8 TCS34725_Init(void); u8 TCS34725_GetRawData(COLOR_RGBC *rgbc); u8 TCS234725_Init(void); u8 TCS234725_GetRawData(COLOR_RGBC *rgbc); void RGBtoHSL(COLOR_RGBC *Rgb, COLOR_HSL *Hsl);
在文件里面是配置了两个颜色传感器,读取方式有RGB和HSL可自行选择两种方式,推荐使用HSL使用的方法,HSL对光线影响不大,使用时主要调节传感器与识别物之间的距离,距离对数值也有影响。 若要自行更改配置IO口,需要改变宏定义。 
使用这些文件时,文件中的文件sys.h也加进去, 有一些定义,可以添加调用头文件main.h里面
HSCR-04超声波的使用
当我使用超声波时,读取一两个超声波数据并不是什么大问题。如果读数过多,读时间增加,如果配置其他任务,就会产生影响。在大型项目开发中,不建议使用裸机开发,可以使用FreeRtos多线程操作可以减少开发时间和调试时间cubemx工具,使用也很方便,移植标准库FreeRtos操作系统可参考正点原子视频。 回到使用超声波,配置起来有点麻烦。CUBEMX里面配置 那么其他基础就不用说了,要配置TRI的IO口为输出模式,根据自己的需要配置,头文件中也有宏定义
在代码头文件中,有相应的初始化文件。
我配置了四个超声波 根据自己的需要调用。不建议使用更多的超声波。如果项目需要更多的超声波,建议使用串行控制。
作者的联系方式 QQ :488628560