Prispevki
DS3231 Ura Modul
Uvod
Modul ure DS3231 je opremljen s integriranim TCXO in kristalom, kar ga naredi za stroškovno učinkovito I2C uro v realnem času s visoko natančnostjo. Naprava ima vhod za baterijo, tako da lahko ohranja natančen čas tudi v primeru prekinitve glavnega napajanja. Integrirani oscilator zagotavlja dolgoročno natančnost naprave in zmanjšuje število komponent. DS3231 zagotavlja tako komercialni kot industrijski temperaturni razpon in podpira 16-pinski ohišje majhne velikosti (300 mil). Modul se sam prilagodi sistemu 3,3 V in 5 V brez stikal za nivoje, kar je zelo priročno!
Specifikacije
Temperaturno območje: -40 do +85; natančnost časovnega merjenja: ± 5ppm (±0,432 sekunde / dan)
Zagotavljanje baterijskega napajanja za neprekinjeno merjenje časa
Nizka poraba energije
Pakiranje naprave in funkcija združljiva z DS3231
Celoten koledarsko-uraški funkcija vsebuje merjenje sekund in minut, ur, tednov, datumov, mesecev in let ter zagotavlja odpravljanje prestopnih let do leta 2100.
Dva koledarska zaslona
Izhod: 1Hz in 32,768kHz
Izhod ponastavitev in odboj vhoda gumba
Visoka hitrost (400kHz), serijski I2C-avtobus
Napajalna napetost: +3,3 V do +5,5 V
Digitalni temperaturni senzor s preciznostjo ±3℃
Delovna temperatura: -40 ~ C do +85 ~ C
16-pinski Small Outline Package (300mil)
Ta modul uporablja testno metodo IIC, zato moramo le povezati SDA z Arduino A4; SCL z A5; pozitivni pin z VCC; negativni pin z GND.
Programska koda
Preden prevedete kodo v datoteki, je najbolje, da knjižnico DS3231 dodate v Arduino katalog.
#include
#include "DS3231.h"
DS3231 RTC; //Create the DS3231 object
char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
//year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6)
//writing any non-existent time-data may interfere with normal operation of the RTC.
//Take care of week-day also.
DateTime dt(2011, 11, 10, 15, 18, 0, 5);//open the serial port and you can check time here or make a change to the time as needed.
void setup ()
{ Serial.begin(57600);//set baud rate to 57600
Wire.begin();
RTC.begin();
RTC.adjust(dt); //Adjust date-time as defined 'dt' above
}
void loop ()
{
DateTime now = RTC.now(); //get the current date-time
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.date(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(weekDay[now.dayOfWeek()]);
Serial.println();
delay(1000);
}
Preden prevedete kodo v datoteki, je najbolje, da knjižnico DS3231 dodate v Arduino katalog.
Ko so opravljeni zgornji koraki, lahko naložite kodo v Arduino in odprete serijski monitor, da dobite naslednje rezultate: