从来没有编码过。我无法向此代码添加淡入淡出功能。我添加了 50 的限制。我希望 LED 越接近限制越暗。然而,在 50 岁之后,灯光确实会熄灭,这也是我正在寻找的。我正在使用 SHARP 2Y0A02 F 26 IR 传感器来测量距离。
我玩过不同的 IF 循环,但没有成功。当我尝试没有限制的代码时,它会很好地褪色,但是我需要在限制内达到相同的效果。
#define sensor A0 // Sharp IR 2Y0A02 F 26
int led = 6;
int brightness = 0;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
analogWrite(led, brightness);
// 5v
float volts = analogRead(sensor) * 0.0048828125; // value from sensor * (5/1024)
int distance = 9462/(analogRead(sensor) - 16.92); // Distance in CM
int fade = distance;
delay(1000); // slow down serial port
if (distance <= 50) {
brightness = -distance;
}
else {
brightness = 0;
}
Serial.println(distance); // print the distance
}
我希望光线在 50 度时非常暗淡,并在物体接近 0 时逐渐变亮。