0°

(二十一)arduino入门:光敏电阻的使用

在黑暗的无光条件下,光敏电阻的阻值非常高。光线越强,电阻值反而越小。通过测量光敏电阻两侧的电压变化值可以得知光敏电阻值的变化进而获得光照强度值。

简介

今天的教程是讲解光敏电阻的使用方式。光敏电阻属于模拟传感器,所以学会使用光敏电阻,就是学会使用Arduino开发板的模拟口。

步骤一 材料准备

硬件准备:

  • Arduino uno x1
  • 面包板×1
  • 光敏电阻x1
  • 电阻10K,4.7K,1K若干(换成不同的电阻,就可以看到不同的光敏数值)

软件准备:

  • Arduino IDE

步骤二 原理说明

在黑暗的无光条件下,光敏电阻的阻值非常高。光线越强,电阻值反而越小。通过测量光敏电阻两侧的电压变化值可以得知光敏电阻值的变化进而获得光照强度值。在连接图中,我们可以发现为光敏电阻串联了一个分压电阻。

(二十一)arduino入门:光敏电阻的使用

上图中,RL是光敏电阻,R1是串联的分压电阻,Vout=RLR1+RL∗VinVout=RLR1+RL∗Vin ,在黑暗中,RL的阻值会很大很大,所以Vout也就很大,接近5V。一旦有光线照射的话,RL的值就会迅速减小,所以Vout也就随之减小。通过上面这个公式可以看出, R1选取不能太小,最好在1k~10k左右,否则比值变化不明显。

步骤三 电路搭建

(二十一)arduino入门:光敏电阻的使用

步骤四 编写程序

好了,根据上面的电路图搭建好电路就可以开始编写程序了。

程序如下:

/*
光敏电阻检测环境光
 https://static.qutaojiao.com
*/
#define AD5 A5   //定义模拟口A5

int Intensity = 0;//光照度数值

void setup()  //程序初始化
{
  pinMode(AD5, INPUT); //设置LED为输出模式
  Serial.begin(9600);//设置波特率9600
}

void loop()//程序主体循环
{
  Intensity = analogRead(AD5);  //读取模拟口AD5的值,存入Intensity变量
  Serial.print("Intensity = ");  //串口输出"Intensity = "
  Serial.println(Intensity);     //串口输出Intensity变量的值,并换行
  delay(500);     //延时500ms
}

步骤五 验证结果

打开串口监视器,可以改变光强度可以看到如下的变化:

(二十一)arduino入门:光敏电阻的使用
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
Arduino
3 条回复 A 作者 M 管理员
  1. 请问,监视器里的值是光敏电阻的阻值还是什么呢

    • 可以说是光敏电阻阻值

    • 好的,谢谢博主thank you!

欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论