RTC (リアルタイムクロック) です。Arduino には RTC がないので、時計を使いたい場合には RTC モジュールが必要となります。この製品にはデータ保存用の EEPROM も付属しています。
Amazon 等で購入できます (購入時価格: ¥110)。
以下はバックアップ用の充電池 LIR2032 です。
この RTC モジュールは I2C 接続の RTC となります。5V /3.3V いずれでも動作します。私が購入したのは ELECROW 製品そのものか、完全コピー品のようですね。
A0 / A1 / A2 のジャンパは AT24C32 (EEPROM) の I2C スレーブアドレスを変更するためのものです (デフォルトで 0x57 (87) です)。
A0 | A1 | A2 | |
0x57 | OFF | OFF | OFF |
0x56 | ON | OFF | OFF |
0x55 | OFF | ON | OFF |
0x54 | ON | ON | OFF |
0x53 | OFF | OFF | ON |
0x52 | ON | OFF | ON |
0x51 | OFF | ON | ON |
0x50 | ON | ON | ON |
この RTC モジュールにはコイン電池ホルダーが付いており、バッテリーバックアップを行えるのですが、コイン電池の CR2032 を使ってはいけません。充電池の LIR2032 を使ってください。
CR2032 を使いたい場合にはパターンカットが必要です (画像のどちらかやりやすい方で)。元に戻すつもりがないのであれば、チップ抵抗かダイオードを外してもいいようです。
Arduino (UNO) との接続は以下のようになります。
I2C | RTC | Arduino |
GND | GND | GND |
VCC | VCC | 5V |
SCL | SCL | A5 |
SDA | SDA | A4 |
ライブラリは複数存在するので、お好きなものをお使いください。
ライブラリで定義されている DS3231 の I2C スレーブアドレスはデフォルトで 0x68 (104) です。
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。