制作背景:
在现在手机如此普遍,几乎所有人都人手一部手机的时代下,我们在任何时间、地点、情况下都可以轻易的查看时间。不禁让我想到我们是怎么意识到时间的,我们的老祖先是通过观察太阳的升落,来大概地估计时间段,并制造了日晷。在这个想法下,我有了一个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();
}}
立即注册