前面开箱贴(https://forum.eepw.com.cn/thread/389299/1)已经对各个模块进行了大致介绍,接下来就要实现OLED显示、通过继电器模块控制水泵运行及流量测量了。
1、OLED显示
项目提供的OLED是一块采用IIC通讯的0.96寸显示屏,考虑到芯片支持两路硬件IIC,所以直接使用硬件IIC2进行通讯,使用STM32CubeMX配置如下:
显示内容如下:
2、水泵运行与停止控制
水泵的运行与停止是通过继电器进行控制的,STM32F103RBT6芯片的PC3与继电器的输入控制引脚连接,所以只要控制PC3引脚的高低电平就可以控制水泵运行与停止。为了方便控制,用开发板自带的按键做启停控制,单击是切换设定流量(100ml/200ml),长按2秒则是启动或者停止。按键一端与gnd连接一端与芯片的PC13连接,开发板通过电阻上拉了,所以IO不需要配置上拉。
STM32CubeMX配置如下:
运行中
停止
3、流量测量
流量测量是通过计算流量传感器发出的脉冲数,采用外部中断方式计数,STM32CubeMX配置如下:
计算的瞬间流量和累计流量如图: