Управление яркостью светодиода NodeMCU mqtt

Привет, я хочу управлять светодиодом через mqtt, но не могу найти способ установить для светодиода значение, которое я отправляю на 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);       
}

person Tim    schedule 05.07.2019    source источник
comment
Могу ли я предложить вам изучить ШИМ?   -  person hardillb    schedule 05.07.2019
comment
я знаю что такое пвм   -  person Tim    schedule 05.07.2019
comment
Тогда вы знаете, как решить эту проблему   -  person hardillb    schedule 05.07.2019
comment
Обычно нет, если вы выполняете digitalWrite(ledstrip_red, 1023); он идет полностью правильно? Но почему бы и нет, когда я возьму сообщение и поставлю его вместо 1023   -  person Tim    schedule 05.07.2019
comment
digitalWrite() можно установить только значение 0 или 1   -  person hardillb    schedule 05.07.2019
comment
Спасибо, я совсем забыл о том, что я должен использовать аналоговую запись для яркости, теперь она работает   -  person Tim    schedule 05.07.2019
comment
Извините за такой тупой вопрос   -  person Tim    schedule 05.07.2019


Ответы (1)


digitalWrite() можно установить только значение 0 или 1

person hardillb    schedule 05.07.2019