作者p790807 (卡丘)
看板ASM
标题[问题] 基础问题:Arduino按钮没被按下的时间计
时间Fri Apr 14 16:58:42 2017
如题,事实上我想要做到和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);
}
}
再麻烦专业人士鞭策我这位苦恼的初学者,尝试用了一些时间的参数还是无解@@
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.167.33
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1492160324.A.7FC.html
1F:推 chuegou: timer设个时间让他timeout 04/14 19:10
2F:→ p790807: 你好,谢谢!请问是让arduino只传送讯号给processing 04/15 22:33
3F:→ p790807: 一段时间而已吗? 04/15 22:34
4F:推 nissptt: 听起来好像萤幕保护程式? 04/16 03:33
5F:→ nissptt: 也许找休眠相关题材会有答案 04/16 03:33