dbwing520 发表于 2014-5-13 23:11:14


自己人工置顶

dbwing520 发表于 2014-5-13 23:56:00

自己人工置顶

eddiewwm 发表于 2014-5-14 01:06:33

dbwing520 发表于 2014-5-13 21:50 static/image/common/back.gif
int echo2=40;
int trig2=43;
int led2=7;


原程序部份(sr1):
if(d1 <30 )   
{
    Serial.println(d1);
    Serial.println("sr1");
    digitalWrite(led1, HIGH);
    delay(5000);
}
else digitalWrite(led1, LOW);
}

改為:
if(d1 <30 )   
{
    Serial.println(d1);
    Serial.println("sr1");
    startLed1Time = millis();
    alarmOn1 = 1;
    d1=0;
}
currentLed1Time = millis();
if (((currentLed1Time - startLed1Time)<5000) and alarmOn1 ==1)
{
    digitalWrite(led1, HIGH);
}
else
{
    digitalWrite(led1, LOW);
    alarmOn1 = 0;
}
}


// ( 同理,改 sr2部份)
//也要聲明變數
int alarmOn1 = 0;
int alarmOn2 = 0;
unsigned long startLed1Time;
unsigned long startLed2Time;
unsigned long currentLed1Time;
unsigned long currentLed2Time;

** 注意:祇改了 delay 部份

dbwing520 发表于 2014-5-14 11:59:21

eddiewwm 发表于 2014-5-14 01:06 static/image/common/back.gif
原程序部份(sr1):
if(d1

太感谢了   

if(d1 <30 )   
{
    Serial.println(d1);
    Serial.println("sr1");
    startLed1Time = millis();
    alarmOn1 = 1;
//   d1=0;我吧这个去掉了
}
currentLed1Time = millis();
if (((currentLed1Time - startLed1Time)<5000) and alarmOn1 ==1)
{
    digitalWrite(led1, HIGH);
}
else
{
    digitalWrite(led1, LOW);
    alarmOn1 = 0;
}
}

unonewbie 发表于 2014-5-18 20:43:08

这个视频是通过距离传感器轮流控制3个LED亮度,和你要求接近

http://v.youku.com/v_show/id_XNzEzMzM2MjI4.html

<embed src="http://player.youku.com/player.php/sid/XNzEzMzM2MjI4/v.swf" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
页: 1 [2]
查看完整版本: 求助 用多个人体红外控制多个led 遇到问题