Вопрос по ds1307
- Войдите на сайт для отправки комментариев
Ув. знатоки подскажите пожалуйста как запомнить время на DS1307 при отключении основного питания (в данном скетче)?
#include <DHT.h>
#define DHTPIN 9
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
RTC_DS1307 RTC;
void setup () {
dht.begin();
lcd.begin(16, 2);
Wire.begin();
Wire.beginTransmission(0x68);
Wire.write(0x07);
Wire.write(0x10);
Wire.endTransmission();
RTC.begin();
RTC.adjust(DateTime(__DATE__, __TIME__));
if (! RTC.isrunning()) {
Serial.println("Error");
}
}
void loop () {
DateTime now = RTC.now();
int h = dht.readHumidity();
int t = dht.readTemperature();
lcd.setCursor(1, 0);
if ( now.hour() < 10)
{
lcd.print(" ");
lcd.print(now.hour(), DEC);
}
else
{
lcd.print(now.hour(), DEC);
}
lcd.print(":");
if ( now.minute() < 10)
{
lcd.print("0");
lcd.print(now.minute(), DEC);
}
else
{
lcd.print(now.minute(), DEC);
}
lcd.print(":");
if ( now.second() < 10)
{
lcd.print("0");
lcd.print(now.second(), DEC);
}
else
{
lcd.print(now.second(), DEC);
}
lcd.print(" ");
lcd.setCursor(12, 0);
lcd.print(t);
lcd.write(0b11011111);
lcd.print("C");
lcd.setCursor(0, 1);
if ( now.day() < 10)
{
lcd.print("0");
lcd.print(now.day(), DEC);
}
else
{
lcd.print(now.day(), DEC);
}
lcd.print("/");
if ( now.month() < 10)
{
lcd.print("0");
lcd.print(now.month(), DEC);
}
else
{
lcd.print(now.month(), DEC);
}
lcd.print("/");
lcd.print(now.year(), DEC);
lcd.print("");
lcd.setCursor(12, 1);
lcd.print(h);
lcd.print(" %");
delay(500);
}
Спасибо помогло.
А не подскажите как сделать чтоб часы продолжали идти от батарейки?
они и так должны идти от батареи ,в чем проблема?
они и так должны идти от батареи ,в чем проблема?
После отключения время показывает то которое установилось при заливке скетча
попробуйте просто пример из родной библиотеки ,без этой гремучей смеси)