首页/作品列表/个人设计小作业——光感灯
个人设计小作业——光感灯
19490 0
主要内容
制作背景:         
        在现在手机如此普遍,几乎所有人都人手一部手机的时代下,我们在任何时间、地点、情况下都可以轻易的查看时间。不禁让我想到我们是怎么意识到时间的,我们的老祖先是通过观察太阳的升落,来大概地估计时间段,并制造了日晷。在这个想法下,我有了一个idea。我想制作一个可以实时告诉人们现在外面是什么时间段的光感灯。
       本来我想做一个小夜灯,但是综合考虑了一下,还是决定做会根据时间段的光度来亮相应颜色的灯的设计的光感灯,而不是只在夜间亮的灯。
制作过程:
         我使用过了Arduino IDE for Microduino软件来进行编译,对之前的光感传感器——达文西之灯的程序进行修改,经过很多次的测试之后可以用一个灯来感应各个时间段,这个灯的规律是在夜间是会亮比较暗的蓝色,在傍晚或者早上时会亮比较柔和的绿色灯,,而在白天,在灯的旁边有人的话会亮比较亮的紫色灯,附近没有人的话,光感会达到一千以上,灯不会亮,这也是一种节能的设计,这样在白天的时候只会在有人时亮高亮度的紫灯,夜晚的蓝灯亮度比较暗,我觉得是很节能的设计。后面我改变了一下,想弄的更好看一点,于是用同样的原理制作了三灯循环版,在白天亮最亮的“紫蓝绿”灯,傍晚或者早上亮光纤比较柔和的“绿紫蓝”等,晚上亮比较暗的“蓝绿紫”灯。
程序:

@font-face{
font-family:"Times New Roman";
}

@font-face{
font-family:"宋体";
}

@font-face{
font-family:"Calibri";
}

p.MsoNormal{
mso-style-name:正文;
mso-style-parent:"";
margin:0pt;
margin-bottom:.0001pt;
mso-pagination:none;
text-align:justify;
text-justify:inter-ideograph;
font-family:Calibri;
mso-fareast-font-family:宋体;
mso-bidi-font-family:'Times New Roman';
font-size:10.5000pt;
mso-font-kerning:1.0000pt;
}

span.msoIns{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
text-underline:single;
color:blue;
}

span.msoDel{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:line-through;
color:red;
}
@page{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}@page Section0{
margin-top:72.0000pt;
margin-bottom:72.0000pt;
margin-left:90.0000pt;
margin-right:90.0000pt;
size:595.3000pt 841.9000pt;
layout-grid:15.6000pt;
}
div.Section0{page:Section0;}
#include

#define LED_PIN 6
#define LED_NUM 3

#define Light_PIN A0

ColorLED strip = ColorLED (LED_NUM,LED_PIN);

void setup(){
  strip.begin();
  Serial.begin(9600);
  pinMode(Light_PIN,INPUT);
}

void loop(){
  int Light = analogRead(Light_PIN);
  if (Light <200){
    strip.setPixelColor(0, 0, 70, 0);
    strip.setPixelColor(1, 0, 0, 70);
    strip.setPixelColor(2, 70, 0, 70);
    strip.show();}
  if (Light>200 && Light<400){
    strip.setPixelColor(0, 0,0,150);
    strip.setPixelColor(1,150,0 ,150);
    strip.setPixelColor(2, 0,150, 0);
    strip.show();  }
  if (Light>400 && Light<800){
    strip.setPixelColor(0,225, 0, 225);
    strip.setPixelColor(1, 0, 255,0);
    strip.setPixelColor(2, 0,0, 255);
    strip.show();}


else {  
    strip.setPixelColor(0, 0, 0, 0);
    strip.show();
    strip.setPixelColor(1, 0, 0, 0);
    strip.show();
    strip.setPixelColor(2, 0, 0, 0);
    strip.show();

}}




代码展示

1. 光感灯

编程语言: C/C++(Arduino)

软件工具:Arduino IDE 1.8.4


附件下载
  • 资料展示
  • 演练视频.zip
0
大牛,别默默的看了,快登录帮我点评一下吧!

立即注册