ardunio超声波传感器控制舵机转45度
时间: 2023-10-04 12:12:13 浏览: 45
可以使用以下的代码实现:
```
#include <Servo.h>
Servo myservo; //创建一个Servo对象
int trigPin = 13; // 超声波模块的Trig引脚连接到Arduino的13号引脚
int echoPin = 12; // 超声波模块的Echo引脚连接到Arduino的12号引脚
void setup() {
myservo.attach(9); //将舵机连接到9号引脚
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print(distance);
Serial.println(" cm");
if (distance <= 20) { // 当距离小于等于20cm时,舵机转动45度
myservo.write(45);
} else {
myservo.write(0);
}
delay(100);
}
```
代码的注释已经解释了每个步骤的含义,主要就是通过超声波传感器测量距离,当距离小于等于20厘米时,舵机会转动45度。注意要在setup函数中将舵机连接到相应的引脚。