日付と時間の取り方(RTCモジュール)
ArduinoでRTCを使ってみましょう。RTC(リアルタイムクロック)モジュールといいます。時計のように現在の年月日、時間分秒を教えてくれるモジュールです。ボタン電池がついていてArduinoからの電気の供給がなくても正しく時間を刻むようになっています。
RTCモジュールにも種類が色々ありますが、今回はDS323x系のDS3231のRTCモジュールを使ってみます。
#1:モジュールを繋ぐ
ピン数は少ないので接続は簡単です。NCは使いません。Cはアナログの5番ピン、Dはアナログの4番ピンに繋ぎましょう。I2C通信を使っていますので他のピンに繋ぐと動きません。CはSCL、DはSDAを表しています。+、-はそれぞれ5VとGNDに繋ぎましょう。#2:ライブラリを入れる
https://github.com/JChristensen/DS3232RTCの右側の[Download ZIP]からファイルをダウンロードして解凍。ArduinoIDEのある場所のライブラリフォルダに入れます。
#3:ブロックを組む
コードブロックを使うので注意。
先にやっておく
- [head]#include <DS3232RTC.h>
- [head]#include <Time.h>
- [head]#include <Wire.h>
- [先にやっておく]Serial.begin(9600);setSyncProvider(RTC.get);if(timeStatus() != timeSet)Serial.println("Unable to sync with the RTC");else Serial.println("RTC has set the system time");
くりかえす
- [ずっと]_ABVAR_1_year = year(); _ABVAR_2_month = month(); _ABVAR_3_day = day(); _ABVAR_4_hour = hour(); _ABVAR_5_min = minute(); _ABVAR_6_sec = second();
year(年),month(月),day(日)、hour(時間),min(分),sec(秒),の順に取り出します。一度取り出してしまえば、後は< >のブロックで好きに使えますが取り出す順番が違うとエラーを吐き出すので注意です。取り出した年月日、時分秒はシリアルモニタに表示するようにしています。
RTCを使うときは最初に時間を設定する必要がありますので、それはまた別の記事で。
Post a Comment