资讯详情

STM32+光敏模块

STM32 光敏模块

  • 器件选择
  • 介绍4线光敏传感器
    • 光敏模块原理图
    • 光敏模块实物
    • 光敏模块引脚说明
  • CubeMX配置
  • 代码主体部分
  • 结果展示

器件选择

选择硬件平台STM32F103C8T6最小系统开发板。 STM使用32代码配置工具STM32CubeMX的HAL开发库。 光敏模块选用4线光敏电阻传感器模块(光敏电阻模型5516)。 注1:数据下载使用ST-LINK下载。 注2:接收和使用串口数据USB转TTL传输,USB转TTL的TXD接STM32的PA10引脚RXD,RXD接STM32的PA9引脚TXD。

介绍4线光敏传感器

光敏模块原理图

光敏模块原理图

光敏模块实物

光敏传感器是一种利用光敏元件将光信号转换为电信号的传感器。光敏电阻装载在光敏电阻模块中。光敏电阻是由硫化镉或硒化镉等半导体材料制成的特殊电阻。光敏电阻对环境光非常敏感。光线越强,电阻值越低。随着光强的增加,电阻值迅速下降。

光敏模块引脚说明

VCC:电源引脚,接单片机 5V或者3.3V。 GND:地线,接单片机GND。 DO:当模块在无光条件下或光强达不到设定阈值时,开关量输出(0或1),DO当外部环境光强超过设定阈值时,口输出高电平;DO输出低电平。 AO:模拟输出(电压)和单片机AD模块连接,通过AD转换,获得准确的值。(后续使用。PA1引脚作为ADC因此,在这里处理单片机的转换PA1引脚)

CubeMX配置

1.首先,新项目,芯片选择STM32F103C8T双击后进入开发。 2.进入后,首先进行一些基本配置。调试引脚,配置时钟。SYS下的Debug中选择Serial Wire。 选择外部时钟 进入时钟配置: 3、ADC使用相关配置PA1脚作为ADC: 使能配置: 通过PC端串口工具返回电压值。因此,还应配置串口: 同时,中断能量配置,检查Enabled: 后续配置:

代码主体部分

1.为后续使用引入头文件sprintf做准备。

#include "stdio.h" 

2.变量预定义。

uint16_t ADC_Sample = 0,ADC_Volt = 0;//ADC_Value为采样值,ADC_Volt为电压值 uint8_t str[64];///给定数组空间存储sprintf的内容 

3.数据存储和发送。

void UR1_Send_Info() { 
          sprintf((char*)str_buff,"\r\nSampling value:%d,Voltage value:%d.%d%d",ADC_Sample,ADC_Volt/100,(ADC_Volt/10)%10,ADC_Volt%10);//使用sprintf将要发送的内容存储在数组中  HAL_UART_Transmit(&huart1,str,sizeof(str),10000);////将数组中的内容发送到串口 } 

4.数据获取。

void Get_ADC_Sample()
{ 
        
	HAL_ADC_Start(&hadc1);//打开ADC转换
	if(HAL_ADC_PollForConversion(&hadc1,10) == HAL_OK)
	{ 
        
		ADC_Sample = HAL_ADC_GetValue(&hadc1);//将得到的ADC采样值放入变量ADC_Sample中
		ADC_Volt = ADC_Sample * 330/4096;//数据转换,电压为3.3V,数据时12位,保留两位小数
	}
	UR1_Send_Info();//将上面数据进行存放,发送到上位机
	HAL_ADC_Stop(&hadc1);//停止ADC转换
}

5、在main函数的while循环中加入写入的代码

/* USER CODE BEGIN WHILE */
  while (1)
  { 
        
    Get_ADC_Sample();
	UR1_Send_Info();
	HAL_Delay(500);//使用HAL库的Delay函数延时500ms,每500ms转换一次
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

结果展示

注:博主是跟随小蜜蜂老师学习,故代码可能与小蜜蜂老师有重复,如侵权,请告知删除。 (2022年05月13日写于郑州)

标签: 12v光敏传感器光敏模块的电阻值光敏传感器连线

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台