继续是讲解基础原理,新手专用部分。这次讲光敏电阻,和用电阻分压。光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻。在我们光控灯里面,将会使用它搭建出分压电路,给Arduino 的模拟引脚发送模拟量。新学的朋友们需要了解光敏电阻是什么回事,分压又是怎样做的,本篇就是讲解这两点。

光敏电阻

光敏电阻(photo-resistor / light-dependent resistor),是在特定波段照射下,阻值会减少的电阻。所谓特定波段,也包括了不可见的红外线。分类就三种,紫外线电阻器、红外线电阻器、和可见光电阻器。

最主要的参数有两个跟我们这次是直接相关的:光电流和光照特性曲线。就是说,有光很亮时候阻值多少,和亮度变暗时候与阻值增大的一个关系曲线图(注意这是曲线,不是线性关系的)。这个东西可以非常便宜,看完这篇有兴趣的可以买点回来玩玩看,淘宝有一包不同型号的光敏卖的。型号之间的差异可以看下表。

上表可以看到上升下降时间,我实测时候,它的上升下降时间,感觉没有上表说得那么接近,不太清楚它写的是什么概念。环境由暗变光,可能就半秒内吧,瞬间阻值减少(书本上说是几个毫秒)。环境由亮变暗,需要好几秒钟阻值才爬升完毕。这响应时间其实与光敏材质和光波波长有直接关系。

单单文字讲解不够直接,看图。我们把万用表调到电阻档,连接好就开灯对准它照射,看看阻值:

580欧阻值。我这个型号5516,标称照度 10 lux 时候,阻值是 2-5K 欧姆。我是很难想象 10 lux 到底是多少。实测更直观,直接用灯近距离照射,580 欧姆。

然后我再试试,关灯(捂住它也行吧…),再看看阻值(注意万用表档位):

稍为遮挡、大幅度遮挡、和完全捂住时候,所读到的阻值分别是 7.8K,16.15K 和 502K。

它其实等同于一个可调电阻器、电位器(用两端作可调电阻用时候),只是它不是旋钮或者滑动,它是依据光来调阻值,然后光的强弱与阻值的关系并非线性。

要理解怎样用它在电路里面,首先我们得简单回顾一下电阻器怎样用。

电阻分压 - 新手专用

电阻器在电路里面主要有两种用法:限流和设置电压。限流我们在上一篇已经看过它怎样用来限制流到 LED 的电流,按钮那一篇里面也用它,限制了当按钮按下时候从供电到地的电流(见下拉电阻部分)。这次我们看看它的设置电压做法,分压。

我们在 Multisim 仿真看看。用两个电阻串联,试试不同阻值的组合,在两个电阻中间放置探针看看效果:

电阻的电流限制作用我们已经谈过。关于上图的电流值如何计算,后面有机会再讨论。这次我们集中看电压。可以看到,不同的阻值组合,可以影响到两个电阻中间位置的电压,它把电压的 5V,通过这方式对探针位置这个点,设置电压值,这个叫做电阻分压。分压的公式如下,假设我们把探针那个点的电压命名为 Vmes (mes 代表 Measurement,测量值):

左侧第一个电路

Vmes = V1 x (R2 / (R1 + R2))

Vmes = 5V x (1000 / (1000+1000))

Vmes = 2.5V

中间的电路

Vmes = V2 x (R4 / (R3 + R4))

Vmes = 5V x (4000 / (1000+4000))

Vmes = 4V

右侧电路

Vmes = V3 x (R6 / (R5 + R6))

Vmes = 5V x (4000 / (0+4000))

Vmes = 5V

公式就是一个比例计算,很好记。用传统电流方向第二个电阻的阻值做分子,两个电阻阻值加总做分母,乘以流进第一个电阻时候的电压,就能计算得到 Vmes。

参考地端 - 新手专用

记得电压是两个点的电势差。所以仿真里面我们需要设置一个参考点,告诉Multisim 那个位置的电压就是零,0V,然后其他位置的测量值都是以此为依据。上面电路那地端符号是我放置的,与电池负极直接相连,为参考地。分压得到的测量值就是与此地端之间的电势差。

理解一下下图,参考地放置位置不同的效果:

可调电阻、电位器 - 新手专用

有了以上知识,我们继续看看可调电阻是干嘛的。我们用 Multisim 仿真,选电位器 (Potentionmeter)。一般电位器是有三只脚,三端都接好的话,电压输出端直接就是分压结果的了。这个以后,比如做摇杆时候再说明。

我们只接两端作为可调电阻用(就是跟光敏电阻一样作用),先理解一下以下三张图:

用上面分压公式可以计算到三个探针的值,不确定的请拿起纸笔自己算算,这个跟我们光控灯作品直接相关的。

利用以上分压电路加上光敏,我们可以对探针那个位置的电压进行测量,然后他的变化是跟随着光亮度而变动。读取电压,等同于读取光亮度了。

为何要这么麻烦,不买模块直接插来用? - 新手专用

光敏电阻,市面上也有模块卖,直接怼不好么,为何还要理解这些?

首先,模块上面的结构其实也极度简单,光敏加一个电阻,最多就再加电容做滤波,这完全可以自己做的。另外,电压不同时候你需要不同的阻值组合,模块你不能改动的,就算你不管直接用,也需要理解,你用了不同电压,它输出的模拟量范围会是多少。最后,自己 DIY,简单原理理解后,玩起来更有劲,不是么?

实际做法

以上都理解之后,到底我们要做什么?

首先第一个问题是亮度,10 LUX 亮不亮, 5 LUX 又该不该开灯,这些因人而异,是个人的感觉。第二个问题是,光敏的阻值与照射的亮度并非线性,而且在不同电压时候曲线稍有不同,我们做光控灯也并非科研,我们会想用更简单的办法去处理这个问题。

