Не распознается библиотека Clock Module-2 DS1302

Babos, а почему, когда отключаешь комнату со все светом потом снова включаешь ардуино он не сохраняет таймер, даже если я комментирую строчку. с сеттером начального таймера-тамера.

Можно. Я же красивый!

1 лайк

потому что сначала надо пройти курс, повторить проекты, и большинство вопросов сразу отпадет, инфа 300%! из 100

1 лайк

потому что этот модуль не ах. У меня было точно так же и уже давно ничего кроме модуля DS3231 не использую.

… но ты пробуй другие библиотеки, а вдруг…

Ребят, все работает как надо:
Но в Alash_DS1302.h у меня ошибка: время сбрасывается, после выключения питания! На 0.0.0 1.1.2000:

#include <Wire.h>
#include <Alash_DS1302.h>
//Today is: 0:0:0   1.1.2000 W: 0

/*
  DS1302 IC      Atmel AVR             ESP8266       ESP32
  GND            GND                     GND          GND
  VCC2           5V(или 3.3V)            3V3          3V3
  SCLK (CLK)     2(цифровой пин)         D4           0
  I/O (DAT)      3(цифровой пин)         D2           5
  CE (RST)       4(цифровой пин)         D2           4
*/
// Подключение пина данных DS1302 к цифровому пину Arduino
#define DS1302_CLK_PIN     2
#define DS1302_IO_PIN       3
#define DS1302_CE_PIN      4


// Создание объекта RTC
Alash_DS1302 rtc = Alash_DS1302(DS1302_CLK_PIN, DS1302_IO_PIN, DS1302_CE_PIN);
String de0=":";
String de1=".";



void setup(){
  Serial.begin(9600);  // Начало последовательной связи с скоростью 115200 бит/с
  
  Wire.begin();  // Начало работы с I2C
  Wire.setClock(100000);  // Установка скорости передачи данных по I2C
  
  rtc.begin();
  
  // Установка даты/времени: 19:20:22 1/1/2024 Weekday:5

//rtc.setDateTime(22, 32, 22,  9, 1, 2026, 5); // Вывод сообщения об ошибке в последовательный порт


}

void loop() {
  String name ="20:22:20 1.1.2026" ;// Объявление массива для хранения строкового значения дня недели и месяца
  uint8_t hour;        //hh
  uint8_t min;        // mm
  uint8_t sec;       // ss
  uint8_t mday;     // dd
  uint8_t mon;     // MM
  uint16_t year;  // YYYY
  uint8_t wday;  // W

  // Чтение даты/времени
  if (!rtc.getDateTime(&hour, &min, &sec, &mday, &mon, &year, &wday)) { 
  Serial.println("Error:0000");
    }
  else{
Serial.print("Today is: ");
Serial.print(hour);
Serial.print(de0);
Serial.print(min);
Serial.print(de0);
Serial.print(sec);
Serial.print("   ");
Serial.print(mday);
Serial.print(de1);
Serial.print(mon);
Serial.print(de1);
Serial.print(year);
Serial.print(" W: ");
Serial.println(wday);
    
  }
  
  
  delay(1000);  // Задержка 1000 мс
}```

а батарейка в часах есть ?)))

1 лайк

а она точно заряд держит ?)))
что то я не знаю тогда причину)))

Бабос, можете библиотеку подсказать нормальную.
Может в ней причина?

у меня их чуть ли не 10ток, и каждый раз перебираю какую использовать, то одно, то другое не работает…
возможно iarduino_RTC.h то что нужно, но это не точно

Ну, видимо, так и надо, раз “работает как надо”! Забейте!

2 лайка

Китайцы в своих часах очень любят ds1302 использовать. Ввиду дешевизны, очевидно.) Только там писать то всего ничего. Сотня строк за глаза.)

#include <iarduino_RTC.h>
 
iarduino_RTC time(RTC_DS1302, 2, 3, 4);  
void setup() {  
    delay(300);  
    Serial.begin(9600);  
   time.begin();  
    time.settime(10, 10, 10, 4, 10, 2026, 3);  // 10 секунд, 10 минут, 10 часов, 4 октября, 2017 года, среда  
}  
void loop() {  
    if (millis() % 1000 == 0) {  
        Serial.println(time.gettime("d-m-Y, H:i:s, D"));  // выводим время  
        delay(1);  // делаем небольшую задержку, чтобы не выводить время слишком часто  
    }  
}
Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Плата:"Arduino Uno"

C:\Users\new\Desktop\AT0000\AT0000.ino: In function 'void setup()':

AT0000:7:9: error: 'class iarduino_RTC' has no member named 'begin'

    time.begin();

         ^~~~~

exit status 1

'class iarduino_RTC' has no member named 'begin'



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

ну вот, уже начали целые лишние строки в место 1го символа пихать…

Я скопировал код поменял на Ваш. И вуаля. Ничего не работает, такая же ошибка.
Что за ошибка то?

это лишняя строчка! я же говорил вам что курс надо сначала пройти ?)))

а еще вы кажется обманщик!))) у меня компилируется даже с лишней строчкой!

1 лайк