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 が読み出される。