超声波控制led灯代码
时间: 2023-10-11 22:05:59 浏览: 167
以下是一个基本的Arduino代码,用于使用超声波传感器控制LED灯的亮度:
```c++
const int trigPin = 9; //定义超声波信号发射引脚
const int echoPin = 10; //定义超声波信号接收引脚
int ledPin = 11; //定义LED引脚
long duration, distance; //定义超声波接收的时间和距离
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600); //初始化串口通信
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //发射超声波信号
duration = pulseIn(echoPin, HIGH); //接收超声波信号时间
distance = duration * 0.034 / 2; //计算距离
Serial.print("Distance: ");
Serial.println(distance); //串口输出距离
if (distance <= 20) { //当距离小于等于20厘米时,LED亮度为100%
analogWrite(ledPin, 255);
} else if (distance > 20 && distance <= 40) { //当距离在20-40厘米之间时,LED亮度为50%
analogWrite(ledPin, 128);
} else { //当距离大于40厘米时,LED亮度为0%
analogWrite(ledPin, 0);
}
delay(100); //延时100毫秒
}
```
在这个代码中,我们使用了一个超声波传感器来检测距离,并根据距离来控制LED灯的亮度。当距离小于等于20厘米时,LED灯亮度最高,当距离在20-40厘米之间时,LED灯亮度为50%,当距离大于40厘米时,LED灯灭掉。您可以根据需要修改代码来实现不同的功能。
阅读全文