FlashAirのGPIO機能でデータを読み取ってみた。
FlashAirのために作った回路にはレベルコンーバータ(FXMA108)を使っている。
これにFlashAirの(GPIO機能で)ポートの出力を利用してスイッチ機能を実現している。
このレベルコンバータICは双方向バッファになっているので、読み込むことも出来る。
そういや出力しか回路動作の実績がなかったな。
ってことで、読み込みの実験をしてみよう。ヽ(´▽`)/
提供されている5ポート全て入力にして、電源を抵抗介してHigh信号を生成。
FlashAirのGPIO機能のコマンド「op=190」を使って読み込んでみた。
結果として"0x1f"の返り値を得た。
これは5ポート分、ALL Highと読み取れたということだ。
今回の実験で、GPIO機能の読み書きのポートの設定は、 「電源投入後の時で固定される」ことが分かった。
つまり一回決まったら、後は電源を切って再投入しない限りポートの設定は変えられないということである。(デベロッパーサイトのドキュメントにもこのことは書いていなかったので、最初は設定出来ずに苦労した。)
ポート毎に入出力を決められるので、人体センサーからの信号を読み取って(入力)、残りのポートでスイッチを入れる(出力)なんてことも可能なんだろうなぁ。
| 固定リンク | 0
コメント