SSブログ

ラズベリーパイに時計、リアルタイムクロック DS3231 [ハード]

RTC4Rpi.JPG

ラズベリーパイには、時計が付いていない。
ネットに繋いでいるときには、ネットから時間をもらって表示している。

なので、スタンドアローンで使うときは時計なしになる。
だけど、気象の変化などを記録しようなどと思うと、時刻が必要になる。
そこで、必要なのが時刻を刻んでもらうリアルタイムクロックモジュール。

使ったのは、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接続 ラズベリーパイ

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

電子回路で湿度を測る方法|- ブログトップ

いろいろ覚えることも多く、知りえた知識を貯めておこうと思います。先はまるで見えないですけどね。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。