I/Oエキスパンダー MCP23017と、500円の激安ロジックアナライザを試してみた | a24a24a24のブログ

a24a24a24のブログ

アメピグ残党。
釣り、温泉、お出かけ、パソコン。最近、電子工作。

 

FM音源 YM2413で、電子音や音楽を鳴らすにあたり

制御にArduino nanoの出力ピンを12本も使うため、足らなくなりそう・・・と思っていました。

 

 

よし、制御する信号線を、まとめよう。

 

今回の目標:

・I/Oエキスパンダーで、制御線をまとめるテスト (とりあえずLED×10個を制御してみる)

・デバッグができるように、ロジックアナライザで制御信号を確認してみる

 

(※相当にわかりづらい内容なので、興味のない方は読み飛ばしてください・・・)

 

 

 

 

I/Oエキスパンダー MCP23017。秋月電子で110円。

amanoya3さんのブログで知り、購入。使い方も参考にさせて頂きました。

「Seeeduino XIAOのパラレル出力を増やすためにIOエキスパンダを使ってみた P.T.A.55」

 

どんな部品か例えるならば。

最大16本の手旗信号の上げ下げをタコ2匹が全部の脚でやっていたのを

「左から下上上下下上上下・・・」みたいにロボットに一括指示できるようになり

結果、制御線(マイコンの制御ピン占有)が大幅に減らせます。

 

 

最終的に、YM2413の制御線12本を、I2Cの2本にまとめるよう目指します。が、

今回は練習で、LED10個の点灯/消灯を制御してみます。

 

 

 

ロジックアナライザ。AliExpressで送料込み519円。

デジタル信号の高低を、8チャンネル同時に記録する計測器です。

数ヶ月前に購入したまま、宿題として積んでいました。

初めて使います。

 

本来は万単位?の高価な装置で、500円で買える物ではないはずですが、

中国のナゾの技術革新により生まれたようです。

結論からいうと、興味ある人は買っていいと思います。保証はありませんが500円で便利になるならダメモトで。

Amazonでは1000~1500円で売っているようです。

 

 

 

細かいことは省略して。

I/OエキスパンダーにLEDを接続し、I2Cで適当な数「3」「66」(16進数)を送信してみます。

 

 

3は2進数で「0000 0011」

66は2進数で「0110 0110」

わかりにくいですが、2進数の「1」の桁に対応するLEDが点灯しました。制御できています。

 

 

 

66に当たるLED8本について、ロジックアナライザで電圧の高低を見てみました。

LEDが点灯していればHIGH、消灯していればLOWになっていることが分かります。

 

 

 

I2Cの信号線2本(SDA,SCL)について、ロジックアナライザで制御信号を見てみました。

プロトコルデコーダ機能を使うと、信号が自動解析されて、逆順ですが「3」「66」が

流れていることが分かります。

ロジックアナライザのアプリはPulseViewというフリーソフトで、よく出来ています。

操作もわかりやすいと思いました。もっと早く使えばよかった。

 

 

 

 

今日はここまでにします。

つづく。