物联网实验光控小夜灯

实验目的

这是物联网的期末实验作业,做了一个基于Arduino的光控小夜灯以下是我的实验过程

实验硬件设备

1.一个Arduino开发板
2.若干导线
3.几个小电阻
4.一个RGB灯
5.光敏电阻传感器

实验软件设备

1.Arduino-1.8.9

实验原理

当周围暗度达到一定程度时,自动接通电路,小夜灯发光、当周围亮度达到临界点,则工作电路自动断开,小夜灯熄灭以此来达到节电目的。
本次实验使用光敏电阻传感器模块控制食人鱼LED实现光控小夜灯效果!

连接实物图

在这里插入图片描述

程序源码

// An highlighted block
var foo = 'bar';
#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(1000);
//大于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);
}

--------------------- 
作者:不爱打代码的程序猿 
来源:CSDN 
原文:https://blog.csdn.net/qq_41204868/article/details/91877635 
版权声明:本文为博主原创文章,转载请附上博文链接!
直接输入1<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成1级标题。
输入2<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用`TOC`语法后生成一个完美的目录。

作者:不爱打代码的程序猿
原文:https://blog.csdn.net/qq_41204868/article/details/91877635

实验截图

当光照充足的时候,灯泡不亮
在这里插入图片描述
当关照不足的时候,灯泡亮
在这里插入图片描述

结束

一个光控小灯的实验就成功了

猜你喜欢

转载自blog.csdn.net/weixin_43542702/article/details/92982741