[问题] 基础问题:Arduino按钮没被按下的时间计

楼主: p790807 (卡丘)   2017-04-14 16:58:42
如题,事实上我想要做到和processing串连,类似按下按钮会呈现某种画面的效果。
而一开始Processing会有初始画面
我有两个按钮A和B。
当A被按下"一次"时,会传送Serial.write(1),
而processing收到讯号1后,会"一直"停留在画面a;
同理,当B被按下一次时,会传送Serial.write(2),
processing收到讯号2后,才会从原本的画面a改呈现并停留在画面b,
而今天我想要做的是,当A和B按钮都有一段时间没有被按下时,
processing会再回到初始画面。
附上程式原档:
Arduino部分
int buttonPinA =1;
int buttonPinB =2;
void setup(){
pinMode(buttonPinA, INPUT);
pinMode(buttonPinB, INPUT);
Serial.begin(9600);
}
void loop(){
if(digitalRead(buttonPinA)==HIGH && digitalRead(buttonPinB)==LOW){
Serial.write(1);
delay(100);
}
else if(digitalRead(buttonPinB)==HIGH && digitalRead(buttonPinA==LOW){
Serial.write(2);
delay(100);
}
}
Processing部分
import processing.serial.*;
Serial port;
PImage img_a;
PImage img_b;
int val=0;
void setup(){
size(400,400);
img_a=loadImage("a.jpg");
img_b=loadImage("b.jpg");
port= new Serial(this,"/dev/cu.usbmodem1451", 9600);
}
void draw(){
background(255);
if(0<port.available()){
val=port.read();
}
if(val==1){
image(img_a,0,0);
}
else if(val==2){
image(img_b,0,0);
}
}
再麻烦专业人士鞭策我这位苦恼的初学者,尝试用了一些时间的参数还是无解@@
谢谢!
作者: chuegou (chuegou)   2017-04-14 19:10:00
timer设个时间让他timeout
楼主: p790807 (卡丘)   2017-04-15 22:33:00
你好,谢谢!请问是让arduino只传送讯号给processing一段时间而已吗?
作者: nissptt (niss)   2017-04-16 03:33:00
听起来好像萤幕保护程式?也许找休眠相关题材会有答案

Links booklink

Contact Us: admin [ a t ] ucptt.com