我想做一个包含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代码来使里面有声音并且每个超声波测距对应不同的音频呢? |