const int trigPin = 9; //设置 Trig 脚
const int echoPin = 10; //设置 Echo 脚
const int stepPin = 8; //步进电机引脚
const int dirPin = 9; //方向引脚
int pulseDelay = 1000; //初始脉冲延时
void setup() {
Serial.begin(9600); //开启串口通信
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW); //设置 Trig 脚为低电平
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); //将 Trig 脚设为高电平
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long distance = pulseIn(echoPin, HIGH); //计算 Echo 脚返回的脉冲宽度
distance= distance/58; // 将时间转换为厘米
Serial.print("Distance: ");
Serial.print(distance); //串口输出距离
if(distance <= 10){ //如果距离小于等于10cm,降低步进电机转速
pulseDelay = 2000;
} else if(distance > 10 && distance <= 20){ //如果距离在10-20cm之间&#x
使用HC-SR04控制步进电机转速
最新推荐文章于 2024-07-16 18:08:27 发布