先回のエントリでTWI-Liteを組み立てました。今回はTWI-Liteの使い方について説明します。
TWI-Lite外観
TWI-Liteは、TWI-Lite間で無線通信を行うことができます。ただ「無線通信を行うことができる」って言っても結局具体的に何ができるの?という疑問があるかもしれませんのでそのあたりから説明したいと思います。
まずTWI-Liteの外観ですが、基板本体の下側にピンが付いています。片側14ピン、合計28ピンあります。基板上には無線モジュールなどの部品とアンテナが付いています。
また、このピンは番号が付いています。すでに「MacでPICマイコン入門(9)」で説明しましたが、ピン番号は部品を正位置のみたとき(丸い欠けを左に置いたとき)、左下のピンから順番に半時計回りで1から番号が振られています。具体的には以下のようになります。
一点注意があります。ピン番号はこのように順番に振りますが、TWI-Liteの場合、各ピンには別の番号あるいは文字(7, 8など数字やA2などの文字)も振られています。上の実物の画像をご覧いただければ読みづらいですがわかると思います。この番号・文字は順番に振ったピン番号とは異なって、ばらばらになっていますよね。説明書などではこちらの番号でも説明されることがあるので注意してください。どちらの番号で言っているか明確にするため、TWI-Liteの説明書では、「ピン」番号と「シルク」番号という言葉を使用しています。
ちょっと余談です。電子機器の基板にはいろいろ印刷がされているのを見たことがあると思います。この印刷は「シルク印刷」という技法で印刷されています。興味がある方はその方法を調べてみると面白いと思います。「シルク印刷という技法」というとなんかすごい発明のような気もしますが、これは孔版印刷という印刷方法のひとつの技法で、仕組みは結構原始的だったりします。このシルク印刷で印刷したので、基板の印刷がある面を「シルク面」と呼んだりします。また印刷された数字などは「シルク番号」と呼んだりもしています。
さらに余談です。先ほどのシルク印刷は「孔版印刷」という印刷方法であることを説明しましたが、印刷方法には他に、凸版印刷、凹版印刷、平版印刷があります。このうち、凹版印刷は別名「グラビア印刷」と呼びます。よく週刊誌などで、グラビアアイドル、などと呼ばれることがありますが、この「グラビア」はこの「グラビア印刷」からきています。週刊誌って、始めの10ページぐらいはカラーのつるつるした綺麗なページで、そこにアイドルの写真なんかがあって、残りの大半は本文の記事でモノクロ印刷だったりしますよね。凹版印刷はダイナミックな色再現が得意なので、その始めの10ページぐらいのカラーページは凹版印刷で刷ることが多いんです。つまり、アイドルなどがよくでているカラーのページは凹版印刷、つまりグラビア印刷で印刷されているので、グラビアアイドル、っていうわけです。逆にグラビアアイドルは日本語で無理矢理言うと、凹版人気者、とか言うんでしょうか。
ということで、TWI-Liteのピンの説明書などをみる時は、「ピン」番号なのか「シルク」番号なのか注意しましょう。
何ができるのか
TWI-Liteを使用すると、無線で電気信号のやりとりができます。TWI-Liteを購入した初期状態ですでにプログラムが書き込まれていて、一般的な使用の範囲では十分な機能が実装されています。なお、このプログラムは書き換え可能で、開発キットはソフトウエアは無償で、書き込みモジュールは2,000円程度で販売されています。書き込みはPICマイコンプログラムと同じような感じで開発できますが、残念ながらMacOSX用の開発ソフトウエアは準備中とのことです。現在リリースされている開発ソフトウエアはWindowsとLinux版のみです。Macユーザであれば、Linuxで開発するのがよいと思います。Macに仮想環境(無償のVirtualBoxなど)とLinux(無償)をインストールすれば開発できます。ただ、TWI-Lite初期状態で大半の場合は問題ありませんので、ホームコントローラはそのまま使用します。
具体的にどのような感じで使うことができるか、模式的に説明します。
TWI-Lite間でやりとりできる電気信号は、デジタル、アナログ、データです。デジタルの電気信号はONとOFFのやりとりになります。TWI-Liteにはデジタルがやりとりできるピンは4ピン用意されていて、デジタル入力1〜4、それに対応するデジタル出力1〜4があります。以下に、デジタル入力1(図中ではDI1)とそれに対応するデジタル出力1(図中ではDO1)を使った通信を説明します。
デジタル入力1はピン番号15、デジタル出力1はピン番号5です。使い方ですが、まず親機のデジタル入力1ピンをONにすると、子機のデジタル出力1ピンがONになります。
子機にもデジタル入力1ピンがありますので、子機の入力も親機に伝えることが可能です。
特にソフトウエアの設定はしなくてもすぐにこのような使い方ができるのでとても便利です。このように簡単に使えますが、子機をもうひとつ用意したらどうなるのでしょうか。残念ながら初期状態のプログラムでは親機の信号はすべて子機に伝えられてしまいます。つまり、親機のデジタル入力1をONにすると、すべての子機のデジタル出力1がONになります。ただ、デジタルピンは4セットありますので、それらを使い分ければ特定の子機に信号を送る、ということはできます。
ではたくさんの子機は制御できないのでしょうか。子機側の工夫は必要ですが、たくさんの子機を制御することは可能です。具体的にはデータピンを使用します。データピンを使用すると、詳しい説明はここではしませんが、I2C、あるいはUARTというプロトコルでデータ通信が可能です。このデータピンで通信を行えば、データフォーマットを[子機番号][データ]というようにして、例えば0x01、0x00、というデータを送ると、子機番号1番に、データ0x00を送るようにできます。この0x01、0x00というデータは全部の子機が受信してしまいますが、自分の子機番号のときのみ処理をする、というようにすればたくさんの子機を制御できます。ホームコントローラは子機をたくさんつけられるようにデータピンを使用する予定です。
TWI-Liteのイメージはつかめていただけたでしょうか。
次回は実際にテスト回路を組んで動作確認してみます。