如何将光敏电阻连接到Arduino板并读取电压

在本快速入门指南中,您将学习如何将光敏电阻连接到arduino板并读取电压。您将首先使用串行监视器来了解光传感器的行为方式,然后构建一个电路,在天黑时自动打开灯。
当您学习arduino时,这是一个很好的练习电路。代码简单明了,光传感器连接也很简单。
所需零件
arduino uno的
面包板(和一些面包板电线)
光敏电阻 – 也称为光敏电阻 (ldr) *
电阻 10 kω
电线
将光传感器连接到arduino
要将光传感器连接到arduino,请将光传感器与5v和gnd之间的电阻串联。然后将电阻器和光传感器之间的中间点连接到arduino上的模拟输入引脚。
此设置适用于光敏电阻、光电二极管和光电晶体管。
在面包板上连接arduino光传感器
以下是使用面包板和一些电缆将此电路连接到arduino的方法:
arduino光传感器代码
此arduino代码是读取电压tage 从光传感器(连接到模拟引脚 a0)然后将模拟读数值打印到串行监视器的示例。
还有一些代码会尝试确定它是黑暗的、昏暗的、明亮的、明亮的还是非常明亮的。您必须调整阈值才能使其与您的传感器一起使用。
模拟引脚将为您提供一个介于 0 和 1023 之间的值,其中 0 表示 0v,1023 表示可能的最大电压(通常为 5v)。
与所有arduino代码一样,您有两个主要函数setup()和loop():
在 setup() 中,您需要配置串行端口,以便可以读出值。
在 loop() 中,您需要读取模拟输入并在串行端口上打印此值。
void setup() { // setup serial communication at baudrate 9600 for reading the light sensor serial.begin(9600);}void loop() { // reads the input on analog pin a0 int lightvalue = analogread(a0); // print out the values to read in the serial monitor serial.print(analog reading (0-1023): ); serial.print(lightvalue); // use the value to determine how dark it is // (try tweaking these to make it more accurate) if (lightvalue < 10) { serial.println( - dark); } else if (lightvalue < 200) { serial.println( - dim); } else if (lightvalue < 500) { serial.println( - light); } else if (lightvalue < 800) { serial.println( - bright); } else { serial.println( - very bright); } delay(500);}代码的工作原理
在setup()函数中,只有一行:这一行设置了arduino的串行端口,以便可以将数据从arduino发送到您的计算机中。serial.begin(9600);
在 loop() 函数中,有四个部分:
int lightvalue = analogread(a0);:此行读取模拟引脚 a0 上的模拟电压。它返回一个介于 0 和 1023
之间的值,表示引脚上相对于参考电压的电压电平(大多数 arduino 板通常为 5v)。该值存储在变量 中。lightvalue
serial.println(lightvalue);:此行将 lightvalue 的值打印到串行监视器,以便您可以读取它。
if (lightvalue 《 10) {
。..这些线将使用预先确定的阈值来确定它是暗的、暗的、亮的、亮的还是非常亮的。您必须调整阈值以使其适用于您的传感器。
delay(500);:此行在每次读取和打印之间增加 500 毫秒的小延迟。此延迟可防止代码运行过快。这样可以更轻松地读取串行监视器上的读数。
此代码的最终结果是,它连续读取引脚 a0 处的模拟电压,将读数(0 到 1023
之间的数字)和亮度值(暗、暗、亮、亮或非常亮)打印到串行监视器,并在循环中重复该过程。
当您将手放在传感器上时,它检测到的光量会发生变化,您可以在串行监视器中观察变化的值。这是可视化数据并在事情未按预期工作时进行调试的有用方法。
使用串行监视器
若要使用串行监视器检查上述代码的结果,请按照下列步骤操作:
使用usb电缆将arduino板连接到计算机。
使用arduino ide将提供的代码上传到arduino板。
通过单击放大镜图标或使用键盘快捷键 (windows/linux) 或 (mac) 打开串行监视器。ctrl + shift + mcmd +
shift + m
将串行监视器中的波特率设置为 9600(或与代码中的函数中的值相同)。serial.begin()
读取串行监视器中的输出。
将手放在光传感器上,查看读数如何实时变化。
示例:暗激活 led
下面是一个示例电路,其中发光二极管 (led) 在天黑时打开。如果您想控制户外灯,您可以轻松地用更强大的 led 替换
led。您可以在我们的晶体管教程中了解有关如何做到这一点的更多信息。
以下是在试验板上连接电路的方法:


美的威灵汽车部件&quot;电动乘用车热管理用CO2转子式压缩机&quot;获评&quot;国际领先&quot;
MASTERIMAGE 3D公司向世界展示强大的3D立体技术
索尼XZ3相机跑分出炉
西门子PLC 1214C DC/DC/DC输入和输出接线方法
MOS管好坏的测量方法
如何将光敏电阻连接到Arduino板并读取电压
联想智能边缘计算如何在产业AI实践中显身手
阿里角逐物联网,运营商都怕了
黑客入侵造成BeatStars网站大规模受损,网站已重新恢复正常运行
虚拟路由器将迎大幅增长 虚拟路由器市场玩家有哪些
又一批EMUI 10.1全面开放升级机型公布,数量多达13款,又创新高
第三季度的全球智能手机市场 三星、华为和苹果的出货量分列前三位
第八届国际农航技术装备展将于明年4月份正式开展
MCU之TIMER脉冲发送功能的知识要点
晶体管和芯片的关系介绍
SoC上市行列添新翼 机器视觉芯片国产化正提速
5G:NR-U是什么?
关于回流焊工艺发展的讨论
用LM317T设计的三端稳压器电源电路
Python的包管理器