stm32项目实战(1)光敏电阻的介绍和使用

简介: stm32项目实战(1)光敏电阻的介绍和使用

前言

本篇文章我们讲带大家了解光敏电阻的使用

一、光敏电阻介绍

下面是4线光敏电阻实物图

产品接线说明:

1、VCC 接电源正极 3.3-5V

2、GND 接电源负极

3、DO TTL 开关信号输出 (配置为输出模式)

4、AO 模拟信号输出(ADC采样通道)

光敏电阻主要用于检测周围的光照强度,光照强度发生变化那么ADC采样的值也会发送变化。

二、cubeMX配置

简单的配置我们就不多说了主要是ADC采样的配置

这里我采用的是ADC1通道4所以光敏电阻的A0就应该接在对应的ADC通道上。

顺便配置一下D0为输出模式用于简单检测光照强度。

三、代码说明

//IO口定义
#define D0_SET() HAL_GPIO_WritePin(D0_GPIO_Port, D0_Pin, GPIO_PIN_SET)
#define D0_RESET() HAL_GPIO_WritePin(D0_GPIO_Port, D0_Pin,GPIO_PIN_RESET)
//ADC采样数值
typedef struct
{
  u32 adc_vol;//ADC测量的值
  float vol;//实际电压值
}RESIST;
HAL_ADC_Start_IT(&hadc1);//中断方式开启ADC
//ADC回调函数
void  HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
     resist_data.adc_vol=HAL_ADC_GetValue(hadc);//获取ADC转换结果
     resist_data.vol=resist_data.adc_vol*5/4095;//转换为电压值
}
//测试函数当电压大于2.5时D0输出低电平光敏电阻上的LED指示灯被点亮
void Resist_Test(void)
{
  if(resist_data.vol>2.5)
  {
    D0_RESET();
  }
  else
  {
    D0_SET();
  }
}
while(1)
{
  Resist_Test();
}

总结

光敏电阻的使用其实就是ADC采样的使用,大家如果不熟悉ADC采样的话可以看我前面的文章:ADC采样

相关文章
|
传感器 数据采集 物联网
基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计2
基于STM32的光敏传感器数据采集系统-嵌入式系统与设计课程设计
1589 0
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
1386 2
|
传感器
DIY_实现光敏电阻传感器简单控制LED
DIY_实现光敏电阻传感器简单控制LED
3108 2
|
传感器 编解码 IDE
STM32CubeMX ADC采集光照和电压
STM32CubeMX ADC采集光照和电压
1460 3
|
移动开发 前端开发 JavaScript
大气实用的HTML5/CSS3个人中心页面(含源码)
大气实用的HTML5/CSS3个人中心页面(含源码)
|
开发者 图形学 C#
深度解密:Unity游戏开发中的动画艺术——Mecanim状态机如何让游戏角色栩栩如生:从基础设置到高级状态切换的全面指南,助你打造流畅自然的游戏动画体验
【8月更文挑战第31天】Unity动画系统是游戏开发的关键部分,尤其适用于复杂角色动画。本文通过具体案例讲解Mecanim动画状态机的使用方法及原理。我们创建一个游戏角色并设计行走、奔跑和攻击动画,详细介绍动画状态机设置及脚本控制。首先导入动画资源并添加Animator组件,然后创建Animator Controller并设置状态间的转换条件。通过编写C#脚本(如PlayerMovement)控制动画状态切换,实现基于玩家输入的动画过渡。此方法不仅适用于游戏角色,还可用于任何需动态动画响应的对象,增强游戏的真实感与互动性。
564 0
|
消息中间件 算法 调度
轻松掌握“裸机”任务调度——使用环形缓冲区、状态机和定时器打造完美方案!
轻松掌握“裸机”任务调度——使用环形缓冲区、状态机和定时器打造完美方案!
使用STM32CubeMX实现按下按键,电平反转
使用STM32CubeMX实现按下按键,电平反转
620 0
使用STM32CubeMX实现按下按键,电平反转
|
传感器 网络架构 智能硬件
STM32通过esp8266连接WiFi接入MQTT服务器
STM32通过esp8266连接WiFi接入MQTT服务器
1873 1
|
域名解析 网络协议 Linux
内网穿透工具—FRP
内网穿透工具—FRP
内网穿透工具—FRP