一、项目说明

        这里我们会使用到光敏电阻这个元件。在黑暗的环境中,光敏电阻具有非常高阻值的电阻。光线越强,电阻值反而越低。通过读取这个电阻值,就可以检查光线的亮暗了。这里选用光敏二极管,光敏二极管其实就是光敏电阻中的一种,只是它还具有正负极性。
       因此我们可以利用光敏电阻这个特性来制作一个感光灯。让它能随着光线明暗而选择是否亮灯。这个感光灯非常适合用做夜晚使用的小夜灯。晚上睡觉的时候,家中灯关掉后,感光灯感觉到周围环境变暗了,就自动亮起。到了白天,天亮后,感光灯就又恢复到关闭的状态。

二、所需元件 

  • 1 × Arduino UNO R3(以及配套USB数据线)
  • 1 × 面包板
  • 5 × 彩色面包线
  • 1 × 5mm LED灯
  • 1 × 220欧电阻
  • 1×  10k电阻
  • 1×  光敏二极管

三、硬件连接


四、软件代码

// 项目九:制作感光灯
int LED = 10;                     //设置LED灯为数字引脚10
int val = 0;                      //设置模拟引脚0读取光敏二极管的电压值
 
void setup(){
      pinMode(LED,OUTPUT);         // LED为输出模式
      Serial.begin(9600);        // 串口波特率设置为9600
}
 
void loop(){
      val = analogRead(0);         // 读取电压值0~1023
      Serial.println(val);         // 串口查看电压值的变化
      if(val<1000){                // 一旦小于设定的值,LED灯关闭
              digitalWrite(LED,LOW);
      }else{                        // 否则LED亮起
              digitalWrite(LED,HIGH);
      }
      delay(10);                   // 延时10ms
}

五、运行结果