パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Pi3に薄膜パネルスイッチ [MSW12B714-3] をつけてみる

2018-12-01 | その他

秋葉原からは少し離れたパーツショップで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()

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。