マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初心者の方からよく質問される「入力ポートが足りないときに、スイッチ入力数を増やす裏ワザ」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、初心者から多く寄せられる質問です。
マイコンを使っていて入力ポートが足りなくなることがあります。一方で、機器を安価にしたいので、ピン数の少ない低コストのマイコンを使用したいです。少ない入力ポート数で、多くのスイッチ入力を扱う方法はありますか?
出力ポートを使い、スイッチマトリクスの有効な列を切り替える「キーマトリクス方式」でスイッチを配置することで、入力を増やすことができます。例えば、8ビットのポートでスイッチ入力を16個へ増やし、より多くのスイッチ入力を扱うことができるようになります。
キーマトリクス方式で使用できる入力点数は、以下の式で求められます。
スイッチ入力点数=入力ポート数×出力ポート数
スイッチ入力16個の場合、8ビットのポートを4ビットずつ入力ポート/出力ポートに設定します。
キーマトリクス方式の注意点として、スイッチを同時に押した際、電圧が衝突しないような回路構成にする必要があります。そのため、プルアップ抵抗付き入力ポートとプルアップ/プルダウン抵抗なしのオープンドレイン出力ポートを使用した構成にする必要があります(図1)
STマイクロエレクトロニクス(以下、ST)製の汎用32ビットマイコン「STM32G0シリーズ」では、外付け部品無しでこの構成のキーマトリクス方式を扱うことができるため、低コストのマイコンで多くのスイッチ入力を扱うことができます。
Copyright © ITmedia, Inc. All Rights Reserved.