外部时钟&传送带测量装置
- 1.外部时钟介绍
- 2.循迹模块
- 3.实操过程
- 1.设置
- 2.代码
- 3.效果
链接: keysking-17
1.外部时钟介绍
将GPIO的外部电平接入即可对外部信号进行计数(PS:上面的内部时钟不是所谓的“高速内部时钟”,而是APB1的定时器分支)。当然,GPIO不会直接接进来,如下图所示。
1.通道3和通道4没有接到触发控制器上,所以这里先不讨论
2.上面TI1FP1,TI2FP2和TI1_ED的区别是可选择触发方式不同
此外还有ETR这个外部触发器的接入。
如图所示,蓝色为称为外部时钟模式1,黄色为外部时钟模式2
2.循迹模块
经常被用于
这个模块又被称为红外反射光电开关。一个蓝色小灯泡发射红外光,一个黑色小灯泡接收红外光。而黑色小灯接受到的红外光强度会通过模块上的AO引脚以模拟量的形式输出出来
模块上还有一个电位器,用来调整检测阈值。
如下图所示
3.实操过程
1.设置
TIM1为高级定时器
TIM2~4为通用定时器
TIM3和TIM4没有ETR接入
这里选择TIM2
走的是这条,引脚为PA0。接线如下
将滤波器改为最大值15
绝大多数情况下,抖动的脉冲宽度都远远小于真正的脉冲信号。根据这个,滤波器可以滤去抖动信号
并且这里我们保持8HZ没变,是因为内部时钟频率太快的话,就会导致能过滤的脉宽变窄,导致滤波器难以识别
为在OLED上显示出来,打开I2C,并添加相关文件
2.代码
整体思路就是循迹模块每有一次红外(电平变化)则计数器就加一,并且显示在OLED上。
3.效果
此外,本次选择的是ETR这条通道,还有TI1_ED和TI1FP1/TI2FP2可以选择,只需在这里修改,其他不用变。(可能上升下降沿的判断会有所不同,可以查看或设置)