5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Raspberry Pi 2 Model B】初めての電子工作 タクトスイッチに挑戦

Last updated at Posted at 2018-04-12

##概要
別の記事で作ったリモートボタンが地味に便利で、某Dashとかいろいろ試している最中であり、せっかくラズパイなんだから、王道の物理ボタンにもチャレンジしてみようと思ったのがきっかけです。

##参考にしたサイト

##前提条件

  • モデル : Raspberry Pi 3 Model B
  • OS : Raspbian Stretch
$ uname -a
Linux raspberrypi 4.14.32-v7+ #1106 SMP Wed Apr 4 18:19:23 BST 2018 armv7l GNU/Linux

##構成
電子工作はほぼ初めてなので単純構成。スイッチと3.3V、GPIO14を接続しただけです。中学?高校?くらいの知識を思い出して理解しました。プルダウン抵抗がない?気にしない!
Untitled Sketch 3_ブレッドボード.jpg

##動作確認
Pythonで動作確認します。

button_test.py
#!/usr/bin/env python

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(14, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

try:
    while True:
        if GPIO.input(14) == GPIO.HIGH:
            print("14")
            
        time.sleep(0.1)

except KeyboardInterrupt:
    pass

GPIO.cleanup()

Raspberry Piには内部にプルダウン抵抗が用意されていて、通常
GPIO.setup(14, GPIO.IN) と書くところを
GPIO.setup(14, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) とすることで有効になる模様。
では実行。停止はCTRL+Cで。

$ python button_test.py
14
14
14

スイッチを押したとき、14が表示されれば成功です。

##もっとボタンが欲しい
ということで4つ接続しました。
Untitled Sketch 3_ブレッドボード2.jpg

button_test.py
#!/usr/bin/env python

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(14, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

try:
    while True:
        if GPIO.input(14) == GPIO.HIGH:
            print("14")
        elif GPIO.input(15) == GPIO.HIGH:
            print("15")
        elif GPIO.input(23) == GPIO.HIGH:
            print("23")
        elif GPIO.input(24) == GPIO.HIGH:
            print("24")
            
        time.sleep(0.1)

except KeyboardInterrupt:
    pass

GPIO.cleanup()
$ python button_test.py
14
15
23
24

これで、4つの処理を割り当てることができそうです。
携帯性は失われましたが・・・
DSCN5666.JPG

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?