Часы ds1307 не запоминают время

Павел.Tech
Offline
Зарегистрирован: 20.02.2017

Часы реального времени ds1307 не запоминают значение времени и сбрасывают  его при перезагрузке Arduino. 

При этом из модуля часов были выпаяны: резистор R6, резистор R4 и диод D1. И поля ног для резистора R6 были замкнуты. Все данные манипуляции были сделанны по совету канала ArduinoLab.

Помогите если знаете решение, вот код выводящий на OLED lcd i2c время с модуля и температуру с DHT 22

#include <iarduino_RTC.h>
#include "DHT.h"
#include <OLED_I2C.h> // Это библиотека с русским языком
#define DHTPIN 2 
#define DHTTYPE DHT22  
OLED  myOLED(SDA, SCL, 8);
extern uint8_t RusFont[];
DHT dht(DHTPIN, DHTTYPE);
iarduino_RTC time(RTC_DS1307);
void setup() { 
  time.begin();
  time.settime(16,29,16);
  
  dht.begin(); 
  
  myOLED.begin();
  myOLED.setFont(RusFont);
  myOLED.invert(true);
  myOLED.invertText(true);
  
  myOLED.fillScr();
  myOLED.update();
  
}

void loop() {
  

  float h = dht.readHumidity(); 
  float t = dht.readTemperature();
  

  myOLED.print("Ntvg", 0, 5); // Ntvg - Темп(сокр. Температура)

  myOLED.printNumF(t , 0, 67, 5);
  myOLED.print("%", 80, 15);
  myOLED.print("C", 80, 5);
  myOLED.print("Dkf;yjcnm", 0, 15); // Dkf;yjcnm - Влажность 

  myOLED.printNumF(h , 0, 67, 15);


     myOLED.print(time.gettime("s"),75,30);  // s - команда вывода секунд
     myOLED.print("|",70,30);                // Знак разделяющий единицы
     myOLED.print(time.gettime("i"),58,30);  // i - команда вывода минут 
      
      myOLED.update();
    }
    

При этом часы сбрасывают секунды на 17, а минуты на 29
 

vitalikost
Offline
Зарегистрирован: 28.11.2014

Эм, 12 строке указать время, потом закоментировать и заново залить

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

и батарейку вставить.

Павел.Tech
Offline
Зарегистрирован: 20.02.2017

Спасибо код изменю а баттарейка была вставлена

 

Павел.Tech
Offline
Зарегистрирован: 20.02.2017

Вот строки после компиляции закомментировал но ничего не происходит

#include <iarduino_RTC.h>
#include "DHT.h"
#include <OLED_I2C.h>
#define DHTPIN 2 
#define DHTTYPE DHT22  
OLED  myOLED(SDA, SCL, 8);
extern uint8_t RusFont[];
DHT dht(DHTPIN, DHTTYPE);
iarduino_RTC time(RTC_DS1307);
void setup() { 
  time.begin();
  //time.settime(16,24,19,20,02,17,1);  
  dht.begin(); 
  
  myOLED.begin();
  myOLED.setFont(RusFont);
  myOLED.invert(true);
  myOLED.invertText(true);
  
  myOLED.fillScr();
  myOLED.update();
  
}

void loop() {
  

  float h = dht.readHumidity(); 
  float t = dht.readTemperature();
  

  myOLED.print("Ntvg", 0, 5);
  myOLED.printNumF(t , 0, 67, 5);
  myOLED.print("%", 80, 15);
  myOLED.print("C", 80, 5);
  myOLED.print("Dkf;yjcnm", 0, 15);
  myOLED.printNumF(h , 0, 67, 15);


     myOLED.print(time.gettime("s"),75,30);  // s - команда вывода секунд
     myOLED.print("|",70,30);
     myOLED.print(time.gettime("i"),58,30);  // i - команда вывода минут 
      
      myOLED.update();
    }
    

 

Павел.Tech
Offline
Зарегистрирован: 20.02.2017

Всё проблема решена. Всё из - за моей невнимательности

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Павел.Tech пишет:

Всё проблема решена. Всё из - за моей невнимательности

 

по другому не бывает.