Помогите пожалуйста исправить

Тема в разделе "Флудилка", создана пользователем Evgen Mok, 1 июл 2014.

  1. Evgen Mok

    Evgen Mok Нуб

    Код мне залили и дали запасной. Случайно обнулил, запасной с ошибкой не понимаю где она так как не очень разбираюсь в этом . тех поддержки нет . ПОМОГИТЕ ![​IMG] [​IMG]
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Выложите код не скриншотом, а в виде текста. Тогда кто-нибудь сможет его попробовать скомпилировать у себя и поискать ошибку. Набивать код со скриншота никто не будет, ИМХО.
     
  3. Evgen Mok

    Evgen Mok Нуб

    ок спасибо
     
  4. Evgen Mok

    Evgen Mok Нуб

    #include <Servo.h>


    #define BUTTON_PIN 3
    #define LED_PIN 13
    #define SERVO 9

    boolean buttonWasUp = true; // была ли кнопка отпущена?
    boolean ledEnabled = false; // включен ли свет?\
    Servo myServo;

    void setup()
    {
    pinMode(LED_PIN, OUTPUT);
    pinMode(BUTTON_PIN, INPUT_PULLUP);
    myServo.attach(SERVO);
    }

    void loop()
    {
    // определить момент «клика» несколько сложнее, чем факт того,
    // что кнопка сейчас просто нажата. Для определения клика мы
    // сначала понимаем, отпущена ли кнопка прямо сейчас...
    boolean buttonIsUp = digitalRead(BUTTON_PIN);

    // ...если «кнопка была отпущена и (&&) не отпущена сейчас»...
    if (buttonWasUp && !buttonIsUp) {
    // ...может это «клик», а может и ложный сигнал (дребезг),
    // возникающий в момент замыкания/размыкания пластин кнопки,
    // поэтому даём кнопке полностью «успокоиться»...
    delay(10);
    // ...и считываем сигнал снова
    buttonIsUp = digitalRead(BUTTON_PIN);
    if (!buttonIsUp) { // если она всё ещё нажата...
    // ...это клик! Переворачиваем сигнал светодиода
    ledEnabled = !ledEnabled;
    digitalWrite(LED_PIN, ledEnabled);
    }
    }

    // запоминаем последнее состояние кнопки для новой итерации
    buttonWasUp = buttonIsUp;

    if (ledEnabled) //если светодиод горит - то поворачиваем на 45 град
    {
    myServo.write(45);
    }
    else
    {
    myServo.write(90); //а если нет - то поворачиваем на 90 град
    }
    }
     
  5. Megakoteyka

    Megakoteyka Оракул Модератор

    Код (Text):
    #include <Servo.h>

    #define BUTTON_PIN 3
    #define LED_PIN 13
    #define SERVO 9

    boolean buttonWasUp = true; // была ли кнопка отпущена?
    boolean ledEnabled = false; // включен ли свет?\

    Servo myservo;

    void setup()
    {
      pinMode(LED_PIN, OUTPUT);
      pinMode(BUTTON_PIN, INPUT_PULLUP);

      myservo.attach(9);
    }

    void loop()
    {
      // определить момент «клика» несколько сложнее, чем факт того,
      // что кнопка сейчас просто нажата. Для определения клика мы
      // сначала понимаем, отпущена ли кнопка прямо сейчас...
      boolean buttonIsUp = digitalRead(BUTTON_PIN);

      // ...если «кнопка была отпущена и (&&) не отпущена сейчас»...
      if (buttonWasUp && !buttonIsUp) {
        // ...может это «клик», а может и ложный сигнал (дребезг),
        // возникающий в момент замыкания/размыкания пластин кнопки,
        // поэтому даём кнопке полностью «успокоиться»...
        delay(10);
        // ...и считываем сигнал снова
        buttonIsUp = digitalRead(BUTTON_PIN);
        if (!buttonIsUp) { // если она всё ещё нажата...
          // ...это клик! Переворачиваем сигнал светодиода
          ledEnabled = !ledEnabled;
          digitalWrite(LED_PIN, ledEnabled);
        }
      }

      // запоминаем последнее состояние кнопки для новой итерации
      buttonWasUp = buttonIsUp;

      if (ledEnabled) //если светодиод горит - то поворачиваем на 45 град
      {
        myservo.write(45);
      }
      else
      {
        myservo.write(90); //а если нет - то поворачиваем на 90 град
      }
    }
     
    Теперь компилируется. В чем причина ошибки, я так и не понял. Открыл пример из библиотеки Servo - все скомпилировалось. Вставил строки оттуда в Ваш код - на них компилятор не ругался почему-то. Вся разница в одной букве. Но компилятору совершенно по барабану как называются переменные, если название корректно и отвечает правилам именования. Чертовщина какая-то.
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Исправил имена обратно и оно снова скомпилировалось. Чудеса :)
     
  7. Evgen Mok

    Evgen Mok Нуб

    Все работает СПАСИБО ОГРОМНОЕ!