arduino uno 光敏电阻实验

9/18/2022 9:21:37 PM
1187
0

一、物料

  1. 面包板 x1
  2. arduino uno x1
  3. 杜邦线  g公对公 x3
  4. 光敏电阻  5549 x1
  5. 电阻 20k 10K  4.7K 1K   Ex1

二、接线

      

三、原理图

     

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

四、说明

光敏电阻是光亮越强,电阻越小。光亮越小,电阻越大。

在本实验中  analogRead(idrpin) 读取到的模拟信号范围是0-1023。光越强值越小,光越弱该值越大。原理请看第七、八节

五、源码

const int ledPin = 6;
const int idrpin = A5;
const int low = 0;
const int high = 1023;

void setup() {
  Serial.begin(9600);  //打开串口,波特率9600
}

void loop() {
  int guangmin = analogRead(idrpin);  //读入光敏电阻产生的模拟信号(范围:0~1023)
  Serial.print("value= ");
  Serial.print(guangmin);
  guangmin = map(guangmin, 0, 1023, 255, 0);  //map函数 将0~1023范围映射到255~0
  //这里反着写255,0;因为想实现随着光强增加LED变亮
  Serial.print("--");
  Serial.println(guangmin);
  //analogWrite(ledPin, guangmin);  //让6号引脚发出PWM波
  delay(1000);  //延时100ms
}

六、输出效果

 

     

 

七、原理解析

在实验过程中我们去掉光敏电阻RL,此时5v与针脚A5 形成回路,串口打印

value= 1023--0

此时电阻R1 分的电压位5V,故此推测R1的作用主要用于分压,当RL阻值变大,R1分的电压变小analogRead 值变小,当RL阻值 变小(光照变强),R1分得电压变大analogRead值变大

 

八、函数应用

analogRead()

本指令用于从Arduino的模拟输入引脚读取数值。Arduino控制器有多个10位数模转换通道。这意味着Arduino可以将0-5伏特的电压输入信号映射到数值0-1023。

换句话说,我们可以将5伏特等分成1024份。0伏特的输入信号对应着数值0,而5伏特的输入信号对应着1023

例:
当模拟输入引脚的输入电压为2.5伏特的时候,该引脚的数值为512。
(2.5伏特 / 5伏特 = 0.5, 1024 X 0.5 ?=512)

引脚的输入范围以及解析度可以使用analogReference()指令进行调整。

Arduino控制器读取一次模拟输入需要消耗100微秒的时间(0.0001秒)。控制器读取模拟输入的最大频率是每秒10,000次。

注意:在模拟输入引脚没有任何连接的情况下,用analogRead()指令读取该引脚,这时获得的返回值为不固定的数值。这个数值可能受到多种因素影响,如将手靠近引脚也可能使得该返回值产生变化。

 

analogWrite()

将一个模拟数值写进Arduino引脚。这个操作可以用来控制LED的亮度, 或者控制电机的转速. Arduino每一次对引脚执行analogWrite()指令,都会给该引脚一个固定频率的PWM信号。PWM信号的频率大约为490Hz.

在Arduino UNO控制器中,5号引脚和6号引脚的PWM频率为980Hz。在一些基于ATmega168和ATmega328的Arduino控制器中,analogWrite()函数支持以下引脚: 3, 5, 6, 9, 10, 11。

在Arduino Mega控制其中,该函数支持引脚 2 – 13 和 44 – 46。使用ATmega8的Arduino控制器中,该函数只支持引脚 9, 10, 11.

在调用analogWrite()函数前,您无需使用pinMode()函数来设置该引脚。

在本次实验中 注释掉代码中的这一句 analogWrite(ledPin, guangmin) ,并使用6号针脚接入一个发光二极管的长脚(正极),短脚接G可以实现光线越强,二极管越亮。光线越弱,二极管越暗的效果

全部评论



提问