我正在为Raspberry Pi创建门锁系统。当用户刷卡后可自动车门解锁使用下面的代码:五秒暂停
piface.getRelay(PiFaceRelay.K0).open();
我试图创建一个5秒延迟之前的门锁住,然后用下面一行:
piface.getRelay(PiFaceRelay.K0).close();
这是我已经用于尝试并执行5秒的延迟,但目前它然后立即解锁代码再次锁定它并没有提供足够的时间一个人身体推开门:
piface.getRelay(PiFaceRelay.K0).open();
Timer autoLockTimer = new Timer(5000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
piface.getRelay(PiFaceRelay.K0).close();
}
});
autoLockTimer.setInitialDelay(5000);
autoLockTimer.setRepeats(false);
autoLockTimer.start();
我想我只是没有正确使用计时器。任何建议将不胜感激。
您正在使用哪个Timer类?基于它如何构建,它看起来不像['java.util.Timer'](http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html) – Krease
这是一个摆动计时器: import javax.swing.Timer; – Suipaste
这看起来像它应该从'Timer'观点工作 - 我不知道很多关于树莓PI虽然 - 你试过注释掉你的'actionPerformed'的内容(或添加一些日志记录),看看它是否确实是特别呼吁'关闭'是过早触发? – Krease