红外线ADC读取

来源:互联网 发布:dna存数据阅读答案 编辑:程序博客网 时间:2024/04/26 05:28

一、实验工具:硬件(STM32开发板、TCRT5000 反射型传感光电开关黑白线识别元件)以及用到的软件(STM32CubeMX、keil4)

 

二、TCRT5000 反射型传感光电开关工作原理:传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点亮。

 

TCRT5000 反射型传感光电开关元件实物图如下,如图所示左边蓝色灯下面引脚分别接5V和GND来供电发射红外线,右边黑色正极和单片机ADC接收端的引脚连接在一起(将TCRT5000测的数据通过单片机串口反映到电脑上),负极接GND.


TCRT5000 反射型传感光电开关元件应用连接电路图如下:


一、源码解析

1.      STM32CubeMX设置用到的引脚,生成keil文件。(设置ADC引脚以及串口)引脚设置如下图:



1.      定一个变量保存AD采集的值: uint16_t advalue=0;

启动ADC转换:HAL_ADC_Start(&hadc1);

  HAL_ADC_PollForConversion(&hadc1, 50);

在while循环中一直获取得到的值然后通过串口打印出来。

while (1)

  {

                   if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC))

      {

          advalue =HAL_ADC_GetValue(&hadc1);

          printf("HONGWAI AD:%.1f\r\n",(double)advalue);

      }

      HAL_Delay(1000);

  }


原创粉丝点击