Files
esp8266_study/code/HC-SR04/HC-SR04.ino
2024-09-27 01:22:07 +08:00

46 lines
1.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 定义引脚编号
const int trigPin = 2; //D4
const int echoPin = 4; //D2
const int pinBuzzer = 5; //D1
// 定义变量
long duration;
int distance;
void setup() {
pinMode(pinBuzzer, OUTPUT);
digitalWrite(pinBuzzer, LOW);
pinMode(trigPin, OUTPUT); // 将trigPin设置为输出
pinMode(echoPin, INPUT); // 将echoPin设置为输入
Serial.begin(9600); // 启动串行通信
}
void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
//将trigPin设置为HIGH状态10微秒
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 读取echoPin以微秒为单位返回声波传播时间
duration = pulseIn(echoPin, HIGH);
// 计算距离
distance = duration * 0.034 / 2;
// 打印距离在串行监视器
Serial.print("Distance: ");
Serial.println(distance);
if (distance <= 20) { //如果距离小于10厘米小灯亮起
digitalWrite(LED_BUILTIN, LOW);
digitalWrite(pinBuzzer, HIGH);
} else {
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(pinBuzzer, LOW);
}
delay(1000);
}