DS3231 for PI(Arduino) траблы

mrGoReC
Offline
Зарегистрирован: 16.06.2015

Есть такая штука.

http://www.aliexpress.com/snapshot/6605498975.html?orderId=66745464385327

Время выставляется, но пр  отключении Arduino отсчет времени останавливается и также при включении продолжается, с тогоже момента.

 

В чем проблемы?

Kolchugin
Offline
Зарегистрирован: 15.12.2013

Извините, что отвечаю вопросом на вопрос.  Как вы узнали, что отсчёт времени останавливается при отключении ардуино?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Kolchugin пишет:

Извините, что отвечаю вопросом на вопрос.  Как вы узнали, что отсчёт времени останавливается при отключении ардуино?


Ну дык очевидно же. НЕ ТИКАЕТ!
эта тема каждую неделю создается...

Kolchugin
Offline
Зарегистрирован: 15.12.2013

"НЕ ТИКАЕТ" :)

Вспомнился старый анектдот.
Мужик пришёл в мастерскую с магнитофоном и мастеру говорит:
Сижу ковыряю в ухе гвоздиком, а тут БАЦ! И звук пропал.

mrGoReC
Offline
Зарегистрирован: 16.06.2015

выключаю Ардуину, после включения время начинает идти с момента выключения.

 

Kolchugin
Offline
Зарегистрирован: 15.12.2013

Так может быть ваша программа сохраняет время куда-нибудь в eeprom, а после включения загружает то что сохранило перед отключением?

mrGoReC
Offline
Зарегистрирован: 16.06.2015

прога первоначально только задает время, а потом все читается из DS3231.

в том и дело что при  отключении питания время перестает идти, хотя по идее должно идти, так как там есть своя батарейка.

меня единственное смущяет в описании у продавца: "Батареи не включены" где и как включить не пойму 

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Так отключить модуль от Ардуино и проверить питание на ногах DS3231.

Если корпус 16 выводной то + 14 нога а - 13.

И еще смущает - прога первоначально только задает время, а потом все читается из DS3231.
А не происходит при каждом запуске так что прога не считывает а задает какоето время? Может в этом беда?

 

 

mrGoReC
Offline
Зарегистрирован: 16.06.2015
void setup() {
    lcd.init();                          // Инициализация lcd
    lcd.backlight();                     // Включаем подсветку  
    lcd.print("Teplica v.2.0");
  //задаем часам первоначальное время
   //int second,minute,hour,date,month,year,temperature; 
          /*   hour=Clock.getHour(h12,PM);
                Clock.setClockMode(false); // set to 24h
//setClockMode(true); // set to 12h
Clock.setYear(15);
Clock.setMonth(6);
Clock.setDate(17);
Clock.setDoW(3);
Clock.setHour(13);
Clock.setMinute(40);
Clock.setSecond(50);
        */
  
 
  
  
  
  
//byte second,minute,hour,date,month,year; 
    year=Clock.getYear();
    month=Clock.getMonth(Century);
    date=Clock.getDate();
    hour=Clock.getHour(h12,PM);
    minute=Clock.getMinute();
    second=Clock.getSecond();
    day=Clock.getDoW();
    lcd.setCursor(0, 3);
    if (month<10) lcd.print('0');lcd.print(date,DEC);lcd.print('-');if (month<10) lcd.print('0');lcd.print(month,DEC);lcd.print('-');lcd.print("20");lcd.print(year,DEC);lcd.print(" ");lcd.print(day);lcd.print(" ");
    lcd.setCursor(12, 3); if (hour<10) lcd.print('0');lcd.print(hour,DEC);lcd.print(':');if (minute<10) lcd.print('0');lcd.print(minute,DEC);lcd.print(':');if (second<10) lcd.print('0');lcd.print(second,DEC);    
    delay(10000);
    lcd.clear();
    dht.begin(); //инициализация датчика влажности и температуры
    Wire.begin(); // Shield I2C pins connect to alt I2C bus on Arduino
 
 
Если корпус 16 выводной то + 14 нога а - 13. - все есть на месте )))
 
