arduino超声波测距控制舵机旋转角度代码
时间: 2023-06-03 13:07:47 浏览: 585
以下是Arduino超声波测距控制舵机旋转角度的代码,示例仅供参考:
```
#include <Servo.h>
Servo myservo; // 创建Servo对象来控制舵机的角度
int pos = 0; // 用于存储舵机的角度值
int trigPin = 13; // 超声波测距控制引脚
int echoPin = 12; // 超声波测距信号引脚
int maximumRange = 200; // 设置距离上限
long duration, distance; // 超声波测距的参数
void setup() {
pinMode(trigPin, OUTPUT); // 配置超声波控制引脚为输出模式
pinMode(echoPin, INPUT); // 配置超声波接收引脚为输入模式
myservo.attach(9); // 将舵机连接到9号引脚
}
void loop() {
digitalWrite(trigPin, LOW); // 设置引脚低电平
delayMicroseconds(2); // 延迟2微秒
digitalWrite(trigPin, HIGH); // 设置引脚为高电平
delayMicroseconds(10); // 延迟10微秒
digitalWrite(trigPin, LOW); // 再次设为低电平
duration = pulseIn(echoPin, HIGH); // 读取信号脉冲宽度,单位为微秒
distance = duration / 58.2; // 计算距离,单位是厘米
if (distance >= 0 && distance <= maximumRange) { // 距离有效
pos = map(distance, 0, maximumRange, 0, 180); // 将距离映射为舵机角度
myservo.write(pos); // 舵机转到对应的角度
}
}
```
希望以上代码能够满足您的需求。