Arduino 舵机和超声波避障代码:实现简单避障功能

本代码使用 Arduino 控制舵机和超声波传感器,实现简单避障功能。当超声波传感器检测到前方物体距离小于 30 厘米时,舵机向左转;否则向右转。代码附带详细注释,方便学习和理解。

#include <Servo.h>

Servo myservo;  // 创建一个舵机对象
int trigPin = 7;  // 定义超声波探头的引脚
int echoPin = 8;
long duration, distance;  // 定义超声波探头测量的距离和时间变量

void setup() {
  myservo.attach(9);  // 将舵机连接到 9 号引脚
  pinMode(trigPin, OUTPUT);  // 将 trigPin 定义为输出
  pinMode(echoPin, INPUT);  // 将 echoPin 定义为输入
  Serial.begin(9600);  // 启动串口通信
}

void loop() {
  // 发送一个 10 微秒的高电平脉冲到 trigPin
  digitalWrite(trigPin, HIGH);  
d  delayMicroseconds(10);  
  digitalWrite(trigPin, LOW);

  // 计算超声波探头测量的距离
  duration = pulseIn(echoPin, HIGH);  
  distance = duration / 58.2;

  // 如果距离小于 30 厘米,则舵机向左转
  if (distance < 30) {
    myservo.write(0);  // 将舵机旋转到 0 度
  }
  // 如果距离大于 30 厘米,则舵机向右转
  else {
    myservo.write(90);  // 将舵机旋转到 90 度
  }

  // 输出距离到串口监视器
  Serial.print('Distance: ');
  Serial.print(distance);
  Serial.println(' cm');

  delay(100);  // 延迟 100 毫秒
}

代码的原理是,超声波探头发出一定频率的超声波,并在接收到反射回来的超声波后计算出物体与探头之间的距离。如果距离小于 30 厘米,舵机向左转,否则舵机向右转。同时,距离也会输出到串口监视器。

使用说明:

  1. 将超声波传感器连接到 Arduino 的数字引脚 7 和 8,舵机连接到数字引脚 9。
  2. 将代码上传到 Arduino 板。
  3. 打开串口监视器,观察距离值。

注意事项:

  • 超声波传感器需要在空旷的环境下使用,避免周围有其他物体干扰。
  • 舵机旋转角度需要根据实际情况进行调整。

更多信息:

扩展应用:

  • 可以使用多个超声波传感器,实现更复杂的避障功能。
  • 可以将代码与其他传感器结合,实现更多功能,例如自动驾驶、智能家居等。
Arduino 舵机和超声波避障代码:实现简单避障功能

原文地址: https://www.cveoy.top/t/topic/nWcR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录