光敏传感器模块(YH-LDR)

目录

1.  YH-LDR模块说明

1.1  简介

1.2  YH-LDR 模块的引脚说明

1.3  LDR 传感器工作原理与输出特性

2. 使用单片机系统控制 YH-LDR 模块

2.1 通用控制说明


1.  YH-LDR模块说明

1.1  简介

        YH-LDR 是野火设计的光强传感器,使用一个光敏电阻作为采集源,使用 LM393 作为电压比较器,可以通过调节模块的滑变来采集不同强度的光强。不需要使用 ADC,模块输出的就是一个数字量的信号,操作简单。其外观见图 1-1。

图 1-1 YH-LDR 光敏传感器模块

1.2  YH-LDR 模块的引脚说明

表格 1-1 YH-LDR 模块引脚说明

编号名称说明
1VCC电源正(5V)
2GND地线
3OD信号输出

1.3  LDR 传感器工作原理与输出特性

        模块通过光敏电阻将光强转换成电压信号,输入到 LM 393 的一个电压比较通道,然后 LM393 在输出比较结果,可以通过滑变调节比较的电压。有强时 DO 输出低电平,光弱时 DO 输出高电平。电源接 3V3 时高电平时 1.4V,此时 STM32 把此电平识别为低电平,电源接 5V 时,DO 输出的是 2.6V,此时 STM32 可以识别出是高电平,所以在测试时电源是需要接 5V 的。

        LDR传感器,即光敏电阻传感器,是一种检测光线强度的传感器。它具有以下工作原理和输出特性:

        工作原理:LDR传感器基于半导体材料的光敏效应,即在光照下,半导体的电阻会随之发生变化。当光强度增强时,LDR的电阻值降低;当光强度减弱时,LDR的电阻值增加。

        输出特性:LDR传感器的输出特性取决于所使用的半导体材料和工作条件。通常情况下,LDR传感器的输出电压随着光强度的变化而发生变化,输出特性呈现非线性关系。此外,LDR传感器的输出信号也会受到温度、湿度等环境因素的影响,需要进行校准。

        总的来说,LDR传感器是一种简单、实用的光敏传感器,被广泛应用于光照度检测、亮度控制等领域。

2. 使用单片机系统控制 YH-LDR 模块

2.1 通用控制说明

        YH-LDR 输出为模拟量电压输出。本小节以野火 STM32 开发板为例子说明如何使用STM32 与 YH-LDR 模块 ADC 电压采集的电路连接。

        单片机系统通过 ADC 通道引脚与 YH-LDR 模块连接,与模块连接时,只要通过模块引出的排针连接好如下四根线即可,2 个实验都可以通过串口调试助手显示当前的空气灰尘浓度值,见表格 2-1。

表格 2-1 单片机与 YH-LDR 模块连接引脚表

单片机系统YH-LDR模块
5VVCC
GNDGND
IODO

YH-LDR 模块是一种光敏电阻模块,它可以检测光线的强度并输出相应的电压信号。使用单片机系统可以对 YH-LDR 模块进行控制和读取光线的强度值。

下面是 YH-LDR 模块的通用控制流程:

  1. 连接硬件:将 YH-LDR 模块连接到单片机的 ADC 输入引脚上,连接电源和地线。

  2. 初始化 ADC:初始化 ADC,设置 ADC 输入引脚和参考电压等参数。

  3. 读取模块输出:使用 ADC 转换器读取 YH-LDR 模块的输出电压值,并将其转换为相应的光线强度值。

  4. 处理数据:根据需要,对光线强度值进行处理,如转换为百分比或比较大小等。

  5. 控制输出:根据光线强度值,控制相应的输出设备,如 LED 灯或继电器等。

  6. 循环控制:在一个循环中不断重复上述步骤,以持续监测和控制 YH-LDR 模块。

        总之,使用单片机系统控制 YH-LDR 模块的基本思路是读取模块输出并根据光线强度控制相应的设备。具体实现需要根据具体应用场景进行调整。

代码案例:

引脚配置:

