Arduino的多个超声波测距与processing的音频之间互动的问题.docxVIP

  • 10
  • 0
  • 约1.25千字
  • 约 1页
  • 2021-09-04 发布于广东
  • 举报

Arduino的多个超声波测距与processing的音频之间互动的问题.docx

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

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档