这里我们需要两个硬件:

    • Arduino UNO开发板
    • HC-SRO4超声波传感器20200308202302616.jpg20200308202433195.jpg

    代码:
    const int TrigPin = 2;
    const int EchoPin = 3;
    float cm;

    void setup()
    { Serial.begin(9600);
    pinMode(TrigPin, OUTPUT);
    pinMode(EchoPin, INPUT);
    pinMode(13, OUTPUT);
    }

    void loop()
    { digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
    delayMicroseconds(2);
    digitalWrite(TrigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(TrigPin, LOW);
    cm = pulseIn(EchoPin, HIGH) / 58; //将回波时间换算成cm
    cm = (int(cm * 100)) / 100; //保留两位小数
    if (cm < 10)
    {digitalWrite(13, HIGH);
    delay(100);
    digitalWrite(13, LOW);
    }
    else if (cm > 10 && cm < 50)
    {digitalWrite(13, HIGH);
    delay(300);
    digitalWrite(13, LOW);
    }
    else if (cm > 50)
    {digitalWrite(13, HIGH);
    delay(10);
    digitalWrite(13, LOW);
    }
    Serial.print(cm);
    Serial.print(“cm”);//串口输出
    Serial.println();
    }

    1、距离足够远时,灯常亮
    2、准备接近物体时,灯闪烁,但速度较慢
    3、即将碰到物体时,灯快速闪烁
    202003082046332.png