|
发表于 2013-8-10 14:00:45
|
显示全部楼层
本帖最后由 chaoser 于 2013-8-10 14:09 编辑
把LZ的程序稍微改了一下(LZ莫怪~),启动时检测到的第一个值为初始值,这样不必反复调整程序。同时控制了一下刷新率,否则监控窗口看都看不清。
- /* 程序功能:Arduino的光敏实验,有光就会点亮led
- 先设置一个初始值,为环境基础亮度,此值需略大于环境数据但小于灯光下的数据
- 再检测光线强度,若当前光线强度大于预设值,则点亮LED,否则关闭LED
- */
-
- int inv; // 此处为初始值
- void setup () {
- Serial.begin(9600);
- pinMode(13,OUTPUT);
- inv=analogRead(A0);
- Serial.print("Initial Value = ");
- Serial.println(inv);
- }
- void loop() {
- int nwv=analogRead(A0);
- Serial.println(nwv);
- digitalWrite(13,(nwv>inv));
- delay(500);
- }
复制代码
测试时发觉,初始值也就是3~4(多云,室内),开台灯5~6,用强光手电垂直照射,值在300~1000之间飘忽(貌似准确度堪忧),侧向照射,值在100左右。觉得这个光敏管也就感应一下光线是否有变化,想测量准确的光入射量看来是没戏。 |
|