NodeMCU mqtt led 亮度控制

嗨,我想通过 mqtt 控制一个 LED,但我找不到一种方法来将 LED 设置为我发送到 nodemcu 的值。现在我尝试这样做,但它只能进行值为0(然后它关闭)或更高(然后它开启)的操作,而不能实现调光。

if(topic=="ledstrip/red") {
  Serial.print("Changing RED Lights to ");
  if(messageTemp == "on"){
    for (int r = 0; r < 1023; r++) {
      analogWrite(ledstrip_red, r);
      delay(1);
    }
    digitalWrite(ledstrip_red, HIGH);
    Serial.print("On");
  } else if(messageTemp == "off"){
    digitalWrite(ledstrip_red, HIGH);
    for (int r = 1023; r > 0; r--) {
      analogWrite(ledstrip_red, r);
      delay(1);
    }
    digitalWrite(ledstrip_red, LOW);
    Serial.print("Off");
  } else {
    Serial.print("Changing RED Brightness to ");
    digitalWrite(ledstrip_red, messageTemp.toInt());
    Serial.print(messageTemp);
}
点赞
用户504554
用户504554

digitalWrite() 只能将值设置为 0 或 1。

2019-07-05 12:56:14