DeathMarch.net

カメラや写真、RaspberryPiやLinux関連の活用方法、普段使っているモノのレビューや自作したものを写真多めで紹介します。

RaspberryPi ガジェット

RaspberryPiにスイッチを付けよう

投稿日:2017年5月10日 更新日:

LINEで送る
Pocket

ラズパイなら簡単にスイッチを付けられ、スイッチに好きな動作を割り当てることができます。今回は、3つの物理スイッチを実装してみます。

スポンサーリンク

 

スイッチの役目

生活の中にはたくさんのスイッチがあります。電気、水道、ガス、車…
よく使うものには物理的にスイッチがある方が直感的にわかりやすく、使いやすいです。

今回はラズパイのスイッチに以下の役割を持たせます。

  • 天気予報の読み上げ
  • ニュースの読み上げ
  • ラズパイをシャットダウンさせる

平日って、毎朝同じ時間帯に同じことをしていますよね。食事したり服を着替えたり。そんな時、ラズパイが今日の天気を教えてくれたら便利じゃないですか? きっか...

ラズパイで何か便利なものを作れないか…と考えた結果、毎日定時に最新のニュースを読み上げてもらっています。 環境の準備我が家のラズパイ環境は以下の通り。ハー...

それでは、始めましょう!

 

ラズパイと物理スイッチをどう繋ぐ?

ラズパイには便利なGPIOと呼ばれる汎用的な入出力ピンを備えています。
GPIOを使うと、ラズパイからデジタル信号の入出力が行えます。要するに、他装置と通信が可能になるのです。
このGPIOに物理スイッチを接続することで、スイッチのON/OFFをラズパイで検知できるようになります。ラズパイには、GPIOピンが複数あるため、スイッチを複数接続して、それぞれに違う動きをさせることができます。

 

スイッチの製作

まずは、物理スイッチを接続しないことには何も始まりません。
今回は以下の材料でお手軽スイッチを製作しました。

  • タクトスイッチ
  • インジケータ用赤色LED
  • ユニバーサル基板
  • ジャンパーワイヤー
  • カーボン抵抗
  • スペーサー

回路はこちらです。回路と言うか、ブレッドボードですが…。
思い付きで作ったものなので適当です(笑)

ラズパイにスイッチを付ける

赤色LEDは、ラズパイが動いてますよ!というのを示すインジケータの役割です。シャットダウンボタンを押すとLEDが消えるようにしています。
ユニバーサル基板を直置きすると、ボタンを押した時に半田が取れそうなので、スペーサーで浮かせています。
ちなみに、ボタンを押しても基板が曲がらないよう、硬いガラエポ基板を使っています。

 

ジャンパーワイヤの接続

製作したスイッチをラズパイと接続しましょう。

ここで注意点があります!
ショートさせてしまうと、ラズパイが壊れる可能性があるため、きちんと半田付けできているか、接続前にテスターで確認して下さい!

問題がないことを確認してから接続します。

RaspberryPi2の場合、配線は上記回路図の通りです。ラズパイの世代により、GPIOピンアサインが変わるため、注意して下さい!

 

シェルスクリプトの作成

スイッチが押されたことを検知し、コマンドを実行するシェルスクリプトを用意します。
今回は分かりやすいように、ボタン毎のシェルスクリプトにしています。

それぞれのシェルスクリプトは殆ど同じです。
GPIO変数に使用するGPIOピン番号を指定しています。

whileループは無限ループとなっています。ここでスイッチが押されているか、毎秒チェックを行なっています。
ボタンが押されていることを検知すると、記載しているコマンドを実行しています。実行するコマンドのパスは、実行する環境に合わせて修正して下さい。

また、LEDインジケータを付ける場合は、GPIOピンを出力に設定する必要があります。

シェルスクリプトを用意したら、それぞれに実行権限を与えて下さい。

 

動作確認

ラズパイを起動させた後、作成したシェルスクリプトを実行させて下さい。

  • led_init.shは1度のみ実行する。
  • ボタンを制御するスクリプトはバックグラウンドで実行する。

スクリプトは、起動時に自動実行するようにcronスケジューラで登録しておくと便利です。

スクリプトを実行させたら、ボタンを押して見てください。1秒毎にチェックしているので、少し長めにボタンを押してください。

 

まとめ

どうでしょうか。動きましたか?
スイッチを増設したり、トグルスイッチに変更することで、様々な動作をさせることができます。アイデア次第で便利なラズパイを作りましょう!

スポンサーリンク
LINEで送る
Pocket

-RaspberryPi, ガジェット
-

執筆者:


  1. […] ※2017/05/10追記 ラズパイにスイッチを接続する記事を書きました! […]

  2. […] ※2017/05/10追記 ラズパイにスイッチを接続する記事を書きました! […]

  3. […] ※ 2017/05/10追記 ラズパイにスイッチを接続する記事を書きました! これを応用すれば、ラジオを任意のタイミングで再生することができると思います。(追記ここまで) […]

comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

関連記事

雨

RaspberryPiで天気予報を聞こう

平日って、毎朝同じ時間帯に同じことをしていますよね。食事したり服を着替えたり。 そんな時、ラズパイが今日の天気を教えてくれたら便利じゃないですか?

ラジオ

RaspberryPiでコミュニティラジオを聴こう

コミュニティラジオって知っていますか? 日本各地には、小さなコミュニティラジオ局がたくさん存在します。 じゃあ、ラズパイでコミュニティラジオを聴いてみよう!

NVR500

YAMAHA NVR500で定期的にWakeOnLanを実行する方法

我が家ではYAMAHA NVR500を使っているのですが、色々活用方法がないかなーと思っていましたが、WakeOnLan(WOL)機能があるみたいなので少し勉強してみたので、備忘録としても残しておこう …

BME280

Arduinoでスマートな温湿度+気圧計を作ろう!

Arduinoで生活に役立つものを作りたい。ありきたりなものではなく、自作ならではのちょっとリッチなものですよね!

外観

Focusrite Scarlettでハイレゾ試聴環境を構築してみた

最近ハイレゾ、ハイレゾ…と目にする機会が増えてきたので、そろそろハイレゾ環境を構築してみようと思い、オーディオインターフェースであるFocusrite Scarlettを使ってハイレゾ鑑賞環境を構築し …

2020/04/26

IKEAの「LILLABO」でプラレールとBRIOとプチ電車を比較して分かったこと

電車のおもちゃって種類が色々あるけど、ちゃんとレール走れるのかな?ということで検証してみました。

Mac mini 2018

2019/12/09

Mac mini 2018をレビュー!周辺機器も紹介します!

自宅メイン機の刷新でMac mini 2018を購入しました!購入したモデルの詳細とレビュー、現在使っている周辺機器を紹介します!

2019/12/09

自宅で薪作りをするために電動チェーンソーCS-2501を購入!

自宅で薪作りをするため、電動チェーンソーを追加購入しました。STIHL MS170と比較しながらRYOBI CS-2501をレビューしてみようと思います!

外観

2019/12/07

Focusrite Scarlettでハイレゾ試聴環境を構築してみた

最近ハイレゾ、ハイレゾ…と目にする機会が増えてきたので、そろそろハイレゾ環境を構築してみようと思い、オーディオインターフェースであるFocusrite Scarlettを使ってハイレゾ鑑賞環境を構築し …

2019/03/11

METIS PLUSとASRock J4105-ITXで省電力・静音録画サーバを作る

録画サーバのリプレースとして、METIS PLUSとASRock J4105-ITXを使って自作サーバを構築したので紹介しようと思います。ちなみに自作PC初体験でした。