求助一下DSM501A如何用~~
搜了论坛里的关于这个传感器的贴子,代码都好多啊,有点看不太懂,求助一下具体怎么使用这个传感器.多谢多谢`` 顶一下~~~!~~~~~ // DSM501A的针脚按如下接入Arduino// DSM501A -3针脚接Arduino的5V
// DSM501A -5针脚接Arduino的GND
// DSM501A -2针脚接Arduino的D8
int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
void setup() {
Serial.begin(9600);
pinMode(8,INPUT);
starttime = millis();
}
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) > sampletime_ms)
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);// Integer percentage 0=>100
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve
//Serial.print(lowpulseoccupancy);
// Serial.print(",");
Serial.print(ratio);
Serial.print(",");
Serial.println(concentration);
lowpulseoccupancy = 0;
starttime = millis();
}
}其实用别人做好的库最方便。反正ATMEGA328的内存够用的。 再给你配张图。 Simon 发表于 2013-12-9 12:24 static/image/common/back.gif
其实用别人做好的库最方便。反正ATMEGA328的内存够用的。
多谢多谢~ 后来研究出来了,比赛也搞完了。。。这个玩意的精度实在是恼火= = Simon 发表于 2013-12-9 13:02 static/image/common/back.gif
再给你配张图。
哥请问一下,按你的接法和程序,我的DSM501输出值高的吓人,是不是这个模块还要微调,我看到板子上有两个电位器。
3.19,1658.17
2.89,1496.60
3.09,1603.79
4.61,2424.16
2.00,1034.48
4.76,2509.25
2.66,1377.32
1.80,928.48
4.37,2290.69
4.57,2404.40
2.47,1276.59
2.26,1167.79
3.68,1919.92
2.76,1430.51
3.76,1962.36
页:
[1]