7265浏览
查看: 7265|回复: 0

光线控制器(胡琼洁)

[复制链接]
本帖最后由 linkdfrobot 于 2015-4-12 10:26 编辑

构思来源
眼睛是心灵的灯。眼睛若明亮,世界就光明;眼睛若昏暗,世界就黯淡。保护我们的视力,就等于保护我们的眼睛,所以我们要保护眼睛。        ——题记
随着眼睛度数的越来越深,视力越来越差,保护视力对我们来说越来越重要,光线的强弱对我们的眼睛有着极为重要的影响。
你是否常因为:学校午睡后经常忘记开灯,导致室内光线很暗,做作业时很伤眼;
晚上看电视时经常忘记开灯,看电视时很伤眼;不时因经常忘记关灯而班级扣分。

所以今天我们来做一个感光设置,让你再也不会被这些烦恼所困。
所需元件
1×   5mm LED光线控制器(胡琼洁)图2
1×  光敏二极管  光线控制器(胡琼洁)图3

1*220欧电阻光线控制器(胡琼洁)图4
1×   10k电阻 光线控制器(胡琼洁)图5
(***可能将增加  1×  蜂鸣器光线控制器(胡琼洁)图6电路图:光线控制器(胡琼洁)图1输入代码:
  1. #define ADpin A0
  2. #define LED 10
  3. int ADBuffer = 0;
  4. void setup()
  5. { pinMode(LED,OUTPUT);
  6.   Serial.begin(9600);                //波特率9600
  7. }
  8. void loop()
  9. { ADBuffer = analogRead(ADpin);        //读取AD值
  10.   Serial.print("GMAD = ");
  11. Serial.println(ADBuffer);
  12.   
  13. if(ADBuffer < 200)                //ADBuffer值小于设定值,相当于光照强度小于设定值
  14.   { for (int a=1; a<=100;a++)   //循环语句,控制PWM亮度的增加
  15.       {analogWrite(LED,a);
  16.         delay(20);              //当前亮度级别维持的时间,单位毫秒            
  17.       }
  18.       for (int a=100; a>=1;a--) //循环语句,控制PWM亮度减小
  19.       {analogWrite(10,a);
  20.         delay(20);               //当前亮度的维持的时间,单位毫秒  
  21.       }
  22.         delay(500);   
  23.   }
  24.   else
  25.   { digitalWrite(LED,LOW);                     //关闭LED
  26.   }
  27.   delay(500);                     //延时500ms
  28. }
复制代码
应用拓展:
*可以改变灯的颜色种类,做到发出各种各样的光,为室内增添情调;
   (多增加几个LED灯,或控制亮的次序,做到更好的效果)
*可以改变程序,变成植物光照提醒器;
    (改变光照值(ADbuffer<一个适合的光照强度 就可做到))
*同时改变蜂鸣器的频率可以编成音乐伴人入睡;
    (采用无源蜂鸣器,设置频率,简谱)(见《欢乐颂》)
*也可以作为小夜灯;
     (微弱的呼吸灯,微弱灯光,随着你的呼吸,陪你一起入眠)
*也可与家庭电路连接,自动开关电灯,为家里人提供方便
     (在室内光线暗时,自动打开,不用摸黑走路)
构想之一
实用性:可以保护视力,增加亮度
创新性:与传统的控光系统不同,可自动改变
科学性:适时的开关,不浪费电能,做到节能减排

创新版代码:
  1. #define ADpin A0
  2. #define LED 10
  3. #define M1 523
  4. #define M2 586
  5. #define M3 658
  6. #define M4 697
  7. #define M5 783
  8. //列出全部D调的频率
  9. #define WHOLE 1
  10. #define HALF 0.5                     
  11. //列出所有节拍
  12. int tune[]=   //根据简谱列出各频率                                       
  13. { M3,M3,M4,M5,
  14.   M5,M4,M3,M2,
  15.   M1,M1,M2,M3,
  16.   M3,M2,M2,
  17. };
  18. float durt[]=       //根据简谱列出各节拍
  19. { 1,1,1,1,
  20.   1,1,1,1,
  21.   1,1,1,1,
  22.   1+0.5,0.5,1+1,
  23. };
  24. int ADBuffer = 0;
  25. int length;
  26. int tonepin=5;   //得用5号接口
  27. void setup()
  28. { pinMode(LED,OUTPUT);
  29.   Serial.begin(9600);                //波特率9600
  30.   pinMode(tonepin,OUTPUT);
  31.   length=sizeof(tune)/sizeof(tune[0]);   //计算长度
  32. }
  33. void loop()
复制代码

本篇由胡琼洁制作,罗亮指导

image012.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail