第九课--光敏实验/zh

来自Microduino Wikipedia
Pkj讨论 | 贡献2014年7月22日 (二) 12:38的版本 (Created page with "{| style="width: 800px;" |- | ==目的== 前面讲了好多内容,也是实实在在存在,并且看得见的东西。今天用到的是光敏电阻,能够检测光照...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

目的

前面讲了好多内容,也是实实在在存在,并且看得见的东西。今天用到的是光敏电阻,能够检测光照强度,来模拟一个自动路灯的实验,白天光照较强时,路灯关闭,晚上光照比较弱,路灯开启。

设备

Microduino-CoreSTM32是采用 STM32F103CBT6芯片的ARM开发板,采用独特的Upin7接口,大小与一枚一元硬币差不多大,完全兼容Microduino其他扩展模块。

  • 其他硬件设备
   **面包板跳线  	  一盒  
    • 面包板 一块
    • 光敏电阻 一个
    • 220欧、10k电阻 各一个
    • led发光二级管 一个
    • USB数据连接线 一根


光敏电阻

第十课-光敏电阻.jpg

光敏电阻是一个将光信号转换成电信号的半导体元器件。在黑暗环境里,它的电阻值很高,当受到光照时,电阻阻值下降。光照愈强,阻值愈低。光敏电阻没有极性,纯粹是一个电阻器件,使用时既可加直流电压,也加交流电压。

光敏电阻的暗电阻往往超过1MΩ,甚至高达100MΩ,而亮电阻则在几kΩ以下,暗电阻与亮电阻之比在102~106之间,可见光敏电阻的灵敏度很高。并且有很好的光谱特性,光谱响应可从紫外区到红外区范围内。而且体积小、重量轻、性能稳定、价格便宜,因此应用比较广泛。

原理图

Lesson11-shcematic.jpg

光敏电阻一端直接接地,一端通过电阻接到电源。当晚上无光时,其阻值在几M左右,所以定值电阻阻值可以忽略,光敏电阻两端电压理想为电源两端电压,当白天受到强光照射,其电阻阻值下降至几百欧到几K之间,所以整个电路的总电阻减小,电流增大,定值电阻两端电压增大(Ur=I*R),光敏电阻两端电压减小(U总=Ur+U光敏),电压很低,甚至接近0V。通过此电路可将光信号转换成电信号,我们就可以通过读取其电压来实现一个模拟路灯。

因为每个时刻光强不一样,所以为了更好地控制光的影响,可将定值电阻换成一个100K的可调精密电阻。大家可以自行实验。

程序

int a =600;        //此处需是环境基础亮度变量,请查看自己的亮度数值,填写到此处数值要略大于所测得的数据但小于灯光下的数据
void setup ()
{
  Serial.begin(115200);
  pinMode(13,OUTPUT);
}
void loop()
{
  int n = analogRead(A0);        //读取模拟口A0数值
  Serial.println(n);
  if (n>= a )                   //对光线强度进行判断,如果比我们的预设值小就关闭LED,否则就点亮
  {
    digitalWrite(13,HIGH);
  }
  else
  {
    digitalWrite(13,LOW);
  }
  delay(100);
}

结果

当光照强度较强时光敏电阻两端电压较低,读取模拟值低于设定的参考值关闭LED,模拟了白天关闭灯光。当光线好弱时光敏电阻两端电压较高,模拟口读取模拟值高于设定的参考值点亮LED,模拟了夜天打开灯光。

视频