Raspberry Pi 3でpythonを使いブザーを鳴らす!

More than 1 year has passed since last update.


はじめに

「優しいIT」という理念の基、ITコンサルタントをしている亀井亮介と申します!

現在、仕事では要求分析・要件定義を中心に上流工程をしていますが、プログラムも書きます!

優しいIT活動の一環として「教育用ようにプログラミング可能なPCを安価に提供する」理念の「Raspberry Pi 3(通称ラズパイ)」の紹介をします!

今回は、ブザーを鳴らします!

ラズパイマガジン-2016年6月号 特集1 アキバの人気パーツ 配線図ベスト17 ⑦通知や警告の音を鳴らせるを参考にしています。


手順


  1. 配線

  2. プログラム buzzer.py

  3. プログラムを動かす


1. 配線

配線図は、ラズパイマガジン-2016年6月号 特集1 アキバの人気パーツ 配線図ベスト17 ⑦通知や警告の音を鳴らせるそのままです。

回路の写真を参考までに、こんな感じというイメージになれば

Raspberry Pi 3でpythonを使いブザーを鳴らす!回路.jpg

動画にもしました

動画解説クリック→

テキスト版

ラズパイ側から


  • ラズパイ 2番ピン(5V) - 圧電ブザー プラス側

  • ラズパイ 6番ピン(GND) - トランジスタのエミッター(E)

  • ラズパイ 16番ピン(SCL) - 抵抗10kΩ - トランジスタのコレクター(C)

圧電ブザーから


  • 圧電ブザー プラス側 - ラズパイ 2番ピン(5V) ※重複

  • 圧電ブザー マイナス側 - トランジスタのベース(B)


2. プログラム buzzer.py

プログラムもラズパイマガジン-2016年6月号 特集1 アキバの人気パーツ 配線図ベスト17 ⑦通知や警告の音を鳴らせるを参考にし、改修しました。

引数でON/OFFを制御したり、何秒ブザーを鳴らすかを設定できます!

GitHubにソースをアップしているので、お好きにお使いください。


gitでcloneする

$ git clone https://github.com/RyosukeKamei/raspberrypi3.git



buzzer.py

# GPIOを制御するライブラリ

import wiringpi
# タイマーのライブラリ
import time
# 引数受け取り
import sys

# ブザーをつないだGPIO端子
buzzer_pin = 23

# 初期設定
wiringpi.wiringPiSetupGpio()
wiringpi.pinMode( buzzer_pin, 1 )

# 引数
param = sys.argv

# 第1引数
# on : 音が鳴る
# off : 音が止まる
order = param[1]

# 第2引数 音がなる秒数
second = int(param[2])

if order == "on":
# 第1引数がonの時、音を鳴らす
wiringpi.digitalWrite( buzzer_pin, 1 ) # 1 : 音を鳴らす
print ("ブザーオン")
else:
# 第1引数がoffの時、音を止める
wiringpi.digitalWrite( buzzer_pin, 0 ) # 0 : 音を鳴らす
print ("ブザーオフ")

if order == "on" and second > 0:
# 秒数表示
print (str(second)+"秒")

# 秒数が1以上の場合、音を指定秒数だけ鳴らす
time.sleep( second )
wiringpi.digitalWrite( buzzer_pin, 0 ) # 音を止める
print ("ブザーオフ")



3. プログラムを動かす

動かしている様子を動画に収めました。

動画解説クリック→


5秒ブザーを鳴らす

$ sudo python3 buzzer.py ON 5



ブザーを鳴らす(止めない)

$ sudo python3 buzzer.py ON 0



ブザーを止める

$ sudo python3 buzzer.py OFF 0



サイトマップ


Raspberry Pi 3 (ラズパイ)セットアップ

Raspberry Pi 3インストール→無線LAN→日本語入出力→Macから操作


Raspberry Pi 3 にDockerを乗せてPython+MySQL環境を構築!

RaspberryPi3(ラズパイ)にDockerをインストール

RaspberryPi3(ラズパイ)にDockerでPython+bottle+MySQL環境構築する!【簡単構築編】

RaspberryPi3(ラズパイ)にDockerでPython+bottle+MySQL環境構築する!【試行錯誤編】


Raspberry Pi 3でエアコン一体型パソコン「airpi」を作る!

Raspberry Pi 3でエアコン一体型パソコン「airpi」を作る!


Raspberry Pi 3 (ラズパイ)とpythonで遊ぼう

Raspberry Pi 3でプログラミングをする Node-REDと普通にプログラミング

Raspberry Pi 3でpythonを使いLEDを光らせる(Hello World)

Raspberry Pi 3でスイッチの状態を検出する

Raspberry Pi 3でpythonを使いサーボモータを動かす

Raspberry Pi 3でpythonを使いモータードライバーを使いモータを制御する!

Raspberry Pi 3でpythonを使いスライドスイッチを検出する!

Raspberry Pi 3でpythonを使い磁石スイッチを検出する!

Raspberry Pi 3でpythonを使い温度を検出する!

Raspberry Pi 3でpythonを使いブザーを鳴らす!

Raspberry Pi 3でpythonを使いA/Dコンバーターでアナログ信号を検出する!

Raspberry Pi 3でpythonを使い「明るさ」を検出する!

Raspberry Pi 3でpythonを使い「温度(A/Dコンバーターを利用)」を検出する!

Raspberry Pi 3でpythonを使い「7セグメントLED」に出力する!


テスト駆動開発を重点においた規則

コーディング規則「優しいコードを書こう」(FuelPHP)

命名規則「3ヶ月後の自分自身に優しく、チームに優しく、まだ見ぬメンバーに優しく」


Docker+PythonでWebアプリケーション開発

Docker上のCentOSにPython3と、関連ライブラリpip, virtualenvとフレームワークDjango, bottle, Flaskのインストール!これらをまとめたDockerfile付き!


開発しやすい環境構築(Docker+PHP)

Dockerを利用しApacheにPHP環境 + Eclipseを連携

Dockerを利用したFuelPHP開発環境構築

Docker利用したFuelPHP開発環境の初期設定とscaffoldを利用してCRUDスケルトン作成

FuelPHPのデータベースマイグレーション