見出し画像

RTC(DS3231)の使い方

RTC(DS3231)を入手しましたので、いろいろ使っていこうと思います。まずは動作確認です。今回同じものを2つ買いました。この手のものは壊れてるかも?という恐怖感もあり、複数買ってしまいます。

ちなみに、RTC(DS3231)とは、リアルタイムクロックの略で、Arduinoなど、電源が切れてもボタン電池で時間をキープしてくれる便利な道具です。Amazonで、2個で699円とかなり安いです。でも電池は付いてないです。

ちなみに電池は充電タイプのLIR2032を使用してください。CR2032だと充電タイプじゃないものに給電されるので、爆発するとか、しないか・・・・。

まずはライブラリを入れます。

https://github.com/JChristensen/DS3232RTC

ZIP形式でダウンロードして、スケッチ→ライブラリーをインクルード→ZIP形式のライブリをインクルードで読み込みます。するとスケッチ→新しいライブラリをインクルードの下の方に、DS3232RTCが表示されます。

これを読み込みます。ちなみに配線はこちらです。

画像1

まずは、下記のcodeで時間合わせを行います。

#include <DS3232RTC.h>

void setup() {
 setTime(15, 19, 0, 25, 7, 2020);//時、分、秒、日、月、年の順番に入力
 RTC.set(now());//書き込み
}

void loop() {
}

setTime(15, 19, 0, 25, 7, 2020);//時、分、秒、日、月、年の順番に入力します。続いて下記のcodeを書き込みます。シリアルモニタで時間を確認することができたら成功です。

#include <DS3232RTC.h>

void setup() {
 Serial.begin(9600);
}

void loop() {
 tmElements_t tm;
 RTC.read(tm);
 Serial.print(tm.Year + 1970, DEC); 
 Serial.print("年");
 Serial.print(tm.Month, DEC);
 Serial.print("月");
 Serial.print(tm.Day, DEC);
 Serial.print("日");
 Serial.print(tm.Hour, DEC);
 Serial.print("時");
 Serial.print(tm.Minute, DEC);
 Serial.print("分");
 Serial.println(tm.Second, DEC);
 delay(1000);
}

シリアルモニタには、こんな感じに時間が表示されます。

DS3231 シリアル

こうなれば成功です。






この記事が気に入ったらサポートをしてみませんか?