Timer 使用arduino中的函数启动计时器
我有一个通过RS-232命令控制投影仪的项目,投影仪向arduino发送反馈。因此,我有一个带按钮的LCD屏幕。为了让它更好,我有一个超声波测距仪,我想使用,这样当你接近设备时,LCD背光打开30秒,然后关闭。我不能使用延迟,因为我需要继续轮询来自投影仪的按钮和序列信息 有像Timer.h和SimpleTimer.h这样的社区库,但它们只做振荡等 我想做的是:Timer 使用arduino中的函数启动计时器,timer,arduino,Timer,Arduino,我有一个通过RS-232命令控制投影仪的项目,投影仪向arduino发送反馈。因此,我有一个带按钮的LCD屏幕。为了让它更好,我有一个超声波测距仪,我想使用,这样当你接近设备时,LCD背光打开30秒,然后关闭。我不能使用延迟,因为我需要继续轮询来自投影仪的按钮和序列信息 有像Timer.h和SimpleTimer.h这样的社区库,但它们只做振荡等 我想做的是: distance = measureUltrasonicDistance(ultrasonicPin); //returns in cm
distance = measureUltrasonicDistance(ultrasonicPin); //returns in cm
if (distance <= 10) {
//digitalWrite(baclkightPin,HIGH);
//have this turn off 30 seconds later
}
距离=测量的超声波距离(超声波针)//以厘米为单位返回
if(distance首先要意识到的是loop()是连续调用的,并且您可以使用“看门狗”模式来保持灯亮着,而无需使用计时器
unsigned long timeoff;
void setup() {
timeoff = millis();
}
void loop() {
distance = measureUltrasonicDistance(ultrasonicPin); //returns in cm
if (distance <= 10) {
digitalWrite(baclkightPin,HIGH);
// compute boundary of when light should be off
timeoff = millis() + 30L*1000L;
}
if (timeoff < millis()) {
digitalWrite(backlightPin, LOW);
}
}
unsigned long-timeoff;
无效设置(){
timeoff=millis();
}
void循环(){
距离=测量超声波距离(超声波针);//以厘米为单位返回
如果(距离这似乎是