办法就是,把最终产品的灯,亮度分五级,找个办法让用户可以调节光的敏感度。就是说,用光敏再串联可调电阻:光亮度影响光敏阻值,用户再可以用串联了的可调电阻来调阻值,调节输出的模拟量幅度。

总结

我们以上几篇,已经理解了 LED 的供电应该怎么做,按钮怎么做,在本篇也知道了环境亮度如何读取。下一篇,我们用三极管,加上 PWM 的原理讲解,控制 LED 的五段亮度。

欢迎加入我们的大家庭  点击加入 Arduino 硬创联盟,群号 8580606

参考

实用电子元器件与电路基础 第三版

电子工业出版社,ISBN:9787121223785

模拟电子技术基础 第五版

高等教育出版社,ISBN:9787040425055

电子元器件的选择与应用

科学出版社,ISBN:9787030165060

电路基础(英文版 第五版)

机械工业出版社,ISBN:9787111411840

Multisim 12.0 软件

http://www.ni.com/multisim/

转载于:https://www.cnblogs.com/leptonation/p/6244439.html

Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事相关推荐

  1. arduino 光控灯_Arduino 极速入门系列 - 光控灯(1)- 关于理论和 LED 那些事

    点个 LED 闪亮好像太单调,这次来个光控 LED 灯.这个其实不需要 Arduino 也能做,这次只是用来演示一下 PWM 在 Arduino 里面的做法.PWM 原理后面会解释.这次用充电宝提供 ...

  2. 【Arduino】入门篇——光控灯

    光控灯 一.实验目的 二.实验器材 三.电路图 四.实验步骤 五.代码块 六.实验结果 一.实验目的 通过模拟输入采集环境光强来控制LED灯亮度,做一个无需人为干预的自动控制设备. 二.实验器材 Un ...

  3. Arduino开发小项目—光控灯

    @Arduino开发小项目-光控灯 本篇文章介绍光敏电阻,通过模拟输入采集环境光强来控制LED灯亮度,做一个无需人为干预的自动控制设备. 传感器是一种检测装置,能感受并采集到被测量的信息,在当下物联网 ...

  4. arduino 光控灯_Arduino基础—光控灯(物联网)

    本实验借鉴TonyCode的简书说明. 作者:TonyCode 链接:https://www.jianshu.com/p/41827528e3c5 来源:简书 # Arduino基础入门篇-光控灯 物 ...

  5. Arduino—光控灯

    Arduino光控灯 首先介绍光敏电阻,光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器:入射光强,电阻减小,入射光弱,电阻增大.光敏电阻器一般用于光的测量.光的控制和光电 ...

  6. 自学Arduino UNO串口(制造光控灯)

    一.Arduino串口介绍 串口用于不同设备间互相传输数据.比如,可以在电脑上实时输入指令,Arduino 板做出相应的反应,Arduino 板正在执行的工作也能实时反应在电脑上. 二.Arduino ...

  7. 物联网——光控灯的实现

    光控灯 1.实验器材 Uno R3开发板 配套USB数据线 面包板及配套连接线 1个LED灯 1个220Ω限流电阻 1个光敏电阻传感器 1个1K普通电阻 2.实验步骤 硬件连接(原理图): 在ardu ...

  8. 【掌控板2.0】<Mind+>:光控灯、声控灯、语音识别模块、实现Easy IoT上MQTT消息的通讯实验

    一.实验目的及要求 [实验一]光控灯 [实验二]声控灯 [实验三]语音识别控制灯 [实验四]实现Easy IoT上mqtt消息的通讯 (1)甲按A键(或触摸P)发送消息至topic1,同时监听topi ...

  9. 掌控板小实验:光控灯

    简介 利用掌控板制作一个可以根据环境的光照强度控制LED灯开关的光控灯吧! 这个实验要用到的硬件和软件有: 掌控板 typeC数据线 Mind+电脑端 1.6.5 图形化编程 C语言源码 /*!* M ...

最新文章

  1. 【Kubernetes】如何使用Kubeadm部署K8S集群
  2. python和php-PHP和Python如何选择?或许可以考虑这三个问题
  3. Scala mapValues踩坑记:谨慎使用Scala Map的mapValues, 你需要的可能是transform
  4. 奇闻异事之NoSuchMethodError
  5. 微软服务器离线补丁工具包,wsus offline update
  6. C语言中数据的输出格式有哪些?
  7. vMix(视频混合器软件)v22.0.0.48免费版
  8. 【学习笔记】Guice学习小结
  9. 视频图片音乐音效工具等素材网汇总
  10. ubuntu全版本安装 NVIDIA显卡驱动、以及重装、卸载
  11. 一个C#开发者学习SpringCloud搭建微服务的心路历程
  12. source insight
  13. 【图解】AC97、HD音效卡前置音频线的接法
  14. InAction-根据LBS数据手机用户移动轨迹
  15. 3D目标检测学习笔记
  16. 碳交易计价结算货币:理论、现实与选择
  17. 世界空战史上的头号王牌空中杀手
  18. Linux:命令gedit主要作用是什么?
  19. 域名证书到期监控告知
  20. PostCSS received undefined instead of CSS string

热门文章

  1. 【转】DCT变换的透彻解析
  2. 重新修复安装.netframework2.0
  3. koa --- [MVC实现之五]Model层的实现
  4. 算法 --- 求两个集合的并集
  5. 搭建一个基于http的yum服务器
  6. SVN学习(二)——SVN 提交、更新、解决冲突等操作步骤
  7. 块分割,维特比算法小结
  8. django 1.8 官方文档翻译: 3-4-2 内建显示视图
  9. 艾伟_转载:使用Lambda表达式编写递归函数
  10. VMware演示手机虚拟化