DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

5VのセンサーモジュールをRaspberryPiのGPIOに接続する

RaspberryPiのGPIOは3.3V入出力だから5V印可すると壊れる。

 

一番良いのはもともと3.3Vのモジュールを使うのが吉。

(黄色がマイコン

f:id:DreamerDream:20151225124856j:plain

 

だが、手元に3.3V駆動のセンサが無い場合もあるので5V駆動の人感センサーや赤外線受光モジュールの接続方法を書いておく。

 

当たり前だが5V駆動、入出力のモジュールを繋げるとマイコンが壊れる。

f:id:DreamerDream:20151225124937j:plain

 

一番簡単なのは「抵抗分圧」という方法で電圧を変える方法。

この場合は3.3V以上印可しているのでアウト。

f:id:DreamerDream:20151225125015j:plain

 

このようにすると3.3V以下になるがしっかり認識される。

f:id:DreamerDream:20151225125110j:plain

スレッショルドレベル(閾値)」というものがあり「この電圧以上であればHIと認識しますよ」という値がある。ICの仕様書などでVihと表示され、「この電圧以下ならLOと認識しますよ」というのはVilと表示されていることが多い。

 

センサモジュールがLoレベルを出力できるならば、3.3Vでプルアップさせておき、Loレベルの時にダイオードを介して電圧を落とすという方法を取る事が出来る。

僕は赤外線受光モジュールをこの接続で使っている。

f:id:DreamerDream:20151225125648j:plain

マイコンで内部プルアップが設定できると、ダイオード一個で入力が可能。

これが一番回路的に単純。僕は人感センサーをこの接続で使っている。

f:id:DreamerDream:20151225125847j:plain

 

「オープンコレクタ」と言ってLoレベルを出力しないモジュールを使う場合はトランジスタでLoレベルに落として入力する。

f:id:DreamerDream:20151225130325j:plain

この接続だとセンサがHiのとき、入力はLoと反転入力になる。

 

 

kampa.me