bwn
Offline
Зарегистрирован: 25.08.2014
Clock.setYear(15);
Clock.setMonth(6);
Clock.setDate(17);
Clock.setDoW(3);
Clock.setHour(13);
Clock.setMinute(40);
Clock.setSecond(50);
 
А что у вас делают эти строки?
nevkon
Offline
Зарегистрирован: 20.01.2015

Так те строки в комментах. Шилд с круглой батарейкой или припаяной? У меня останавливалось, заменил батарейку стало нормально бегать.

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

mrGoReC пишет:

void setup() {
    lcd.init();                          // Инициализация lcd
    lcd.backlight();                     // Включаем подсветку  
    lcd.print("Teplica v.2.0");
  //задаем часам первоначальное время
   //int second,minute,hour,date,month,year,temperature; 
          /*   hour=Clock.getHour(h12,PM);
                Clock.setClockMode(false); // set to 24h
//setClockMode(true); // set to 12h
Clock.setYear(15);
Clock.setMonth(6);
Clock.setDate(17);
Clock.setDoW(3);
Clock.setHour(13);
Clock.setMinute(40);
Clock.setSecond(50);
        */
//byte second,minute,hour,date,month,year; 
    year=Clock.getYear();
    month=Clock.getMonth(Century);
    date=Clock.getDate();
    hour=Clock.getHour(h12,PM);
    minute=Clock.getMinute();
    second=Clock.getSecond();
    day=Clock.getDoW();
    lcd.setCursor(0, 3);
    if (month<10) lcd.print('0');lcd.print(date,DEC);lcd.print('-');if (month<10) lcd.print('0');lcd.print(month,DEC);lcd.print('-');lcd.print("20");lcd.print(year,DEC);lcd.print(" ");lcd.print(day);lcd.print(" ");
    lcd.setCursor(12, 3); if (hour<10) lcd.print('0');lcd.print(hour,DEC);lcd.print(':');if (minute<10) lcd.print('0');lcd.print(minute,DEC);lcd.print(':');if (second<10) lcd.print('0');lcd.print(second,DEC);    
    delay(10000);
    lcd.clear();
    dht.begin(); //инициализация датчика влажности и температуры
    Wire.begin(); // Shield I2C pins connect to alt I2C bus on Arduino

Если корпус 16 выводной то + 14 нога а - 13. - все есть на месте )))

 
Ну у меня 3 мысли:
1 Поменять библиотеку часов.
2 Попробовать другой модуль (сам у китайцев меньше 2х не покупаю на этот случай)
3 Подключить к другй Ардуино плате. 
И тогда будет видно кто виноват.
У меня модули немного другие, со съемной батареей и памятью на одной плате, завелись с первого раза.

 
mrGoReC
Offline
Зарегистрирован: 16.06.2015

nevkon пишет:

Так те строки в комментах. Шилд с круглой батарейкой или припаяной? У меня останавливалось, заменил батарейку стало нормально бегать.

батарейка припаяная.

щас случайно оторвал, время на ноль вообще сбросилось, так что батарейка живая получается.

X-Dron
Offline
Зарегистрирован: 24.01.2015

Когда ответите для себя на вопрос bwn, то все должно стать понятно.

А вообще DS3231 я уже давал ссылки

http://arduino.ru/forum/programmirovanie/chasy-i-arduino#comment-112470

mrGoReC
Offline
Зарегистрирован: 16.06.2015

Спасибо всем за помощь!!!

X-Dron ты оказался прав, дело в библиотеке.

X-Dron
Offline
Зарегистрирован: 24.01.2015

Я такого не говорил. Наоборот, намекал, что Вы не умеете ее готовить.

mrGoReC
Offline
Зарегистрирован: 16.06.2015

)))