Помогите разобраться почему происходит ошибка при компиляции

Тема в разделе "Флудилка", создана пользователем Vadim-13, 1 фев 2017.

  1. Vadim-13

    Vadim-13 Нуб

    Здравствуйте. Помогите разобраться почему происходит ошибка при компиляции.

    По одельности эти скетчи работают, но когда собираю вместе происходит ошибка (((

    1 sketch_feb01a.ino
    2 sketch_feb01b.ino
    Вместе sketch_feb01c.ino происходит ошибка.
     

    Вложения:

  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    пины совпадают.

    int не может быть дробным числом.

    ересь. Либо пин h3PIN, либо h4PIN.
     
    Последнее редактирование: 1 фев 2017
  3. Vadim-13

    Vadim-13 Нуб

    Пины поменял
    #define t1PIN 13 // Управление нагрузкой
    #define t2PIN 12 // Управление нагрузкой
    #define h2PIN 9 // Пин управление витяжкой основной
    #define h3PIN 10 // Управление нагрузкой

    int поменял на
    float

    Здесь поменял
    DateTime now = rtc.now();
    if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45))
    {
    digitalWrite(h3PIN, HIGH);
    }
    else
    {
    digitalWrite(h3PIN, LOW);
    delay(1000);

    Но всеравно ошибка ((
     

    Вложения:

  4. Tomasina

    Tomasina Сушитель лампочек Модератор

    какая ошибка-то? Телепаты в отпуске.

    P.S. это условие никогда не выполнится:
    Число не может быть одновременно равным 10 и меньше 15.
     
  5. Vadim-13

    Vadim-13 Нуб

    In file included from C:\Users\Кулеш\Documents\Arduino\sketch_feb01c\sketch_feb01c.ino:2:0:

    C:\Program Files (x86)\Arduino\libraries\HTU21D-master/HTU21D.h:66:7: error: redeclaration of 'ON'

    ON = 0x04, /* Heater ON */

    ^

    In file included from C:\Users\Кулеш\Documents\Arduino\sketch_feb01c\sketch_feb01c.ino:1:0:

    C:\Program Files (x86)\Arduino\libraries\RTClib-master/RTClib.h:79:37: note: previous declaration 'Ds1307SqwPinMode ON'

    enum Ds1307SqwPinMode { OFF = 0x00, ON = 0x80, SquareWave1HZ = 0x10, SquareWave4kHz = 0x11, SquareWave8kHz = 0x12, SquareWave32kHz = 0x13 };

    ^

    In file included from C:\Users\Кулеш\Documents\Arduino\sketch_feb01c\sketch_feb01c.ino:2:0:

    C:\Program Files (x86)\Arduino\libraries\HTU21D-master/HTU21D.h:67:7: error: redeclaration of 'OFF'

    OFF = 0xFB /* Heater OFF */

    ^

    In file included from C:\Users\Кулеш\Documents\Arduino\sketch_feb01c\sketch_feb01c.ino:1:0:

    C:\Program Files (x86)\Arduino\libraries\RTClib-master/RTClib.h:79:25: note: previous declaration 'Ds1307SqwPinMode OFF'

    enum Ds1307SqwPinMode { OFF = 0x00, ON = 0x80, SquareWave1HZ = 0x10, SquareWave4kHz = 0x11, SquareWave8kHz = 0x12, SquareWave32kHz = 0x13 };

    ^

    exit status 1
    Ошибка компиляции.
     
  6. Vadim-13

    Vadim-13 Нуб

    if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45))

    все работает в 10 минут включается в 15 выключается, потом в 40 минут вкл, а в 45 выключается.

    Когда скетч 1 sketch_feb01a.ino залить он работает.
    А когда вместе с sketch_feb01b.ino тогда выдает ошибку.
     
  7. Vadim-13

    Vadim-13 Нуб

    )) Ошибся if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45)) не будет работать )) как надо, спасибо за подсказку исправлю.
     
  8. Vadim-13

    Vadim-13 Нуб

    Вот if (( now.minute() == 10 || now.minute() == 40) <= (now.minute()== 15 || now.minute()== 45))
     
  9. Tomasina

    Tomasina Сушитель лампочек Модератор

  10. vvr

    vvr Инженерище

    какое то странное условие)))
     
  11. Vadim-13

    Vadim-13 Нуб

    Суть не в этом. По одельности они то работают, а в месте нет.
     
  12. Vadim-13

    Vadim-13 Нуб

    Мне кажется я нашол проблему ))) Может ли быть такое что эти 2 библиотеки
    (#include <HTU21D.h>
    #include "RTClib.h")
    несовместимы?
    И как можно решить задачу?
     
  13. Vadim-13

    Vadim-13 Нуб

    Не судите строго только учусь.
     
  14. vvr

    vvr Инженерище

    может быть
    с библиотекой DHT проблем нет
    несовместимость библиотек явление частое
    плюс библиотеки и версии IDE тоже не всегда совместимы
     
  15. Vadim-13

    Vadim-13 Нуб

    Я уже совсем запутался (( у меня датчик работает только с библиотекой #include <HTU21D.h>
     
  16. vvr

    vvr Инженерище

    if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45))

    без обид - бред)))
     
  17. Vadim-13

    Vadim-13 Нуб

    Спасибо за подсказки, код изменил, проблема была в несовместимости библиотек
    #include <HTU21D.h>
    #include "RTClib.h"

    #include <HTU21D.h> заменил на <SI7021.h>. и все заработало.

    if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45)) заменил
    на if ( now.minute() >= 10 && now.minute() < 30)

    Но теперь другая проблема как сделать так чтобы одно реле включалось 2 раза в один час?

    Один раз работае это if ( now.minute() >= 10 && now.minute() < 30)

    подскажите как сделать чтобы 2 раза включалось по времени каждый час?