特集 電脳ガジェット Pi でラピッド・プログラミング 第6章 ラピッド センサ,D−Aコンバータ,カラー液晶… 電子工作 あれもこれも動かしてみたい! Part5 ラズパイは当然! Node−RED×Windows PC で Arduino の I2C を制御する 桑野 雅彦 USBとI2Cをブリッジ RTC Masahiko Kuwano I2Cバス USB 5V/3.3V変換IC Firmata 加速度センサ I2Cバス 温度センサ の利用が可能になります.本章では,Windows パ ソコン+ Arduino で I2C インターフェースのカレン ダ IC を接続し,秒カウンタのリセットや読み出し を行ってみます. センサ値の取得,制御出力設定などの基本操作な ら,ノードの接続だけで十分可能です. Arduino を I2C バス・ブリッジとして利用 ● 多くの IC やモジュールが備える I2C インターフェ ース 第 5 章では,Arduino の I/O 端子を利用して,ディ ジタル信号やアナログ信号の入出力をしました.これ だけでもかなりのことができますが,Arduino の I/O 機能では不足するときや,各種のセンサ類をつなぎた いときに Arduino の A−D 変換回路では不足するとき もあるでしょう. Arduino の持つ機能にとらわれず,さまざまなデバ イスを拡張していくのに便利なのが I2C バスです. サポートしているので,簡単にI2Cバスで拡張できます. I2C バスは古くからボード内の IC 接続用のシリア インターフェース機能をサポートしています.また, Arduino の Firmata スケッチも I2C バス・アクセスを 2016 年 6 月号 4 5 6 8 ル・バスとして使われています.I2C バス対応のデバ イスは,D−A コンバータや A−D コンバータ,I/O エ キスパンダ,加速度センサ,磁気センサなどさまざま な種類を多くの半導体メーカがリリースしています. I2C スレーブ機能を持ったマイコンも珍しくないので, I2C バスの下にさらに独自のマイコン・ボードを拡張 することもできます. I2C デバイスはそれぞれ I2C バス・アドレスを持っ ています.I2C バス・アドレスがぶつからなければ 1 本のバス上に複数のデバイスを接続できます. 図 1 のように Arduino を I2C バス・ブリッジとする ことで,世の中にたくさんある I2C デバイスを Node− RED から利用できます.もちろん,I2C 以外の GPIO も通常どおりアクセスできるので,Arduino の I/O も 無駄になりません. 図のように Arduino の GPIO に LED やスイッチをつ なぐこともできます.GPIO につないだスイッチに応 じて,センサの値を I2C バス経由で取得し,GPIO に つないだ LED に表示するといった使い方もできます. 実験の準備 ● Node−RED は Arduino の I2C を動かすライブラリ を標準装備 Node−RED の GPIO ライブラリは,Arduino の I2C 3 7 図 1 Arduino を I2C バス・ブリッジとして利 用して Node−RED で I2C デバイスを動かす Arduino を I2C バ ス・ ブ リ ッ ジ と す る こ と で, Windows パソコンの Node−RED から I2C デバイス 2 D-Aコンバータ Arduino Node-RED +Firmata 1 ● I2C インターフェースを備えるカレンダ IC RX− 8564LC を動かす I2C バス・アクセスのサンプルとして,Arduino の 先に I2C バス・インターフェースを持った RTC (Real 97 9
© Copyright 2024 ExpyDoc