forked from bgp/feeder
начал переписывать засыпание
This commit is contained in:
parent
8e44a9be96
commit
ce9cde2989
|
@ -27,8 +27,9 @@ bgp, 2023
|
|||
#include "microDS3231.h"
|
||||
MicroDS3231 rtc;
|
||||
#include "EncButton.h"
|
||||
#include <Sleep_n0m1.h> //подключение библиотеки для режимов сна
|
||||
#include <Wire.h>
|
||||
// #include <Sleep_n0m1.h> //подключение библиотеки для режимов сна
|
||||
// #include <Wire.h>
|
||||
#include <GyverPower.h>
|
||||
// #include <I2C_RTC.h>
|
||||
|
||||
EncButton<EB_TICK, BTN_PIN> btn;
|
||||
|
@ -59,7 +60,7 @@ int paymentsCount = 0;
|
|||
int onTime = 6; // время включения
|
||||
int offTime = 20; // время выключения
|
||||
|
||||
Sleep sleep; //объект для работы с режимами сна
|
||||
// Sleep sleep; //объект для работы с режимами сна
|
||||
unsigned long sleepTime; //переменная для задания времени сна
|
||||
|
||||
|
||||
|
@ -86,6 +87,17 @@ void setup() {
|
|||
pinMode(TERM_COIN, INPUT); // прием сигнала от терминала
|
||||
pinMode(RELAY, OUTPUT);
|
||||
|
||||
power.autoCalibrate(); // автоматическая калибровка ~ 2 секунды , средняя но достаточная точность
|
||||
|
||||
// отключение ненужной периферии
|
||||
power.hardwareDisable(PWR_ADC | PWR_TIMER1); // см раздел константы в GyverPower.h, разделяющий знак " | "
|
||||
// управление системной частотой
|
||||
power.setSystemPrescaler(PRESCALER_2); // см константы в GyverPower.h
|
||||
|
||||
// настройка параметров сна
|
||||
power.setSleepMode(STANDBY_SLEEP); // если нужен другой режим сна, см константы в GyverPower.h (по умолчанию POWERDOWN_SLEEP)
|
||||
power.bodInSleep(false); // рекомендуется выключить bod во сне для сохранения энергии (по умолчанию false - выключен!!)
|
||||
|
||||
|
||||
sleepTime = 60 * 60 * 1000;
|
||||
//Debug
|
||||
|
@ -119,8 +131,8 @@ void loop() {
|
|||
// Serial.println(rtc.getYear());
|
||||
if (voltage < 13.2) {
|
||||
digitalWrite(RELAY, LOW);
|
||||
sleep.pwrDownMode(); //установка режима сна PWR_DOWN
|
||||
sleep.sleepDelay(sleepTime); //заснуть на указанное время
|
||||
// sleep.pwrDownMode(); //установка режима сна PWR_DOWN
|
||||
power.sleep(sleepTime); //заснуть на указанное время
|
||||
}
|
||||
if ((now.hour >= onTime && now.hour < offTime && voltage > 13.2)) { //&& voltage > 10.2
|
||||
digitalWrite(RELAY, HIGH); // работаем если время рабочее И напряжение выше минимума
|
||||
|
|
Loading…
Reference in New Issue