【Gravity:AS7341测评】+ 频率值的检测
[复制链接]
在传感器配置的例程中,提供了相应的频率测试程序getFlicker.ino,经程序编译其结果如图1所示。
图1 频率测试程序
在程序下载后,其运行结果如图2所示。之所以能有这样的结果,原因无他因为夜色已晚,用于照明的日光灯被点亮,工频的50 Hz频率在起作用。
当把光源换为LED节能灯后,频率就不可辩了,见图3所示。
图2 频率测试结果
图3 频率测试
那能否识别其他的频率呢?
这首先要有一个可变频率的光源,其程序也可在例程中得到,如:led_50Hz.ino和led_60Hz.ino。但遗憾的是你必须有两块Arduino UNO开发板,否则你无法同时运行他们呀!
当在另一块开发板上下载50 Hz的例程后,检测正常。然后又下载了60 Hz的例程,其结果如图5所示。
图4 生成指定频率闪烁光
图5 频率测试结果
产生60Hz闪光的程序为:
void setup() {
pinMode(10, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delayMicroseconds(4167);
digitalWrite(13, LOW);
delayMicroseconds(4167);
}
此时,又突发奇想是否可以调整一下闪光程序的延时值来改变频率来检测呢?
经测试,这种设想是失败的,似乎检测程序只能用用这2个频率的检测,对其他频率就不认账了!
|