コンテンツにスキップ

FaBo DS3231 Clock

DS3231Clockはリアルタイムクロックのデバイスです。Picoの電源を切っても日付および時刻を消えず、モジュールに搭載された電池により、時を刻み続けます。

Arduino

Raspbery pi picoのピンアサイン(Arduino)

DS3231Clockとi2Cピンと接続します。 日付、時間、曜日をセットします。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <Wire.h>
#include "DS3231.h"
DS3231 RTC;
char weekDay[][4] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
DateTime dt(2023,1,30,16,47,50,1);
void setup ()
{ Serial.begin(115200);
Wire.begin();
RTC.begin();
RTC.adjust(dt);
}
void loop ()
{
DateTime now=RTC.now();
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);
}

セットした日付と時間を呼び出します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <Wire.h>
#include "DS3231.h"

char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

DS3231 RTC;

void setup ()
{
    Serial.begin(115200);
    Wire.begin();
    RTC.begin();
}

void loop ()
{
    DateTime now = RTC.now();

    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.print(' ');
    Serial.print(weekDay[now.dayOfWeek()]);
    Serial.println();
    Serial.print("Seconds since 1/1/2000: ");
    Serial.print(now.get(),DEC);
    Serial.println();
    delay(1000);
}