Aliexpressで頼んでおいたRTCモジュールが届きました
これである程度正確な時刻を刻めるようになります
RTC
リアルタイムクロックの略
簡単に行ったらデジタル時計(表示部ではない)のような感じで、電源がある限り時を刻み続ける
タイトルの後ろのタグになんでEEPROM入ってるんだって思うかもしれないけど今回買ったRTCモジュールは幾つかの機能を積み込んだモジュールでEEPROMもついてきます!
内蔵機能
- DS1307 RTCモジュール
- AT24C32 EEPROM
また、トランジスタのような印刷がある空き端子はDS180B20という温度センサを取り付けることができます
あとは本来ならLIR2032という充電池があるはずですが、今回の店では別売でした(安さで選んだからそこらへん見てなかった)
[amazonjs asin=”B01JCL3QU8″ locale=”JP” title=”eemb?リチウムイオン電池 二次電池 充電式 LIR2032(3.6V /40mAh)2個/4個/8個入り (8本)”]
[amazonjs asin=”B06XNV15JK” locale=”JP” title=”リチウムイオン コイン充電池 LIR2032″]
LIR2032はAmazonでみたら結構高いのでもしRTCモジュールを買うときは一緒に売られているものを選んだほうが楽かもしれません
使ってみる
接続
I2C接続ですが左右に端子があります
実際どちらもつながっているようなので片方につなげれば良いようです
Arduino UNO のアナログ端子4,5がSDA,SCLに対応していると初めて知りました…
スケッチ
ライブラリがあるのでこれを使います
インポートできれば使えるようになります
サンプルプログラムがあるのでこれを焼きました
仕組みとしてはコンパイル時の時間をRTCの基準時間として、電源がある限り動くようになっているようです
コンパイル時の時間なので転送までの時間分ずれてしまうのが問題でしょうか
また、今回は電池もないので少しでも電源が落ちるとArduinoを再起動するまでおかしな値になります
ちなみに58円でした
追加で電池を買わないと…
[amazonjs asin=”B010PZZPBS” locale=”JP” title=”EasyWordMall DS1307 RTC 7クロックモジュール小型RTC I2C 24C32メモリArduino用”]
[amazonjs asin=”B01M6CDL4X” locale=”JP” title=”I2C RTC AT24C32 DS1307 リアルタイムク ロック モジュール SMD/I2C 小さな At24c32 ボード Arduino AVR用 1個 並行輸入品”]
[amazonjs asin=”B01MQWR8SO” locale=”JP” title=”DS1307搭載 RTCモジュール”]
参考:
コメント