本帖最后由 linkdfrobot 于 2015-4-12 10:26 编辑
构思来源 眼睛是心灵的灯。眼睛若明亮,世界就光明;眼睛若昏暗,世界就黯淡。保护我们的视力,就等于保护我们的眼睛,所以我们要保护眼睛。 ——题记 随着眼睛度数的越来越深,视力越来越差,保护视力对我们来说越来越重要,光线的强弱对我们的眼睛有着极为重要的影响。 你是否常因为:学校午睡后经常忘记开灯,导致室内光线很暗,做作业时很伤眼; 晚上看电视时经常忘记开灯,看电视时很伤眼;不时因经常忘记关灯而班级扣分。
所以今天我们来做一个感光设置,让你再也不会被这些烦恼所困。 所需元件 1× 5mm LED灯 1× 光敏二极管
1*220欧电阻 1× 10k电阻 (***可能将增加 1× 蜂鸣器)电路图:输入代码:
- #define ADpin A0
- #define LED 10
- int ADBuffer = 0;
- void setup()
- { pinMode(LED,OUTPUT);
- Serial.begin(9600); //波特率9600
- }
- void loop()
- { ADBuffer = analogRead(ADpin); //读取AD值
- Serial.print("GMAD = ");
- Serial.println(ADBuffer);
-
- if(ADBuffer < 200) //ADBuffer值小于设定值,相当于光照强度小于设定值
- { for (int a=1; a<=100;a++) //循环语句,控制PWM亮度的增加
- {analogWrite(LED,a);
- delay(20); //当前亮度级别维持的时间,单位毫秒
- }
- for (int a=100; a>=1;a--) //循环语句,控制PWM亮度减小
- {analogWrite(10,a);
- delay(20); //当前亮度的维持的时间,单位毫秒
- }
- delay(500);
- }
- else
- { digitalWrite(LED,LOW); //关闭LED
- }
- delay(500); //延时500ms
- }
复制代码
应用拓展: *可以改变灯的颜色种类,做到发出各种各样的光,为室内增添情调; (多增加几个LED灯,或控制亮的次序,做到更好的效果) *可以改变程序,变成植物光照提醒器; (改变光照值(ADbuffer<一个适合的光照强度 就可做到)) *同时改变蜂鸣器的频率可以编成音乐伴人入睡; (采用无源蜂鸣器,设置频率,简谱)(见《欢乐颂》) *也可以作为小夜灯; (微弱的呼吸灯,微弱灯光,随着你的呼吸,陪你一起入眠) *也可与家庭电路连接,自动开关电灯,为家里人提供方便 (在室内光线暗时,自动打开,不用摸黑走路) 构想之一: 实用性:可以保护视力,增加亮度 创新性:与传统的控光系统不同,可自动改变 科学性:适时的开关,不浪费电能,做到节能减排
创新版代码: - #define ADpin A0
- #define LED 10
-
- #define M1 523
- #define M2 586
- #define M3 658
- #define M4 697
- #define M5 783
- //列出全部D调的频率
- #define WHOLE 1
- #define HALF 0.5
- //列出所有节拍
- int tune[]= //根据简谱列出各频率
- { M3,M3,M4,M5,
- M5,M4,M3,M2,
- M1,M1,M2,M3,
- M3,M2,M2,
- };
- float durt[]= //根据简谱列出各节拍
- { 1,1,1,1,
- 1,1,1,1,
- 1,1,1,1,
- 1+0.5,0.5,1+1,
- };
-
- int ADBuffer = 0;
- int length;
- int tonepin=5; //得用5号接口
-
- void setup()
- { pinMode(LED,OUTPUT);
- Serial.begin(9600); //波特率9600
- pinMode(tonepin,OUTPUT);
- length=sizeof(tune)/sizeof(tune[0]); //计算长度
- }
-
- void loop()
复制代码
本篇由胡琼洁制作,罗亮指导
|