Arduino的多个超声波测距与processing的音频之间互动的问题
我想做一个包含3个超声波测距的Arduino程序,然后每个超声波到一定距离后,可以发出不同的声音,这是Arduino代码:
int srfPin[] = {2,4,6}; //定义srfPin发送引脚为2
int z; //定义全局变量z
int Distance; //定义距离寄存器存放测试距离数据
int duration; //定义脉宽寄存器
int data; //定义串口接收寄存器
int ultrasonic(int distance){
for(int i=0;i<3;i++){
digitalWrite(srfPin, LOW); // 确保在发送脉冲前保持该引脚为低电平
delayMicroseconds(2); //保持低电平2ms
digitalWrite(srfPin, HIGH); // 发送一个高脉冲开始测距
delayMicroseconds(10); //保持10ms
digitalWrite(srfPin, LOW); // 在等待脉冲返回来之前发送低电平
pinMode(srfPin, INPUT); //调整超声波引脚为输入
duration = pulseIn(srfPin, HIGH); // 从SRF05回波脉冲在读取在微秒
distance = duration/58; // 除以58就是我们要得到的厘米数
}
return distance; //返回厘米数
}
void setup(){
Serial.begin(9600); //打开串口并设置通信波特率为9600
pinMode(13,OUTPUT); //定义I1接口
}
void loop(){ //主程序开始
Distance = ultrasonic(z); //读取超声波值
Serial.write(byte(Distance));
delay(100);
}
那么,如何写个processing代码来使里面有声音并且每个超声波测距对应不同的音频呢? arduino通过sireal.print将参数送往窗口,processing从串口读数据,从而形成arduino和processing间的互动 我知道方式。就是不知道怎么写代码:'(:'( 本帖最后由 林定祥 于 2014-12-6 16:07 编辑
学过processing吗?Arduino和processing互动,请参考《processing互动编程艺术》的最后一章。不过你的问题是有多个传感器,而且距离会发生变化的,因此,这个变化你自己需定义的,这样送到串口的编码,在processing收到后就可以做相应的处理的。
页:
[1]