超声波跟随小车的代码生成,arduino
时间: 2023-08-07 21:06:33 浏览: 134
基于arduino的跟随小车
以下是超声波跟随小车的Arduino代码示例:
```
#include <AFMotor.h>
AF_DCMotor motor1(1); //定义电机1
AF_DCMotor motor2(2); //定义电机2
const int trigPin = 9; //超声波测距模块的Trig引脚连接到Arduino的数字引脚9
const int echoPin = 10; //超声波测距模块的Echo引脚连接到Arduino的数字引脚10
void setup() {
Serial.begin(9600); //初始化串口通信
pinMode(trigPin, OUTPUT); //设置Trig引脚为输出模式
pinMode(echoPin, INPUT); //设置Echo引脚为输入模式
motor1.setSpeed(200); //设置电机1的速度
motor2.setSpeed(200); //设置电机2的速度
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); //将Trig引脚设置为低电平
delayMicroseconds(2); //等待2微秒
digitalWrite(trigPin, HIGH); //将Trig引脚设置为高电平
delayMicroseconds(10); //等待10微秒
digitalWrite(trigPin, LOW); //将Trig引脚设置为低电平
duration = pulseIn(echoPin, HIGH); //读取Echo引脚的脉冲宽度
distance = duration / 58.2; //计算距离,单位为厘米
Serial.print("Distance: ");
Serial.println(distance); //打印距离到串口监视器
if (distance < 10) { //如果距离小于10厘米
motor1.run(BACKWARD); //电机1后退
motor2.run(BACKWARD); //电机2后退
} else { //否则
motor1.run(FORWARD); //电机1前进
motor2.run(FORWARD); //电机2前进
}
}
```
在这个例子中,我们使用了AFMotor库来控制电机,使用超声波模块来测量距离。在setup()函数中,我们初始化串口通信,设置Trig和Echo引脚的模式,以及设置电机的速度。在loop()函数中,我们使用pulseIn()函数读取Echo引脚的脉冲宽度,并计算距离。如果距离小于10厘米,我们就让电机向后转动;否则电机向前转动。
阅读全文