Arduino红外线控制的淡入淡出问题

时间:2019-04-29 23:20:05

标签: arduino arduino-uno light arduino-c++

从不编码。我在向该代码添加淡入淡出功能时遇到问题。我增加了50个极限。我希望LED越接近极限就变得越暗。但是,我要的还是在50点后熄灭。我正在使用SHARP 2Y0A02 F 26红外传感器来测量距离。

我玩过不同的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时逐渐变亮。

0 个答案:

没有答案