当前位置:首页Arduino > 正文

arduino超声波控制180度舵机旋转

作者:野牛程序员:2023-11-16 09:42:46Arduino阅读 3346

使用Arduino控制超声波传感器和180度舵机可以实现一个简单的距离测量和舵机控制系统。以下是一个基本的示例代码,使用Arduino编程语言:

#include <Servo.h>

const int trigPin = 9;  // 超声波传感器的触发引脚
const int echoPin = 10; // 超声波传感器的回声引脚
Servo servoMotor;       // 创建舵机对象

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  servoMotor.attach(6);  // 将舵机连接到数字引脚6
}

void loop() {
  long duration, distance;

  // 发送超声波脉冲
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // 读取超声波返回的时间
  duration = pulseIn(echoPin, HIGH);

  // 将时间转换为距离(厘米)
  distance = (duration / 2) / 29.1;

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  // 控制舵机根据距离旋转
  if (distance <= 10) {
    // 如果距离小于等于10厘米,舵机旋转到180度位置
    servoMotor.write(180);
  } else {
    // 否则,舵机回到0度位置
    servoMotor.write(0);
  }

  delay(500); // 延时以稳定输出
}

这段代码使用超声波传感器测量距离,如果距离小于等于10厘米,舵机将旋转到180度位置;否则,舵机将回到0度位置。请根据实际需要调整代码和连接。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击