51小项目——使用proteus搭建简易的光照度计-(1)
总述
本项目基于51单片机,实现了对光敏电阻两端电压信号的简单获取,并通过数码管显示,蜂鸣器可以根据电压信号的大小发出不同间隔的声音。
注意: 由于疫情原因限制,无法返校制作实物,故本项目仅在proteus中完成了仿真,未能完成实物制作,仿真结果可能与实物结果不符
介绍
光照度计是一种专门测量照度的仪器,通俗来讲就是测量被测物体表面的光强。
本文阐述的简易光照度计作为51的练手项目,当然不能做的像市面上的那样强大,这里只对信号进行了非常简单的处理
具体指标
- 用两位数码管显示实时光照强度,在改变传感器参数时显示电路实时同步更新。
- 同时驱动一个 1KHz 音频蜂鸣器在光照强度由弱到强变化时让蜂鸣器发出不同间隔的报警音,即光照越弱声音断续节奏越慢,光照越强音频节奏越快。
- 整机供电电压不高于 12v。
原理部分
原理框图如下
原理简述
光敏电阻阻值随光照的增强而减小,可以使用光敏电阻来捕捉光信号,并通过信号处理电路将信号发放大到合适的范围,为了得到线性的结果,可以使用恒压偏置电路,产生线性信号,为提高灵敏度可以对信号进行适当的放大。设计要求光信号可以控制数码管显示数值和蜂鸣器改变频率,对于数码管显示,可以使用ADC转换器,将模拟信号转换为数字信号,经过51单片机处理后送入数码管,对于蜂鸣器,可以采取与数码管同样的方案。
模块设计
信号拾取模块
- 由于没有实物光敏电阻选取proteus中的LDR光敏原件,使用带有数值表示的LDR原件,方便得到数值类型的结果。
- 为了得到相对线性的结果,这里使用处理光敏电阻常用的恒压偏置电路来实现对光敏电阻信号的获取。
参考:光敏电阻调理电路
信号拾取模块连线图
原理说明
稳压管D1的稳定电压为3V,保证Q2管处于放大状态,对Q2来说:
V1=VD1=VLDR=3vV_1=V_{D1}=V_{LDR}=3v V1=VD1=VLDR=3v
IC=Ie=ILDRI_C=I_e=I_{LDR} IC=Ie=ILDR
V2=V+12−IcRcV_2=V_{+12}-I_c R_c V2=V+12−IcRc
通过恒压偏置电路即可得到跟光照强度呈线性关系的电压。
C1C1C1为去耦电容,大小为1.5pF,D1为稳压管,稳压管的压降要大于Q2的导通电压但又不能过大,这里选择稳定电压为3V的1N4372A,根据数据手册1N4372A的最小导通电流为20mA,故R2R2R2的阻值应该小于等于450Ω,在测试范围1.1-10.1Lus内,LDR阻值在4K-3KΩ内变化,故RCR_CRC选取的10K以维持Q2的导通状态。
注意:
- 这里RcR_cRc 的10K并不是一个合适的值,我这里并不懂得如何调整,仅选取了一个比较常见的值
- 所使用的的三极管2SC2547是一个功放管,因为没有找到合适的管子,迫不得已使用的,实物制作可能会出问题。
信号转换模块
此模块使用常见的AD转换芯片ADC0808作为AD数据采集模块,ADC0808是一款8位8通道比较型AD转换器,易于上手,在本工程中使用IN0作为数据采集端。
信号转换模块连线图
简单说明
此处直接将ADDA、ADDB、ADDC,接地,默然选择通道IN0,不需要通过软件来调整,节省单片机的IO口资源。
使用软件来对ADC值进行采集,由于在硬件连接上ALE端和START端连接在一起,根据ADC0808数据手册描述,使能ALE为1,将地址送入地址锁存器,经地址译码器从8路通道中选择一路模拟量送到比较器,此时由于ALE与START连接在一起,START也为高电平。接下来使ALE = 0,本质是为了使START = 0,给START送入一个下降沿,adc启动转换。由于没有外置的时钟信号,故,使用单片机的P2.5口产生PWM波来驱动ADC0808工作。
AD采集软件设计
使用GetData函数接收AD数据,程序运行到此处会等待EOC变为1,当EOC变为1时,ADC转换结束,使能OE为高电平,读取数据,后将OE设为低电平。
51小项目——使用proteus搭建简易的光照度计-(1)相关推荐
- 51小项目——使用proteus搭建简易的光照度计-(2)
此篇博客承接上一篇:51小项目--使用proteus搭建简易的光照度计-(1) AD信号处理模块 主要内容为51单片机最小系统的构建 硬件 主控 复位按键 晶振电路 串口下载模块 软件 原理叙述 单片 ...
- java小项目 ATM机(简易版)
目录 说明 项目介绍 功能介绍 结构图 各模块代码 登录界面 服务选择界面 存取款界面 修改密码模块 转账模块 总代码 说明 简单做了一个java的ATM机项目.本项目只能作为一个简单的运行程序.因为 ...
- qt小项目三 代码实现简易的QQ聊天界面的对话框弹出功能
实现效果 点击成员列表中的头像,实现对应对话框弹出的功能. 打开的对话框不可以再次打开,同时弹出提示消息框. 打开一个窗口 再次打开该窗口 补充后的代码 myDialog.cpp文件中新增信号槽处理函 ...
- 矩阵键盘基于51(UcosII)计算器小项目
矩阵键盘 最近要给学弟学妹(应该没有)培训矩阵键盘,正好写一写我写矩阵键盘的思路,顺便分享一个之前做的基于ucosii的计算器小项目 原理 原理就不介绍了,CSDN有很多分享的,推荐两篇参考一下: 参 ...
- springboot-vue简单小项目搭建
springboot-vue (前端VUE部分) 简单搭建一个基于springboot+vue的小项目(前端VUE部分) 首先,将整个项目下载下来,然后在项目文件夹里面执行命令: npm instal ...
- Java web小项目_个人主页(1)—— 云环境搭建与项目部署
摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...
- pygame小项目 ~ 3 :Python完成简易飞机大战
pygame小项目 ~ 3 :Python完成简易飞机大战 子弹 敌机 我方战斗机全部采用图片 子弹击中和战斗机被击中全部采用碰撞检测 游戏的主函数代码 import spite from spite ...
- Django的搭建和小项目处理的过程(二)
Django的搭建和小项目处理的过程(二) Django的搭建和小项目处理的过程(一). 二:连接到数据库 虽然我仍然对此一知半解,但是这一步的操作的作用好像是这样做了之后才是提供了一个前端操作对数据 ...
- 原生微信小程序项目基础框架搭建
原生微信小程序项目基础框架搭建 文件目录结构 1. 环境变量(开发环境, 线上环境,测试环境)便于在不同环境的切换 接口的url webview的前缀url 埋点相关的环境参数 本地存储的环境变量配置 ...
- qt小项目 代码实现简易的QQ聊天界面
qt小项目 代码实现简易的QQ聊天界面 代码 效果图 总结 代码 myDialog.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QW ...
最新文章
- 专转本计算机组成原理,江苏专转本 计算机 第二章计算机组成原理2012冲刺班讲稿...
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- vs2010 出错:error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 他来了他来了!阿里云混合云全新升级高燃来袭!
- 极其实用的sql脚本【建议收藏】
- Oracle11g不能导出空表问题
- ubuntu + vmware7.0 gmake not found
- 基于FPGA实现PCIE IP功能仿真
- linux计算机网络一般需要配置哪几部分,计算机网络技术 知识及应用第4章Linux操作系统和常用服务器配置.ppt...
- 三菱驱动器参数表_三菱伺服驱动器参数都设置什么啊 详细点 谢谢
- 如何运用js制作简单的登录界面(html)
- MySQL Router 8 详解
- IE取消或设置代理服务器脚本
- U盘安装win7 启动一键u盘安装Ghost Win7系统教程
- 尤雨溪-写一个mini vue
- IDM下载器下载百度网盘文件
- 银河护卫队漫威大法好之漫威系列
- 竞价排名对SEO的影响
- ABAP 内表修改 MODIFY 和 MODIFY table 的区别
- 微服务Spring Clound
热门文章
- win7万能声卡驱动_驱动精灵万能网卡版下载-驱动精灵万能网卡版免费下载
- win7浏览器主页修改不过来_ie主页被锁定无法修改怎么办?ghost win7 ie主页修改不了的两种解决方法...
- SCADA系统资料整理-概论
- Dell r230安装centOS6.5图解
- 看图说话之二叉树的前序,中序,后序,层次遍历方式
- 高盛区块链79页完整报告:从理论到实践!
- .java.smap_利用Java Binary Webshell对抗静态检测
- 财务数字大小写转换函数代码
- 网页设计如何排成一列_网页排版设计中对齐技巧能让网站产生高端感(下)
- ssh:connect to host localhost port 22: Connection refused解决方法