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

您所在的位置:网站首页 lm393怎么接线 stm32项目实战(1)光敏电阻的介绍和使用

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

2023-12-24 16:41| 来源: 网络整理| 查看: 265

文章目录 前言一、光敏电阻介绍二、cubeMX配置三、代码说明总结

前言

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

一、光敏电阻介绍

下面是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采样



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3