lizh1245 发表于 2013-5-4 10:55:42

求助一下DSM501A如何用~~

搜了论坛里的关于这个传感器的贴子,代码都好多啊,有点看不太懂,求助一下具体怎么使用这个传感器.多谢多谢``

lizh1245 发表于 2013-5-4 19:42:08

顶一下~~~!~~~~~

Simon 发表于 2013-12-9 12:24:45

// 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 13:02:10

再给你配张图。

lizh1245 发表于 2014-3-20 14:14:13

Simon 发表于 2013-12-9 12:24 static/image/common/back.gif
其实用别人做好的库最方便。反正ATMEGA328的内存够用的。

多谢多谢~ 后来研究出来了,比赛也搞完了。。。这个玩意的精度实在是恼火= =

flying03 发表于 2016-1-6 13:12:54

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]
查看完整版本: 求助一下DSM501A如何用~~