ラズベリーパイに時計、リアルタイムクロック DS3231 [ハード]
ラズベリーパイには、時計が付いていない。
ネットに繋いでいるときには、ネットから時間をもらって表示している。
なので、スタンドアローンで使うときは時計なしになる。
だけど、気象の変化などを記録しようなどと思うと、時刻が必要になる。
そこで、必要なのが時刻を刻んでもらうリアルタイムクロックモジュール。
使ったのは、DS3231搭載のもの。
DS3231は、秒、分、時間、日、月、曜日、および年をカウント(2100年までうるう年を補正) 、高精度を謳っている。ほかに温度センサーや時刻アラームも付いている。
モジュールのピン配置は、
1. VCC 3.3V
2. SDA
3. SCL
4. NC
5. GND
の順番になっていて、ラズベリパイのGPIOの1,3,5,7,9に対応してるので、
そのまま挿すだけで接続は完了。
使い方も簡単で、というのもラズベリパイには、元々このモジュールを使えるようになっている。
まず、I2Cを使えるようにするため /etc/modprobe.d/raspi-blacklist.confのblacklist i2c-bcm2708の先頭に#で無効にして保存、再起動。
下記のコマンドを実行。
$ sudo su
# modprobe i2c-dev
# i2cdetect -y 1
I2Cのアドレス一覧が表示されます。68が検出される。
# modprobe rtc-ds3232
# echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
RTCを認識させます。上の「rtc-ds3232」 は打ち間違いではありません。
ラズベリーパイでは、ここ型番で認識されるようです。
# hwclock -w
時刻をRTCに書き込みます。
以上です。下記コマンドで確認できます。
# hwclock -r ; date
さて、このままだと電源を入れるたびに上のコマンドを入れなくちゃいけないので、
このまま使い続けるには、
/etc/rc.localの中の最終行の「exit 0」の手前に下記の3行を加える。
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
sleep 1
hwclock -S
「hwclock -s」はRTCをシステム時刻にする。
これで、電源を切っても時刻を使える。
データシート
RTC/リアルタイムクロック DS3231 I2C接続 ラズベリーパイ
2017-07-28 10:51
nice!(0)
コメント(0)
トラックバック(0)
コメント 0