Realtidsklocka med DS3231 (lätt) (3 / 4 steg)
Steg 3: Koden
Jag kommer bara använda en exemplet skiss på biblioteket som kommer att innehålla massor av kommentarer som du kan läsa, njuta av:
DS3231_Serial_Easy
Copyright (C) 2015 Rinky-Dink elektronik, Henning Karlsen. Alla rättigheter reserverade
Web: http://www.RinkyDinkElectronics.com/
//
En snabb demo på hur man använder min DS3231-bibliotek för att
Skicka snabbt tid och datum information över en seriell länk
//
Att använda maskinvara I2C (TWI) gränssnittet för Arduino måste du ansluta
stiften enligt följande:
//
Arduino Uno/2009:
// ----------------------
DS3231: SDA pin -> Arduino Analog 4 eller dedikerad SDA pin
SCL pin -> Arduino Analog 5 eller dedikerad SCL pin
//
Arduino Leonardo:
// ----------------------
DS3231: SDA pin -> Arduino Digital 2 eller dedikerad SDA pin
SCL pin -> Arduino Digital 3 eller dedikerad SCL pin
//
Arduino Mega:
// ----------------------
DS3231: SDA pin -> Arduino Digital 20 (SDA) eller dedikerad SDA pin
SCL pin -> Arduino Digital 21 (SCL) eller dedikerad SCL pin
//
Arduino förfallodatum:
// ----------------------
DS3231: SDA pin -> Arduino Digital 20 (SDA) eller dedikerad SDA1 (Digital 70) pin
SCL pin -> Arduino Digital 21 (SCL) eller den hängivna SCL1 (Digital 71) pin
//
De inre pull-up motstånd kommer att aktiveras när du använder den
hårdvara I2C gränssnitt.
//
Du kan ansluta DS3231 till alla tillgängliga stift men om du använder någon
än vad som beskrivs ovan kommer att biblioteket falla tillbaka till
en mjukvaran-baserat, TWI-liknande protokoll som kräver exklusiv tillgång
till stift används, och du måste också använda lämpliga, externa
pull-up motstånd på data och klocka signaler.
//
#include
Init DS3231 i hårdvara-gränssnittet
DS3231 rtc (SDA, SCL);
void setup()
{
Installationsprogrammet för seriell anslutning
Serial.BEGIN(115200);
Avkommentera nästa rad om du använder en Arduino Leonardo
tag (!. Serial) {}
Initiera objektet rtc
RTC.BEGIN();
Följande rader kan vara okommenterade att ställa in datum och tid
rtc.setDOW(WEDNESDAY); Inställd söndag dagen av veckan
rtc.setTime (12, 0, 0); Ställa in tiden till 12:00:00 (24hr format)
rtc.setDate (1, 1, 2014); Ställ in datum till den 1: a januari, 2014
}
void loop()
{
Skicka dagen av veckan
Serial.Print(RTC.getDOWStr());
Serial.Print("");
Skicka datum
Serial.Print(RTC.getDateStr());
Serial.Print ("--");
Skicka tid
Serial.println(RTC.getTimeStr());
Vänta en sekund innan du upprepar :)
fördröjning (1000);
}