[目次]
初心者でも簡単にできる!ラズパイ(Raspberry Pi)で電子ブザーの音を鳴らしてみよう!
今回は、ラズパイ(Raspberry Pi)で電子ブザーの音を鳴らす方法を解説します^^
ラズパイ(Raspberry Pi)で電子ブザーの音を鳴らすために必要機材
ラズパイ(Raspberry Pi)で電子ブザーの音を鳴らすために必要な機材は下記のとおりです^^
ラズパイ(Raspberry Pi)
ココに注意
最新はラズパイ4ですが、ラズパイ3b+が安価かつ最もよく使われているモデルです!しかし、近年の需要と共に価格が高騰し始めているので今のうちに購入しておきましょう!
圧電ブザー
抵抗器(茶黒赤金)
ジャンパーワイヤー
ブレッドボード
圧電ブザーとは?
圧電ブザーは逆圧電効果という原理を使って動作します。
圧電効果は、圧電素子(水晶、セラミック等)に力をかけることで電荷を生じます。
また、圧電素子に電圧をかけると素子が変形し振動することを逆圧電効果といいます。
この振動により音を鳴らします。
今回は、圧電ブザーはリード線からでているより線が短く、ブレッドボードに差し込みにくいため線を延ばして使用します。
自励型は内部に発振回路が内蔵されており、電圧をかけるだけで音が鳴ります。
他励型は、自分で発振回路を作成する必要がありますが安価です。
しかし、最初は設計や時間および部品のコストを考えると発振回路が内蔵されている方が良いです。
ここで発振回路というものは、素子にパルスを与える回路のことです。
圧電ブザーに電圧のオンまたはオフで素子に動きを与え、音を鳴らします。
ラズパイ(Raspberry Pi)で使用する圧電ブザーの性能
今回使用する圧電ブザーの性能は下記のとおりです。
- 動作電圧3V~30V
- 消費電流:9mA
- 音圧88dBm
- 自励型
動作電圧は5Vなので、5Vの電圧をかけます。抵抗1kΩをブザーにいれますので、消費電流は問題ありません。
音圧が88dbmということは電車の車内並に騒音さの指標を表しています。
ラズパイ(Raspberry Pi)で使用する圧電ブザーの配線図
ラズパイ(Raspberry Pi)で使用するブザーの配線は下記のとおりです^^
ラズパイのピン端子の説明は物理番号で表現します。
オレンジ色の線は、ラズパイの端子のGPIOピン12番(論理番号ではGPIO18ピン)に入っています。
この12番ピンはPWMピンで、簡単に説明しますとパルスを発生させるピンに相当します。
圧電ブザーにパルス(ON/OFFを繰り返す周期状のもの)を加えてブザーを振動させ音を鳴らします。
このオレンジ色の線は電圧の極性で説明しますとプラス側で、抵抗器(極性はありません)を通ったあとブザーのプラス側(赤色の線)を通ります。
そのあと、ブザーのマイナス側(黒色の線)を通りピン14番のGNDに戻ります。
ラズパイ(Raspberry Pi)で使用する圧電ブザーの配線方法
先ほどの項目でブザーの配線の方法を説明したので実際に配線します。
ラズパイ(Raspberry Pi)で使用する圧電ブザーのプログラムを作成する方法
プログラムを作成しラズパイに命令することで、信号を出力させます。
言語はpython3を使用します。
プログラムの開発環境等の構築、pythonエディタの使い方が下記のURLに記載されているので参考にしてください。
下記にブザーが鳴るプログラムを記載し、説明します。
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.OUT)
指定ポートの呼び出しをします。
ここではBOARDでのボードピン番号指定なので12となります。
⑤ pwm = GPIO.PWM(12, 100)
12はチャネル(ピン番号)で100Hzの波形をつくります。
⑥pwm.start(100)
デューティ比(ON/OFFを繰り返す周期に対するONの時間の割合)を
決めて出力電圧を算出します。
単位はパーセントであり
0~100までの数値しか入りません。
⑦time.sleep(4)
どのくらい出力するのか、時間を決めます。
⑧pwm.stop()
pwm信号の出力を停止します。
⑨GPIO.cleanup()
このコマンドが無いと、GPIOピンが開放状態になり警告がでるので終了の処理をさせるために記述しておきます。
図では青色の枠が波形の役割をしまた縦の黒い矢印は出力電圧、横の矢印は出力時間を示しています。
100%で出力しているのでレベル信号(常にON)となります。
動作としては5秒間鳴るプログラムとなり、実行結果はピーという少し高い音が鳴ります。
ラズパイ(Raspberry Pi)で圧電ブザーを鳴らす
プログラムの作成が完了すると、後は実行のみとなります。
python IDLEのタブのRunよりRun Moduleで実行可能となります。