Arduino简单实战“光敏小夜灯”

前言

这次是一个简单的Arduno实战小项目,“光敏小夜灯”。这个“小夜灯”呢,是利用光敏电阻传感器和RGB LED灯模拟而成,当达到一定暗时自动开灯,在很光的时候就关灯,既方便又省电。

材料

Arduino uno x1

光敏电阻 x1

RGB LED灯 x1

电阻 x3

跳线

接线方法

在这里插入图片描述

程序源码

// #include <Wire.h>

int redPin= 7;
int greenPin = 6;
int bluePin = 5;
int Intensity =0;//定义Intensity变量

#define AD5 A5//定义模拟口A5

void setup() {
    
Serial.begin(9600);
 
 while (!Serial) {
    
; // wait for serial port to connect. Needed for Leonardo only
  

  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);

}
  
}

void loop() {
  
  //光线越暗,值越大;反之则越小。
  Intensity = analogRead(AD5);  //读取模拟口AD5的值,存入Intensity变量
  Serial.print("Intensity = ");  //串口输出"Intensity = "
  Serial.println(Intensity);     //串口输出Intensity变量的值,并换行
  delay(500);     //延时500ms
if(Intensity>600){
  setColor(0, 0, 255); // Blue Color
  delay(5);
//大于600时,即达到了一定暗的程度,亮灯
  }
  else {
    setColor(0, 0, 0); // Black Color
  delay(1000);
//否则,灭灯
    }

}

void setColor(int redValue, int greenValue, int blueValue) {
  analogWrite(redPin, redValue);
  analogWrite(greenPin, greenValue);
  analogWrite(bluePin, blueValue);
}

测试数据

解释一下Intensity的变化规律,光线越暗,值越大;光线越亮,值越小。

所以这里我设定了光线在大于600时,灯光亮;否则,灯光灭。
在这里插入图片描述

运行效果

在这里插入图片描述

总结

第一次写博客,写不清楚的地方,欢迎大家随时来问我。

  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值