//STM32上的LED1 GPIO为PB5#define LED1_GPIO_PORT    GPIOB			            
#define LED1_GPIO_CLK 	    RCC_APB2Periph_GPIOB	
#define LED1_GPIO_PIN		GPIO_Pin_5#define ON  0
#define OFF 1/* 宏定义实现LED灯的设置*/
#define LED1(a)	if (a)	\GPIO_SetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);\else		\GPIO_ResetBits(LED1_GPIO_PORT,LED1_GPIO_PIN)void LED_GPIO_Config(void)
{		GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( LED1_GPIO_CLK, ENABLE);GPIO_InitStructure.GPIO_Pin = LED1_GPIO_PIN;	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);
}

时钟配置:

#define    LDR_GPIO_CLK       RCC_APB2Periph_GPIOC
#define    LDR_GPIO_PORT    GPIOC		   
#define    LDR_GPIO_PIN		  GPIO_Pin_13void LDR_GPIO_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(LDR_GPIO_CLK,ENABLE);GPIO_InitStructure.GPIO_Pin = LDR_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; GPIO_Init(LDR_GPIO_PORT, &GPIO_InitStructure);
}//检测功能
uint8_t LDR_Test(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{			if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == 1 )  //读取DO数据,如果高,则LDR设置OFF,否则设置ONreturn LDR_OFF;  elsereturn LDR_ON;   
}

主函数配置:

int main(void)
{	LED_GPIO_Config();//LED配置LED2_OFF;//LED灯初始化熄灭LDR_GPIO_Config();//光敏配置while(1){	   if (LDR_Test(LDR_GPIO_PORT,LDR_GPIO_PIN) == LDR_ON)LED2_ON;  elseLED2_OFF; }
}

USB 转串口芯片 CH340_时光の尘的博客-CSDN博客

DHT11 数字湿温度传感器的原理和应用范例-CSDN博客

ET2046·低电压 I/O 触摸屏控制电路(SSOP16、QFN16)-CSDN博客

