Где в этом скетче ошибка?

Тема в разделе "Arduino & Shields", создана пользователем K-45M-RU-3000, 26 июл 2017.

  1. K-45M-RU-3000

    K-45M-RU-3000 Нуб

    #define BUTTON_PIN 3
    #define LED_PIN 5
    #define BUTTON_PIN_1 4
    #define LED_PIN_1 6

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

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

    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;

    { boolean buttonIsUpIP = digitalRead(BUTTON_PIN_1);

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

    // запоминаем последнее состояние кнопки для новой итерации
    buttonWasUpIP = buttonIsUpIP;}
    }
    #define BUTTON_PIN 3
    #define LED_PIN 5
    #define BUTTON_PIN_1 4
    #define LED_PIN_1 6

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

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

    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;

    { boolean buttonIsUpIP = digitalRead(BUTTON_PIN_1);

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

    // запоминаем последнее состояние кнопки для новой итерации
    buttonWasUpIP = buttonIsUpIP;}
    }
     
  2. K-45M-RU-3000

    K-45M-RU-3000 Нуб

    уже все:
    #define BUTTON_PIN 3
    #define LED_PIN 5
    #define BUTTON_PINF 4
    #define LED_PINF 6

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

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

    void loop()
    {
    digitalWrite(LED_PINF, HIGH);
    boolean buttonUp = digitalRead(BUTTON_PINF);
    boolean buttonIsUp = digitalRead(BUTTON_PIN);
    if (buttonWasUp && !buttonIsUp) {
    delay(10);
    // ...и считываем сигнал снова
    buttonIsUp = digitalRead(BUTTON_PIN);
    if (!buttonIsUp) {
    ledEnabled = !ledEnabled;
    digitalWrite(LED_PIN, ledEnabled);
    }
    }
    if (!buttonUp) {

    delay(10);

    buttonUp = digitalRead(BUTTON_PINF);
    if (!buttonUp) {
    digitalWrite(LED_PINF, LOW);
    delay(10000);
    digitalWrite(LED_PINF, HIGH);

    }
    }
    buttonWasUp = buttonIsUp;
    }
     
  3. NikitOS

    NikitOS Король шутов Администратор

    Сколько говорить про коды и вставку?!:eek::eek::eek::eek::eek::eek::eek::eek::mad::mad::mad::mad::eek::eek::eek::eek::eek::eek::eek::eek::eek:
     
  4. DetSimen

    DetSimen Guest

    Ошибка в ХЗ какой строке.
     
  5. NikitOS

    NikitOS Король шутов Администратор

    Не исправленный код!!!для чтения!!
    Код (C++):
    #define BUTTON_PIN 3
    #define LED_PIN 5
    #define BUTTON_PINF 4
    #define LED_PINF 6

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

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

    void loop()
    {
    digitalWrite(LED_PINF, HIGH);
    boolean buttonUp = digitalRead(BUTTON_PINF);
    boolean buttonIsUp = digitalRead(BUTTON_PIN);
    if (buttonWasUp && !buttonIsUp) {
    delay(10);
    // ...и считываем сигнал снова
    buttonIsUp = digitalRead(BUTTON_PIN);
    if (!buttonIsUp) {
    ledEnabled = !ledEnabled;
    digitalWrite(LED_PIN, ledEnabled);
    }
    }
    if (!buttonUp) {

    delay(10);

    buttonUp = digitalRead(BUTTON_PINF);
    if (!buttonUp) {
    digitalWrite(LED_PINF, LOW);
    delay(10000);
    digitalWrite(LED_PINF, HIGH);

    }
    }
    buttonWasUp = buttonIsUp;
    }
     
  6. NikitOS

    NikitOS Король шутов Администратор

    Я так понял что здесь нет элемента для второй пары(кнопка светодиод)?!
    Типа
    Код (C++):
    ButtonWasUp = ButtonIsUp