作者p790807 (卡丘)
看板ASM
标题[问题] Arduino和Processing结合
时间Sat Jan 11 17:59:05 2014
请教对这两个软体熟悉的大大~
想请问连接arduino和processing的问题
我想要用两个感测器去控制processing的图案
其中一个是超音波感测器,另一个是光敏电阻
而processing也很简单,只是希望当越接近超音波感测器时,方形会越靠左边
而当光线值小於某值之後,processing会出现一个圆
但现在问题来了
上网找了连接的程式後
我只知道要怎麽接一个感测器
不知道若要用到两个感测器时要怎麽写
以去区分两种不同的功能@@
-------------------------------------------------
Arduino端如下:
const int ping Pin =11;
int duration, cm;
int photocellPin=2;
int photocellVal=0;
void setup(){
Serial.begin(9600);
}
void loop(){
photocellVal=analogRead(photocellPin); //光敏电阻
Serial.write(photocellVal); //这里要传一个光敏值
pinMode(pingPin,OUTPUT); //超音波感测器
digitalWrite(pingPin,LOW);
delayMicroseconds(2);
digitalWrite(pingPin,HIGH);
delayMicroseconds(5);
digitalWrite(pingPin,LOW);
pinMode(pingPin,INPUT);
duration=pulseIn(pingPin,HIGH);
cm=durartion/74;
Serial.write(cm); //这里也要传一个超音波值
delay(100);
}
--------------------------------------------
Processing端如下
import processing.serial.*;
Serial.serial;
int cm;
void setup(){
size(165,200);
background(0);
serial=new Serial(this,"COM6", 9600);
}
void draw(){
if(serial.available()>0){
cm=serial.read(); //这里就出现问题了,好像只能塞得下一种感测器值?
background(255);
fill(255,0,0);
rect(cm,80,50,50);
if(photocellVal<20){
fill(0,0,255);
ellipse(80,6*cm,60,60);
}
}
}
这样出来我的Processing的方块和圆会同时被超音波和光敏值影响@@
请问要怎麽写才可以区分@@
不确定这里可否问这一类的问题@@
但我现在真的有点一头雾水@@
再请大大帮忙了!感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.32.93
1F:→ mosquito520:传送的时候加上特定格式作区别 01/12 04:01
2F:→ mosquito520:接收的时候根据前面的格式判别现在收的是啥资料 01/12 04:01
3F:→ p790807:特定格式的意思是.? 有点不是很懂> < 大大可以举个范例吗? 01/12 11:11
4F:→ morewatertw:假设传送资料时第一笔固定以0x01表示超音波 01/12 16:40
5F:→ morewatertw:0x02表示光敏电阻,接收端就会知道是哪个感测器的资料 01/12 16:41
6F:→ morewatertw:根据相对应的资料再分别处理方块跟圆的动作 01/12 16:43