时光の尘_千题千解·Java面试宝典,Linux学习,嵌入式学习-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/148067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】多线程的学习笔记(3)——白话文版(bushi

目录 前一篇内容(mutex锁) 前言 Condition Variable的简介 Condition Variable的使用方法 wait方法 wait for函数与wait until函数 notify函数 notify_one notify_all 注意 前一篇内容(mutex锁) 【C】多线程的学习笔记&…

pythongui实时闹钟

# codinggbk import tkinter as tk from time import strftime# 创建一个主窗口 root tk.Tk() root.title("实时闹钟")# 设置窗口的大小不可变 root.resizable(False, False)# 设置窗口始终保持在最上层 root.attributes(-topmost, True)# 更新时间的函数 def time(…

java游戏制作-拼图游戏

一.制作主界面 首先创建一个Java项目命名为puzzlegame。 再在src中创建一个包,用来制作主界面 代码: 结果: 二.设置界面 代码: 三.初始化界面 代码: 优 化代码: 结果: 四.添加图片 先在Java项…

mysql查询json字符串内容

参考文章:mysql json 基础查询_mysql json查询-CSDN博客 mysql查询json字符串内容 (多层数组嵌套) select id,nameJSON_EXTRACT(JSON_UNQUOTE(JSON_EXTRACT(JSON_UNQUOTE(config_json), $.baseInfo)), $.template_list[*].sms_content) s…

03 前后端数据交互【小白入门SpringBoot + Vue3】

项目笔记,教学视频来源于B站青戈 https://www.bilibili.com/video/BV1H14y1S7YV 前两个笔记。是把前端页面大致做出来,接下来,把后端项目搞一下。 后端项目,使用IDEA软件、jdk1.8、springboot2.x 。基本上用的是稳定版。 还有My…

【C++】chono库:使用及源码分析

文章目录 0. 概述1. duration1.1 分析std::chrono::duration_cast() 1.2 使用案例std::chrono::duration::count() 1.3 部分源码 2. time_point2.1 分析std::chrono::time_point_cast() 2.2 使用举例std::chrono::time_point::time_since_epoch() 2.3 部分源码 0. 概述 本篇文…

python使用selenium webDriver时 报错

可能原因和解决: 1. python 解释器 ----> 设置 2. 浏览器版本 与 浏览器驱动版本不一致 ----> 安装同一版本的 (下载chromedriver | 谷歌驱动更高版本的测试版) 参考:Python使用Selenium WebDriver的入门介绍及安装教程-CSDN博客 Selenium安…

设计模式-行为型模式-策略模式

一、什么是策略模式 策略模式是一种行为设计模式,它允许在运行时选择算法或行为,并将其封装成独立的对象,使得这些算法或行为可以相互替换,而不影响使用它们的客户端。(ChatGPT生成) 主要组成部分&#xff…

基于django的在线教育系统

基于python的在线教育系统 摘要 基于Django的在线教育系统是一种利用Django框架开发的现代化教育平台。该系统旨在提供高效、灵活、易用的在线学习体验,满足学生、教师和管理员的需求。系统包括学生管理、课程管理、教师管理、视频课程、在线测验等核心功能。系统采…

在线 sha1 加密

ttmd5 http://www.ttmd5.com/hash.php?type5 qqxiuzi https://www.qqxiuzi.cn/bianma/sha-1.htm jb51 http://tools.jb51.net/password/sha_encode

23111707[含文档+PPT+源码等]计算机毕业设计基于javawebmysql的旅游网址前后台-全新项目

文章目录 **软件开发环境及开发工具:****功能介绍:****论文截图:****实现:****代码:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及开发工具: 前端使用技术&a…

mock测试数据

1.下载一个jar 架包 地址:链接:https://pan.baidu.com/s/1G5rVF5LlIYpyU-_KHsGjOA?pwdab12 提取码:ab12 2.配置当前电脑java环境变量 3.在同一文件目录下创建json 数据4.在终端切换到当前目录下启动服务, java -jar ./moco-r…

使用百度翻译API或腾讯翻译API做一个小翻译工具

前言 书到用时方恨少,只能临时抱佛脚。英文pdf看不懂,压根看不懂。正好有百度翻译API和腾讯翻译API,就利用两个API自己写一个简单的翻译工具,充分利用资源,用的也放心。 前期准备 关键肯定是两大厂的翻译API&#x…

IDEA 集成 Docker 插件一键部署 SpringBoot 应用

目录 前言IDEA 安装 Docker 插件配置 Docker 远程服务器编写 DockerFileSpringBoot 部署配置SpringBoot 项目部署结语 前言 随着容器化技术的崛起,Docker成为了现代软件开发的关键工具。在Java开发中,Spring Boot是一款备受青睐的框架,然而&…

kubenetes-服务发现和负载均衡

一、服务发布 kubenetes把服务发布至集群内部或者外部,服务的三种不同类型: ClusterlPNodePortLoadBalancer ClusterIP是发布至集群内部的一个虚拟IP,通过负载均衡技术转发到不同的pod中。 NodePort解决的是集群外部访问的问题,用户可能不…

debian 修改镜像源为阿里云【详细步骤】

文章目录 修改步骤第 1 步:安装 vim 软件第 2 步:备份源第 3 步:修改为阿里云镜像参考👉 背景:在 Docker 中安装了 jenkins 容器。查看系统,发现是 debian 11(bullseye)。 👉 目标:修改 debian bullseye 的镜像为阿里云镜像,加速软件安装。 修改步骤 第 1 步:…

限制Domain Admin登录非域控服务器和用户计算机

限制Domain Admin管理员使用敏感管理员帐户(域或林中管理员组、域管理员组和企业管理员组中的成员帐户)登录到信任度较低的服务器和用户端计算机。 此限制可防止管理员通过登录到信任度较低的计算机来无意中增加凭据被盗的风险。 建议采用的策略 建议使用以下策略限制对信任度…

SPASS-偏相关分析

基本概念 偏相关分析的任务就是在研究两个变量之间的线性相关关系时控制可能对其产生影响的变量,这种相关系数称为偏相关系数。偏相关系数的数值和简单相关系数的数值常常是不同的,在计算简单相关系数时,所有其他自变量不予考虑。 统计原理 控制一个变量和控制两个变量的偏…

Python winreg将cmd/PowerShell(管理员)添加到右键菜单

效果 1. 脚本 用管理员权限运行,重复执行会起到覆盖效果(根据sub_key)。 icon自己设置。text可以自定义。sub_key可以改但不推荐(避免改成和系统已有项冲突的)。command不要改。 from winreg import *registry r&q…

ubuntu20.04安装cv2

查看ubuntu的版本 cat /etc/lsb-release DISTRIB_IDUbuntu DISTRIB_RELEASE20.04 DISTRIB_CODENAMEfocal DISTRIB_DESCRIPTION"Ubuntu 20.04.3 LTS"更改镜像源 cp /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.listdeb http://mirr…