micro:bit(マイクロビット)でプログラミングを楽しむ!「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。リアルタイムクロックモジュールRV-8803-C73-11RTCから日時を取得する2019-09-242019-09-24FacebookTwitterB!Bookmarkmicro:bitで、リアルタイムクロック(RTC)モジュールから日時を取得して、LED画面に表示する方法を解説します。ここで紹介するリアルタイムクロックモジュールは、RV-8803-C7(マイクロクリスタル社)です。3-11-1.リアルタイムクロック(RTC)モジュールとはリアルタイムクロック(RTC)モジュールは、それ単体で時刻を刻むことができるICで、外部からの問い合わせにより、日時や曜日などの情報を出力します。出力できる情報や機能の違いによりさまざまな種類のものがあります。本記事で使用するリアルタイムクロックモジュールは、RV-8803-C7(マイクロクリスタル社)です。リアルタイムクロックモジュールで、うるう年を自動補正するカレンダーと時刻情報を取得することができます。アラームやタイマー機能なども利用できます。動作電圧は1.5V~5.5Vで、I2C(~400kHz)で外部と接続します。RV-8803-C7は、サイズが3.2mm×1.5mm×0.8mm(SMDパッケージ)ととても小さく、そのままではmicro:bitと接続できないため、本記事では、RV-8803-C7を搭載した評価ボードを使います。この評価ボードは、多摩デバイスが提供するもので、基板上には、あらかじめ動作に必要なプルアップ抵抗やバックアップ電池(CR1025リチウム電池)、電源切り替え用のダイオードなどを備えています。出荷時には時刻情報が書き込まれています。RV8803-Raspi基板で確認することができます。図3-11-1-1.RV-8803-C7(マイクロクリスタル社)評価ボード3-11-2.用意するもの表3-11-2-1は、この電子工作に必要な部品などの仕様・定格です。KITRONIK-5609の端子19、20にはんだ付けするプロトタイピングセットとは、ブレッドボードとmicro:bitのエッジコネクターをピンヘッダーに変換する基板が一つになった製品で、micro:bitを使った電子工作がハンダ付けなしで簡単に始められます。図3-11-2-1.プロトタイピングセット(KITRONIK-5609)プロトタイピングセットには、必要なジャンプワイヤーが付いてきます。micro:bit用プロトタイピングセットブレッドボードを使用することで、ハンダ付けなしで電子回路の実験が簡単にできます。Amazonで見る3-11-3.作る前にmicro:bitに何かプログラムが入っていると、想定外の動きをするかもしれません。「何もしない」プログラムをダウンロードして、micro:bitに送っておきましょう。3-11-4.接続方法micro:bitに、USBケーブルが刺さっている場合は抜いて、電源がオフになるようにしてください。RV-8803-C7は静電気で故障する恐れがあります。取り扱いには十分注意してください。RV-8803-C7評価ボードの取り付けRV-8803-C7評価ボードのバックアップ電池が取り付けられた面を上にして、ブレッドボードに固定します。向きは、図3-11-4-1を参考にしてください。ピンソケットのピンアサインは、左からGND・NC・SCL・SDA・3.3Vとなります。異なる色のジャンプワイヤー(4本)を使って、ピンソケットへ接続します。本記事では、GND(黒)・SCL(青)・SDA(白)・3.3V(赤)としました。図3-11-4-1.RV-8803-C7評価ボードの取り付けジャンプワイヤーの反対側を、それぞれ対応するピンヘッダーへ差し込みます。3V(赤)・0V(黒)・19(青)・20(白)となります。19と20には、ピンヘッダーがないので、あらかじめ用意したピンヘッダーをはんだ付けしておきます。図3-11-4-2.ピンヘッダーへの接続もう一度、配線に間違いがないか確認してください。この評価ボードには、電源の逆接続保護回路はありません。誤って逆に接続すると、RV-8803-C7が壊れます。3-11-5.プログラミング(ブロック)リアルタイムクロックモジュールから日時を取得するサンプルプログラムです。最初だけ実行されるプログラム変換用の重みを定義します。図3-11-5-1.最初だけ実行されるプログラムボタンAが押されたときに実行されるプログラム年月日を取得して表示します。図3-11-5-2.ボタンAが押されたときに実行されるプログラムボタンBが押されたときに実行されるプログラム時分秒を取得して表示します。図3-11-5-3.ボタンBが押されたときに実行されるプログラム関数(年・月・日の取得)図3-11-5-4.関数(年・月・日の取得)関数(時・分・秒の取得)図3-11-5-5.関数(時・分・秒の取得)関数(レジスタ値の読み取り)図3-11-5-6.関数(レジスタ値の読み取り)関数(レジスタ値の変換)図3-11-5-7.関数(レジスタ値の変換)3-11-6.プログラミング(Javascript)Javascript(テキスト)のサンプルプログラムです。3-11-7.動かしてみようプログラムが完成したら動かしてみましょう。ボタンAを押すと年月日、ボタンBを押すと時分秒が、micro:bitのLED画面に表示されます。3-11-8.解説micro:bitとRV-8803-C7は、I2Cインターフェースによって接続され、RV-8803-C7のデバイスアドレスは0x32(50)です。下表は、RV-8803-C7のレジスタ構成(一部)です。レジスタのアドレスを指定することで、その値を取得することができます。(Page.7)例えば、年(Year)を取得する場合は、アドレス06h(6)を指定します。戻り値は8ビットで、ビットごとに重みが決まっています。年(Year)の場合、Bit0~Bit8が、それぞれ1・2・4・8・10・20・40・80までの値に対応し、ビットが立っている部分(1の部分)の重みを加算することで、値が求められます。合計は0~99となり、2000年~2099年を表します。micro:bit関連のおすすめ品micro:bitのエッジコネクターをピンヘッダーに変換するエッジコネクターピッチ変換基板と、ブレッドボードが一つになった製品です。付属のジャンパーワイヤーを使用することで、手軽に回路の実験ができます。micro:bit用プロトタイピングセットブレッドボードを使用することで、ハンダ付けなしで電子回路の実験が簡単にできます。この記事を読んだ人は、こんな記事にも興味があります。Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。泉保宗也(せんぼむねや)。