STM32与4脚光敏电阻的简单使用——初学

       这是我第一次写CSDN,排版可能有许多问题,描述的可能也有不清楚的地方,有问题的小伙伴可以私聊我,一起学习共同进步。

       今天发现了一个很有意思的传感器——光敏传感器,它可以判断光线的亮暗,当然亮暗是个相对的说法,它可以自己设定阈值,今天来聊聊他最简单的使用。

 

  它具有四个引脚,VCC可以连接STM32板的3.3V或者5.0V电压接口。GND可以连接STM32单片机的GND。DO口是开关输出,可以输出1和0,代表高低电平。AO口是模拟量输出,可以利用STM32的ADC来读取他的电压,从而得出需要的数据。

  今天只是简单的认识和使用光敏电阻模块,所以只使用DO接口,AO接口可以不用连接,过几天我会发布AO接口的使用方法。

  按照接线VCC连接单片机3.3V,GND连接单片机的GND,DO接口连接单片机的PA6接口。接法如图(考虑有很多刚入门的兄弟,所以尽量的简单和详细):

连线就是这么简单,光敏电阻自带LED灯,连接好线时,当光线暗的时候,背面只会亮一个灯,当光线足够亮时,背面的两个灯都会亮起来。通过对光线亮暗的控制可以控制DO输出高低电平。可以通过库函数GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6);来读取此时DO输出的状态。为了更好的展示实验结果,当光线暗时,LED0不亮灯,光线足够时LED0亮。

实现通过光线亮暗来控制LED0亮灭的代码为:

 u8 value;
value=GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6); 
if(value == 0)
	GPIO_ResetBits(GPIOA,GPIO_Pin_8);    //¹âÏß°µµÆÃð
			
else
	GPIO_SetBits(GPIOA,GPIO_Pin_8);      //¹âÏßÁÁµÆÁÁ

初始化PA6为输入状态:

#ifndef __RED_H
#define __RED_H	 
#include "sys.h"


#define PA6 PAout(6)	

void RED_Init(void);

 				    
#endif
#include "red.h"

void RED_Init()
{
 
 GPIO_InitTypeDef  GPIO_InitStructure;
 	
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);	 	
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;				 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 		 
 GPIO_Init(GPIOA, &GPIO_InitStructure);					 
 GPIO_ResetBits(GPIOA,GPIO_Pin_6);
}
 

还要记得调用正点原子自带的led.h文件里的led_Init()函数,不然LED0是不会亮的,它里面包含了PA8引脚的初始化,单片机内部默认PA8是控制LED0的。

已经写的非常的简单易懂了,还有什么问题的私聊我。

  • 43
    点赞
  • 167
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论
光敏电阻是一种用于检测周围光照强度的传感器。根据引用\[1\]中的描述,光敏电阻具有四个引。其中,VCC可以连接STM32板的3.3V或者5.0V电压接口,GND可以连接STM32单片机的GND。DO口是开关输出,可以输出1和0,代表高低电平。AO口是模拟量输出,可以利用STM32的ADC来读取其电压值,从而得出需要的数据。根据引用\[2\]中的代码示例,可以通过配置STM32的ADC通道和相应的IO口,实现对光敏电阻的采样和控制。光敏电阻使用非常广泛,可以应用于各种需要检测光照强度的场景,比如无线充电小车、灯光控制等。 #### 引用[.reference_title] - *1* [STM32与4光敏电阻简单使用——初学](https://blog.csdn.net/weixin_46199479/article/details/117268049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [stm32项目实战(1)光敏电阻的介绍和使用](https://blog.csdn.net/m0_49476241/article/details/122893599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32f1之光敏电阻传感器实验](https://blog.csdn.net/weixin_45930808/article/details/119514155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西邮小菜机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值