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