mirror of
https://github.com/gunner47/GyverLamp.git
synced 2025-08-06 16:47:17 +03:00
Добавлен вывод сигнала (HIGH/LOW - настраивается) синхронно с вкл/выкл матрицы на пин MOSFET транзистора; добавлен вывод сигнала на пин будильника (только на минуту его срабатыания)
This commit is contained in:
@@ -23,8 +23,12 @@ uint8_t espMode = ESP_MODE; // ESP_MODE може
|
||||
#ifdef OTA
|
||||
#define ESP_OTA_PORT (8266U) // номер порта, который будет "прослушиваться" в ожидании команды прошивки по воздуху
|
||||
#endif
|
||||
#define LED_PIN (2U) // пин ленты
|
||||
#define BTN_PIN (4U) // пин кнопки
|
||||
#define LED_PIN (2U) // пин ленты (D4)
|
||||
#define BTN_PIN (4U) // пин кнопки (D2)
|
||||
#define MOSFET_PIN (5U) // пин MOSFET транзистора (D1) - может быть использован для управления питанием матрицы/ленты
|
||||
#define ALARM_PIN (16U) // пин состояния будильника (D0) - может быть использован для управления каким-либо внешним устройством на время работы будильника
|
||||
#define MOSFET_LEVEL (HIGH) // логический уровень, в который будет установлен пин MOSFET_PIN, когда матрица включена - HIGH или LOW
|
||||
#define ALARM_LEVEL (HIGH) // логический уровень, в который будет установлен пин ALARM_PIN, когда "рассвет"/будильник включен
|
||||
|
||||
// --- ESP (WiFi клиент) ---------------
|
||||
const uint8_t STA_STATIC_IP[] = {}; // статический IP адрес: {} - IP адрес определяется роутером; {192, 168, 1, 66} - IP адрес задан явно (если DHCP на роутере не решит иначе); должен быть из того же диапазона адресов, что разадёт роутер
|
||||
|
@@ -96,6 +96,9 @@
|
||||
- Добавлены "ночные часы" (от NIGHT_HOURS_START до NIGHT_HOURS_STOP включительно) и "дневные часы" (всё остальное время), для которых доступна регулировка яркости для вывода времени бегущей строкой - NIGHT_HOURS_BRIGHTNESS и DAY_HOURS_BRIGHTNESS
|
||||
--- 20.10.2019
|
||||
- Добавлена блокировка кнопки на лампе из android приложения; сохраняется в EEPROM память
|
||||
--- 24.10.2019
|
||||
- Добавлен вывод сигнала (HIGH/LOW - настраивается константой MOSFET_LEVEL) синхронно с включением матрицы на пин MOSFET транзистора (настраивается константой MOSFET_PIN)
|
||||
- Добавлен вывод сигнала (HIGH/LOW - настраивается константой ALARM_LEVEL) на пин будильника (настраивается константой ALARM_PIN); сигнал подаётся в течение одной минуты, начиная со времени, на которое заведён будильник
|
||||
*/
|
||||
|
||||
// Ссылка для менеджера плат:
|
||||
@@ -215,6 +218,22 @@ void setup()
|
||||
ESP.wdtEnable(WDTO_8S);
|
||||
|
||||
|
||||
// ПИНЫ
|
||||
#ifdef MOSFET_PIN // инициализация пина, управляющего MOSFET транзистором в состояние "выключен"
|
||||
pinMode(MOSFET_PIN, OUTPUT);
|
||||
#ifdef MOSFET_LEVEL
|
||||
digitalWrite(MOSFET_PIN, !MOSFET_LEVEL);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef ALARM_PIN // инициализация пина, управляющего будильником в состояние "выключен"
|
||||
pinMode(ALARM_PIN, OUTPUT);
|
||||
#ifdef ALARM_LEVEL
|
||||
digitalWrite(ALARM_PIN, !ALARM_LEVEL);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
// TELNET
|
||||
#if defined(GENERAL_DEBUG) && GENERAL_DEBUG_TELNET
|
||||
telnetServer.begin();
|
||||
|
@@ -69,6 +69,10 @@ void changePower()
|
||||
delay(2);
|
||||
FastLED.show();
|
||||
}
|
||||
|
||||
#if defined(MOSFET_PIN) && defined(MOSFET_LEVEL) // установка сигнала в пин, управляющий MOSFET транзистором, соответственно состоянию вкл/выкл матрицы
|
||||
digitalWrite(MOSFET_PIN, ONflag ? MOSFET_LEVEL : !MOSFET_LEVEL);
|
||||
#endif
|
||||
|
||||
TimerManager::TimerRunning = false;
|
||||
TimerManager::TimerHasFired = false;
|
||||
|
@@ -95,6 +95,13 @@ void timeTick()
|
||||
delay(1);
|
||||
FastLED.show();
|
||||
dawnFlag = true;
|
||||
|
||||
#if defined(ALARM_PIN) && defined(ALARM_LEVEL) // установка сигнала в пин, управляющий будильником
|
||||
if (thisTime == alarms[thisDay].Time) // установка, только в минуту, на которую заведён будильник
|
||||
{
|
||||
digitalWrite(ALARM_PIN, ALARM_LEVEL);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -115,6 +122,10 @@ void timeTick()
|
||||
dawnColorMinus4 = CHSV(0, 0, 0);
|
||||
dawnColorMinus5 = CHSV(0, 0, 0);
|
||||
dawnCounter = 0;
|
||||
|
||||
#if defined(ALARM_PIN) && defined(ALARM_LEVEL) // установка сигнала в пин, управляющий будильником
|
||||
digitalWrite(ALARM_PIN, !ALARM_LEVEL);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user