Ошибка exit status 1 'brightness' was not declared in this scope. Подскажите, что делать.

Тема в разделе "Arduino & Shields", создана пользователем Norrka, 12 июн 2018.

  1. Norrka

    Norrka Нуб

    #define PLUS_BUTTON_PIN 2
    #define MINUS_BUTTON_PIN 3
    #define LED_PIN 9

    int britness = 100;
    boolean plusUp = true;
    boolean minusUp = true;

    void setup()
    {
    pinMode(LED_PIN, OUTPUT);
    pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP);
    pinMode(MINUS_BUTTON_PIN,INPUT_PULLUP);
    }

    void loop()
    {
    analogWrite(LED_PIN, brightness);
    plusUp = handlwClick(PLUS_BUTTON_PIN, plusUp, +35);
    minusUp = handleClick(MINUS_BUTTON_PIN, minusUp, -35);
    }
    boolean handleClick(int buttonPin, boolean wasUp, int delta)
    {
    boolean isUp = digitalRead(buttonPin);
    if (wasUp && !isUp) {
    delay(10);
    isUp = digitalRead(buttonPin);
    if(!isUp)
    brightness = constrain(brightness + delta, 0, 255);
    }
    return isUp;
    }
     
  2. ИгорьК

    ИгорьК Давно здесь

    А что за ошибка в переводе на русский?
     
  3. Norrka

    Norrka Нуб

    Не было объявлено в этой области
     
  4. ИгорьК

    ИгорьК Давно здесь

    Что конкретно не было объявлено и как это выглядит в скетче?
     
  5. Norrka

    Norrka Нуб

    brightness не объявлено
     
  6. Norrka

    Norrka Нуб

    #define PLUS_BUTTON_PIN 2
    #define MINUS_BUTTON_PIN 3
    #define LED_PIN 9

    int brightness = 100;
    boolean plusUp = true;
    boolean minusUp = true;

    void setup()
    {
    pinMode(LED_PIN, OUTPUT);
    pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP);
    pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP);
    }

    void loop()
    {
    analogWrite(LED_PIN, brightness);
    // реагируем на нажатия с помощью функции, написанной нами
    plusUp = handleClick(PLUS_BUTTON_PIN, plusUp, +35);
    minusUp = handleClick(MINUS_BUTTON_PIN, minusUp, -35);
    }
    // Собственная функция с 3 параметрами: номером пина с кнопкой
    // (buttonPin), состоянием до проверки (wasUp) и градацией
    // яркости при клике на кнопку (delta). Функция возвращает
    // (англ. return) обратно новое, текущее состояние кнопки
    boolean handleClick(int buttonPin, boolean wasUp, int delta)
    {
    boolean isUp = digitalRead(buttonPin);
    if (wasUp && !isUp) {
    delay(10);
    isUp = digitalRead(buttonPin);
    // если был клик, меняем яркость в пределах от 0 до 255
    if (!isUp)
    brightness = constrain(brightness + delta, 0, 255);
    }
    return isUp; // возвращаем значение обратно, в вызывающий код
    }

    ЭТО СКЕТЧ
     
  7. ИгорьК

    ИгорьК Давно здесь

    А теперь смотрите свой код внимательнее. Пристально.
     
    Daniil нравится это.
  8. ИгорьК

    ИгорьК Давно здесь

    В этих двух кодах есть различия в определении переменной.
    И, пожалуйста, отформатируйте код правильно.
     
    Daniil нравится это.
  9. Norrka

    Norrka Нуб

    Подскажите, где. Максимально внимательно просмотрел.
     
  10. ИгорьК

    ИгорьК Давно здесь

    В первом коде 4 строчка. Неужели не видите ошибки?
     
  11. ИгорьК

    ИгорьК Давно здесь

    Лучше немного почитать книжки по Си. Это тривиальная ошибка, встречающееся постоянно - переменная и ее определение различаются в написании, просто описка.
    Но стоит понимать ее суть. Переменные объявляются до их применения. Если вылетает такая ошибка, значит проблема в паре объявление-применение
     
    DetSimen и Daniil нравится это.