[目次]
初心者でも簡単にできる!ラズパイ(Raspberry Pi)でスイッチを使ってLEDを点灯させてみよう!
今回は、ラズパイ(Raspberry Pi)で電子ブザーの音を鳴らす方法を解説します^^
ラズパイ(Raspberry Pi)でスイッチを使ってLEDを点灯させるために必要な機材
ラズパイ(Raspberry Pi)でスイッチを使ってLEDを点灯させるために必要な機材は下記のとおりです^^
ラズパイ(Raspberry Pi)
ココに注意
最新はラズパイ4ですが、ラズパイ3b+が安価かつ最もよく使われているモデルです!しかし、近年の需要と共に価格が高騰し始めているので今のうちに購入しておきましょう!
スイッチ
抵抗器(茶黒赤金)
ジャンパーワイヤー
ブレッドボード
ラズパイ(Raspberry Pi)工作で使用するスイッチの動作説明
スイッチを使用しますが、スイッチにも色々な役割および動作があります。
これらは代表的に2つに分類することができ「モメンタリ動作」と「オルタネイト動作」するスイッチがあります。
モメンタリ動作とは?
モメンタリ動作とは、1回ボタンを押すと接点がくっつき(ON状態)、ボタンから手を離すと接点が離れること(OFF状態)となる動作のことを意味します。
オルタネイト動作とは?
オルタネイト動作とは、1回ボタンを押すと接点がくっつき(ON状態)、ボタンから手を離しても接点が離れなく、もう1度ボタンを押すことで接点が離れること(OFF状態)を意味します。
今回は、スイッチの写真より、モメンタリ動作をするタクトスイッチを今回使用します。
このスイッチは通常の押しボタンスイッチより頭の部分が高く、押しやすいという利点と非常に安価であるため採用しています。
スイッチの特徴と配線図
接続する前にスイッチの配線の仕方に注意が必要です。
青色の矢印は常に導通しており、オレンジ色の矢印はスイッチを押すことで導通する仕組みです。
スイッチをブレッドボードの差し込み口にまたいで配線しているのは短絡しないようにしています。
スイッチの特徴
スイッチの配線を図2に記載し、上記のことを踏まえスイッチの配線の手順を説明します。
スイッチの配線図
ラズベリーパイのピン端子の説明は物理番号で表現します。
オレンジ色の線は、スイッチの電源供給のため5Vに差し込んでいます。
スイッチのマイナス側はラズベリーパイの端子のGPIOピン12番(論理番号ではGPIO18ピン)に入っています。
今回は配線を説明しやすくするために、GNDの位置に近い信号線を選んでいるので信号線が12番でなくても、特に問題はありません。
そのあと、抵抗器(極性はありません)を通ったあとLEDのプラス側(赤色の線)を通りLEDのマイナス側(黒色の線)を通りピン14番のGNDに戻ります。
実際の配線
先ほどの項目でスイッチの配線の方法を説明したので実際に配線します。
下図はラズパイ(Raspberry Pi)側の配線の詳細です。
下図はブレッドボード側の配線の詳細です。
下図は配線全体図です。
スイッチのプログラム作成
プログラムを作成し、ラズパイ(Raspberry Pi)に命令を送ることで信号を出力させます。
言語はpython3を使用します。
プログラムの開発環境等の構築手順とpythonエディタの使い方は、下記の記事に記載されているので参考にしてください。
下記にスイッチを押すとLEDが点灯するプログラムを記載し、説明します。
最初にpython3(IDLE)エディタを開きます。
このエディタ上でメモ帳のようにラズベリーパイに命令させるコードを書きていきます。
①#!/usr/bin/env python
簡単に説明しますと、インタプリタの指定です。
②import RPi.GPIO as GPIO
import time
ここで使用するモジュールを宣言します。
③GPIO.setmode(GPIO.BOARD)
ボードピン番号を指定します。
setmodeには「BORAD」と「BCM」の2種類があります。
BOARDは物理的なピン番号、今回配線したのはGPIOピンは順に数えて12番なので12となります。
BCMは論理的な番号を示しており、GPIO12番目に差し込んだものはGPIO18になります。
よって、番号の数値は18となります。
これらを混在するとポートが開放できなくなり、動作できなくなります。
④GPIO.setup(12,GPIO.IN)
指定ポートの呼び出しをします。
ここではBOARDでのボードピン番号指定なので12となります。
⑤GPIO.INPUT(12)
入力ピンを使用します。
ここでスイッチを押すとLEDが点灯するような形となっています。
⑥GPIO.cleanup()
このコマンドが無いと、GPIOピンが開放状態になり警告がでるので終了の処理をさせるためにいれます。
スイッチで点灯させるプログラム
プログラムの作成が完了したら、あとは実行するだけです。
python IDLEのタブのRunよりRun Moduleで実行可能となります。