(51) ラズパイの gpiozeroを使った入力ポートの状態読み出しは論理値を返す。

投稿者: | 2024年11月5日

117 views

後日整理する。
まずは要点だけ書いておく。

読み出した value の値は、論理値である。
→ 信号線への 0Vの入力が、真にも偽にもなり得る。

すなわち、
負論理(Active Low)な入力ポート → 入力信号が 0Vならば True
正論理(Active High)な入力ポート → 入力信号が 3.3Vならば True
になる。

実験1: 負論理(Active Low)の場合

gpiozeroで入力ポートの設定時に pull_up = True を指定すると、負論理になる。

import gpiozero
sw = gpiozero.DigitalInputDevice( 23, pull_up = True )  # GPIO#23を入力ポートに設定

# GPIO#23に 3.3Vを入力した状態(=何も接続せず、プルアップ抵抗が使われている状態)で下行を実行してみる。
print( sw.value )     # 信号線をオシロでモニタすると 3.3V(偽) → sw.valueは 0 が読み出される。

# GPIO#23に 0Vを入力した状態(=GNDなどに接続した状態)で下行を実行してみる。
print( sw.value )     # 信号線をオシロでモニタすると 0V(真) → sw.valueは 1 が読み出される。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)