2025全年免费资料公开

以下是一个简单的示例代码,展示了如何使用Arduino和两个伺服舵机来实现自动追踪物体的功能。这个示例使用两个伺服舵机来控制水平和垂直方向上的运动,通过连接一个距离传感器来检测物体的位置。

请注意,这只是一个基本的示例,实际应用可能需要更复杂的算法和硬件。

#include <Servo.h>

Servo horizontalServo;
Servo verticalServo;

const int horizontalPin = 9;  // 水平方向伺服舵机控制引脚
const int verticalPin = 10;   // 垂直方向伺服舵机控制引脚

const int distancePin = A0;   // 距离传感器引脚

const int targetDistance = 30; // 目标追踪距离

void setup() {
  horizontalServo.attach(horizontalPin);
  verticalServo.attach(verticalPin);

  Serial.begin(9600);
}

void loop() {
  // 读取距离传感器的值
  int distance = analogRead(distancePin);

  // 计算伺服舵机的角度
  int horizontalAngle = map(distance, 0, 1023, 0, 180);
  int verticalAngle = map(distance, 0, 1023, 180, 0);

  // 限制角度范围
  horizontalAngle = constrain(horizontalAngle, 0, 180);
  verticalAngle = constrain(verticalAngle, 0, 180);

  // 控制伺服舵机的运动
  horizontalServo.write(horizontalAngle);
  verticalServo.write(verticalAngle);

  // 打印信息
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.print("  Horizontal Angle: ");
  Serial.print(horizontalAngle);
  Serial.print("  Vertical Angle: ");
  Serial.println(verticalAngle);

  delay(100);
}

在这个示例代码中,距离传感器通过读取模拟引脚(A0)的值来测量物体与传感器之间的距离。然后,根据测量到的距离,计算出水平和垂直方向上伺服舵机的角度,并将角度值映射到合适的范围。最后,通过调用函数控制伺服舵机的运动。

这个示例代码非常简单,实际上,实现稳定的自动追踪功能可能需要更复杂的算法和更精确的硬件。


澳门200期资料论坛