Описание
Описание: Является высокоточным энергонезависимым модулем, который можно использовать в таких проектах как часы, будильник, секундомер и т.д. Также с его помощью можно организовать выполнение фнукций или иного кода по расписанию. Характеристики: Микросхема часов: DS3231 Напряжение питания: от 2.3 В до 5.5 В Рабочая температура: от -40 ° C до + 85 ° C Точность хода часов: ± 5ppm (± 0.432 сек/день) Резервное питание: LiPo аккумулятор Параметры времени: часы и календарь. Включая секунды, минуты, часы, дни, дату, месяц и год до 2100 с учетом високосного года Сигналы календаря: два сигнала Цифровые выходы: 1 Гц и 32.768 кГц Интерфейс: I2C 400 кГц Адрес устройства: 0x68 Точность датчика температуры: ± 3 ° С Примечание: Подключение к Arduino UNO VCC – 5V SDA – A4 SCL – A5 GND – GND Подключение к Arduino Mega VCC – 5V SDA – SDA SCL – SCL(21) GND – GND(22) Подключение к Arduino к Raspberry Pi 3 b+ VCC – 5V SDA – 27 SCL – 28 GND – GND Прошивка для установки времени часов: #include #include #include String inSer = ""; boolean strFull = false; tmElements_t datetime; void setup() { Serial.begin(9600); } void loop() { // пришли данные по serial if (strFull) { datetime.Hour=(int(inSer[11])-48)*10+(int(inSer[12])-48); datetime.Minute=(int(inSer[14])-48)*10+(int(inSer[15])-48); datetime.Second=(int(inSer[17])-48)*10+(int(inSer[18])-48); datetime.Day=(int(inSer[0])-48)*10+(int(inSer[1])-48); datetime.Month=(int(inSer[3])-48)*10+(int(inSer[4])-48); datetime.Year=CalendarYrToTm((int(inSer[6])-48)*1000+(int(inSer[7])-48)*100+(int(inSer[8])-48)*10+(int(inSer[9])-48)); RTC.write(datetime); // записать данные в DS3231 // очистить строку inSer = ""; strFull = false; } // получение данных из ds3231 if (RTC.read(datetime)) { print2(datetime.Hour, ":"); print2(datetime.Minute, ":"); print2(datetime.Second, " "); print2(datetime.Day, "/"); print2(datetime.Month, "/"); print2(tmYearToCalendar(datetime.Year) ,""); Serial.println(); } else { Serial.print("error"); d