当物体在2厘米到4米的范围内时,Arduino会点亮LED灯。 如果目标距离雷达2cm,LED灯应完全亮起。 如果物体距离雷达超过4米,LED应该完全关闭, 随着物体越来越近,LED应该更亮。 当物体离得更远时,LED应该变暗。
时间: 2024-02-21 10:59:07 浏览: 192
点亮一个LED灯
可以使用Arduino来控制LED灯的亮度,根据超声波雷达的测量结果来调整LED灯的亮度。以下是一份可能的代码示例:
```
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 11;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration / 58;
if (distance >= 2 && distance <= 4) {
analogWrite(ledPin, map(distance, 2, 4, 255, 0));
} else if (distance < 2) {
analogWrite(ledPin, 255);
} else {
analogWrite(ledPin, 0);
}
Serial.print(distance);
Serial.println(" cm");
delay(100);
}
```
在上述代码中,超声波模块连接到Arduino的引脚9和10上,LED灯连接到引脚11上。当超声波雷达测量到的距离在2cm到4cm之间时,使用`map()`函数将距离映射到LED灯亮度值的范围(0到255),并通过`analogWrite()`函数调整LED灯的亮度。当距离小于2cm时,LED灯完全亮起,当距离超过4cm时,LED灯完全关闭。最后,通过`Serial.println()`函数将测量到的距离输出到串口监视器中。
阅读全文