4月某日。
その日、本郷の交差点にあるコンビニで買った弁当をぶら下げて帰った部屋には、うす暗い中で13番ピンに接続されたLEDを、一生懸命に点滅させるArduinoが待っていた。
ただいま、と僕がつぶやいても、Arduinoは一生懸命にLEDを点滅させ続けるだけだった。
ここ数日ですっかり見慣れた、いつもの風景だった。
そろそろLチカ以外のプログラムも書かなければいけないのだろう。
面倒なことだ、と僕は思う。
同時に、今日もこれから数時間、Arduinoと不毛な会話を繰り返すのだろうなと覚悟を決める。
一つだけわかっていることは、Lチカ以外のプログラムなんて、どうやって書けばいいのかさっぱりわからない、ということだけだ。
==========
そんなわけで、しばらくはArduinoと格闘する必要があります。
まずは、DS3231を使ったRTCをArduinoに接続し、これに時刻を設定して時刻情報を取り出すところからやってみることにしました。
LCDとかGPS?そんなもんあとですよ、あと。
DS3231を使ったRTCモジュールは世の中にたくさん存在していて、先日のブログに書いたもの(https://www.amazon.co.jp/dp/B00YQZFMMQ/)もその一つです。
これはI2Cという規格のシリアル通信を使ってArduinoと接続します。
電源以外は2本の線だけで配線完了という、お手軽スタイルです。
I2Cはシリアル通信の一種で、複数のデバイスを数珠つなぎに接続できる仕様となっています。
まぁ、RTCを動かすだけですので、とりあえずそのまま繋ぎます。
私のArduinoはArduinoMegaという、GPIOの数が多いモノですので、I2C通信用のPinは20番と21番。
それを、下図の用に接続します。
VCCは5vに、SCLはSCL同士、SDAはSDA同士を接続します。
接続したら、ライブラリを使います。
ライブラリというのは、Arduinoとセンサーやディスプレイ、モジュールなどとの接続と使用をかんたんにするためのプログラムの集合だと思っておけばおっけー(厳密にはちょっと違うのだけど)。
DS3231のライブラリは色々なものがあるのですが、僕は今回、「RTClib」というライブラリを使いました。
https://github.com/adafruit/RTClib
上記のURLから、ZIP圧縮でライブラリをダウンロードして、ArduinoIDEに追加します。
・・・というやり方でも良いのですが、Arduinoに装備されているライブラリマネージャを使ってインストールすることもできます。
ArduinoIDEの画面上部の「スケッチ」→「Include Library」→「Manage Libraries」から、Library Managerを立ち上げることができます。
立ち上がった画面の右上部に「Filter your serch...」と書かれた入力ボックスがありますので、そこにRTClibと入力して、表示されたライブラリの「install」ボタンを押せばOKなので、こっちの方が簡単かも。
さて、次回はサンプルプログラムを動かしてみたいと思います。
つづく
こっちでもこっそりやってますので、よろしければどーぞ















