Здравствуйте. Помогите разобраться почему происходит ошибка при компиляции. По одельности эти скетчи работают, но когда собираю вместе происходит ошибка ((( 1 sketch_feb01a.ino 2 sketch_feb01b.ino Вместе sketch_feb01c.ino происходит ошибка.
Пины поменял #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); Но всеравно ошибка ((
какая ошибка-то? Телепаты в отпуске. P.S. это условие никогда не выполнится: Число не может быть одновременно равным 10 и меньше 15.
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 Ошибка компиляции.
if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45)) все работает в 10 минут включается в 15 выключается, потом в 40 минут вкл, а в 45 выключается. Когда скетч 1 sketch_feb01a.ino залить он работает. А когда вместе с sketch_feb01b.ino тогда выдает ошибку.
)) Ошибся if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45)) не будет работать )) как надо, спасибо за подсказку исправлю.
Мне кажется я нашол проблему ))) Может ли быть такое что эти 2 библиотеки (#include <HTU21D.h> #include "RTClib.h") несовместимы? И как можно решить задачу?
может быть с библиотекой DHT проблем нет несовместимость библиотек явление частое плюс библиотеки и версии IDE тоже не всегда совместимы
if (( now.minute() == 10 || now.minute() == 40) && (now.minute()<= 15 || now.minute()<= 45)) без обид - бред)))
Спасибо за подсказки, код изменил, проблема была в несовместимости библиотек #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 раза включалось по времени каждый час?