組み込み系

ArduinoでIOを延長する方法

IMG_1683ArduinoのIOポートやシリアルポートに接続するスイッチや外部機器を、ケーブルで延ばして遠いところ設置する場合の回路をご紹介します。
Arduinoの実験記事では、だいたいボードのすぐ近くにスイッチがあたり、ボードのすぐ横に実験用の相手がいたりしますから、直接ワイヤリングでもほとんど問題ありません。
しかし少し長くといいところに伸ばして、Arduinoのボードよりもっと遠くにIOを伸ばしたい場合には、単純にケーブルを延ばすだけで問題が発生します。

IOポートに乗るノイズ問題

IOポートをケーブル等で延長した場合には、ケーブルを通して外的要因(ノイズ)を受けやすくなります。
ノイズは、IOのHIGH/LOWの信号に悪影響あたえるだけではなく、時にはCPU自体を破壊する原因にもなります。
そのため、ポートの前段にロジックIC(7414シュミットトリガ)を利用しバッファすることで回避します。

回路接続図

inut

説明

LS7414には6個の回路があります。
バッファリングには、この中から1個だけをポートに接続すれば完了です。
つまり、上記の回路では、OUTの場合には、7414のピン1にArduinoのポートを接続し、ピン2にLEDや出力機器を接続します。
もちろん、7414のピン3→ピン4など他のピンでもINとOUTが正しければどこを使ってもかまいません。
内部の6回路は皆同じです。

逆にArduinoに入力をする場合は、ピン1(入力側)に外部機器(スイッチなど)を接続し、ピン2(出力側)にArduinoのポートを接続します。

応用

上記の回路では2個のバッファーを直列に接続しています。
その理由は、1回路だけ使った場合は信号が出力で反転するため、もうひとつ直列接続することで、さらに反転させることで、本来の信号値に戻しています。

ここに書いた足の番号はあくまでも参考であり、論理さえあっていればどのような番号で接続しても問題ありません。

これはシリアルポートに盛りようするこたが可能です。

ロジックIC 7414について

ロジックICにはTTLタイプとCMOSタイプがあり、動作電圧と電流が異なりますが、動作は同じです。

74***

TTL(TransistorTransistorLogic)電流を食う初期のロジックICで、1970年頃に誕生。ノイズに弱いため回路上にはパスコンが必要です。
電源電圧は4.75V~5.25V、消費電流は8mA、反応速度は22ns

74LS***

74互換後継主。もノイズに弱い。ノイズに弱いため回路上にはパスコンが必要です。
電源電圧は4.75V~5.25V、消費電流は1.6mA、速度15ns

74HC***

CMOS低消費電流タイプ。TTLと違い未使用の入力ピンはプルアップ・プルダウンが必要です。静電気に注意してください。
電源電圧は2V~6V、消費電流は0.02mA、速度は8ns

 

タイトルとURLをコピーしました