DS3231時刻合わせを試してみました

DS3231時刻合わせを試してみました

DS3231時刻合わせを試してみました

先日のESP32-CAMを試用 人感センサーで撮影ではファイル名が”picture001”からの連番になっていますが、ファイルを見た時にファイル名が日時になっていた方が便利だと思い、先ずはRTCを使ってみることにしました。
RTCは以前にもArduinoのサンプルスケッチを使用して動作確認を行ったことはありますが、RTCの電源が切れた後の時刻合わせが

  • スケッチをコンパイルした時の時刻、または
  • スケッチに直接書き込んだ時刻

サンプルではこの何れかになっていたので先人の知恵を借りることにしました。

今回利用させていただいたのはラジオペンチさんが書かれている”DS3231と0.96インチOLEDを使ったデジタル時計”で、スイッチ3つを使ってモード移行とカウントのアップ/ダウンを行うスケッチです。このスケッチではArduino をパワーダウンスリープモードにしてRTCからの毎秒割り込みで動作させているので、その面でも試してみたくなりました。

スケッチはほぼラジオペンチさんが掲載されているままで、今回は日時表示だけが必要だったので表示器に使用した126×32のOLEDに合わせて表示座標の変更、および温度、曜日の部分の削除だけです。

スケッチをコンパイルする時にTimeクラスの箇所でエラーになったので調べてみると私が使用したライブラリ<DS3231.h>にはTimeクラスが存在しませんでした。
Timeクラスを持つDS3231.hを探すとRinky-Dink Electronicsのライブラリがありましたので今回はそれを使用することで無事に動作させることができました。

*表示器SSD1306モジュールの電源電圧は5VですがI2Cレベルは3.3Vでは?と思いましたが、販売元が3-5Vと説明しているので疑問を持ちながらも今回は5Vで使用しています。