设计一个关于Arduino的超声波控制LED亮度的代码
时间: 2024-02-17 11:00:57 浏览: 135
好的,以下是一个简单的Arduino代码,实现超声波控制LED亮度的功能:
```arduino
const int trigPin = 9; // 超声波发送引脚
const int echoPin = 10; // 超声波接收引脚
const int ledPin = 6; // LED灯控制引脚
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);
// 接收超声波信号并计算距离
long duration = pulseIn(echoPin, HIGH);
int distance = duration / 58;
// 根据距离计算LED亮度并控制LED灯亮度
int brightness = map(distance, 0, 200, 0, 255);
analogWrite(ledPin, brightness);
// 输出距离和亮度值到串口监视器
Serial.print("Distance: ");
Serial.print(distance);
Serial.print("cm, Brightness: ");
Serial.println(brightness);
delay(100);
}
```
这个代码中,我们使用超声波模块测量距离,并根据距离计算出LED灯的亮度值,然后使用`analogWrite`函数控制LED灯的亮度。您可以根据需要修改代码中的引脚号和距离亮度的映射关系。
阅读全文