秋葉原からは少し離れたパーツショップでaitendoという店に行ってみました。普通のオフィスビルの一角です。
値段は安いです。店員は中国の方のようです。
こんなパーツを購入。
赤色から緑のドットマトリックスに変更とはいきませんでした。
ゆるくて手持ちのブレッドボードにうまくささりません。pinの配置も手持ちのアノードコモンのもの違いました。
中国製らしく検索してみるとアリババが登場しました。それもリンク切れで詳細は不明です。
次に気圧センサ、コンデンサが必要みたいで手元にありません。
(追記、コンデンサ不要でPi3と接続用のジャンパーワイヤ以外は抵抗もいりませんでした)
残ったのが薄膜パネルスイッチ
なんとか類似品の回路図を見つけて接続してみました。
(いずれもネットで詳細情報がなく類似品から推測しています。)
<接続>(Raspberry Pi3)
3.3v - 10KΩ - 薄膜パネルスイッチIN(4本)
10KΩと 薄膜パネルスイッチINの間kから - 1KΩ - GPIO(6 26 14 13)
薄膜パネルスイッチout(3本)- GPIO(15 11 5)
うまく切り替えたつもりなのですが、横の同時押しの時は反応しません。
パソコンのキーボードなどと同じなのかもしれません。
縦、斜めなどは同時押し認識します。
import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) for pin in [15,11,5]: GPIO.setup(pin, GPIO.OUT) for pin in [6,26,14,23]: GPIO.setup(pin,GPIO.IN,pull_up_down=GPIO.PUD_UP) def button12(): r=[] for l in range(3): GPIO.output(15, GPIO.HIGH) GPIO.output(11, GPIO.HIGH) GPIO.output(5, GPIO.HIGH) GPIO.output([15,11,5][l], GPIO.LOW) time.sleep(0.05) for p in range(4): if GPIO.input([6,26,14,23][p])==0:r+=[l*4+p] if len(r)>0:print(r) return r while 1: if 11 in button12():break time.sleep(0.2) GPIO.cleanup()