arduino超声波控制舵机转45度循环三次
时间: 2023-07-30 20:10:11 浏览: 112
360°舵机控制
5星 · 资源好评率100%
以下是使用Arduino控制超声波模块和舵机的示例代码,实现控制舵机转动45度,循环3次的功能。请将超声波模块的Trig引脚连接到Arduino的13号引脚,Echo引脚连接到12号引脚,舵机信号线连接到9号引脚。
```
#include <Servo.h>
Servo myservo; //创建舵机对象
int trigPin = 13; //超声波模块的Trig引脚连接到Arduino的13号引脚
int echoPin = 12; //超声波模块的Echo引脚连接到Arduino的12号引脚
long duration, cm;
int angle = 0; //舵机初始角度为0
void setup() {
myservo.attach(9); //舵机信号线连接到9号引脚
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 3; i++) { //循环3次
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
cm = duration / 58; //将超声波传回的时间转换为距离
Serial.print(cm);
Serial.print("cm");
if (cm < 20) { //如果距离小于20厘米,舵机转动45度
angle += 45; //舵机旋转45度
myservo.write(angle); //控制舵机转动到指定角度
delay(500); //延迟500毫秒
}
delay(500);
}
}
```
请注意,以上代码仅供参考,具体实现还需根据实际情况进行调整。
阅读全文