Wemos D1 mini не работает код после перезагрузки

Приветствую. Столкнулся с такой проблемой, загружаю код и он работает, но как только я отключаю питание или нажимаю на кнопку RESET - все гаснет и код перестает работать. В чем может быть дело? У меня есть две платы и на обоих такая проблема. Схожу за третьей, но что то мне подсказывает что будет тоже самое
Приложу код на всякий случай

const int ledPin = 5;
const int buttonPin = 0;
int currentPwmValue = 0;
unsigned long previousMillis = 0;
const long interval = 10;
const int fadeSpeedUp = 10;
const int fadeSpeedDown = 5;

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  bool button = digitalRead(buttonPin);
  Serial.print("Button: ");
  Serial.println(button);

  int pwm = analogRead(A0);

  if (button == HIGH) {
    int targetPwmValue = map(pwm, 0, 1023, 0, 255);
    if (targetPwmValue != currentPwmValue) {
      unsigned long currentMillis = millis();
      if (currentMillis - previousMillis >= interval) {
        if (targetPwmValue > currentPwmValue) {
          currentPwmValue += fadeSpeedUp;
          if (currentPwmValue > targetPwmValue) {
            currentPwmValue = targetPwmValue;
          }
        } else {
          currentPwmValue -= fadeSpeedDown;
          if (currentPwmValue < targetPwmValue) {
            currentPwmValue = targetPwmValue;
          }
        }
        analogWrite(ledPin, currentPwmValue);
        previousMillis = currentMillis;
      }
    }
  } else {
    analogWrite(ledPin, 0);
    currentPwmValue = 0;
  }
}
1 лайк

Еще бы и схему приложил. Думается мне, что на 99% виновника в схеме искать нужно, а не в коде.

1 лайк

Ну и на всякий случай можно попробовать delay(2000); в первой строке setup().

1 лайк

скетч не смотрел, но почитать это рекомендую

ожидаемо…

Спасибо, нашел виновника - резистор подтяжки кнопки. Похоже слишком низкого номинала оказался. После отпайки начал работать код и после перезагрузки.