正規のオンライン小売業者:
![]() |
![]() |
![]() |
紹介
このレッスンでは、Raspberry Piを使用してアクティブブザーを鳴らす方法を学びます。
1 * Raspberry Pi
1 * ブレッドボード
1 * ブザー ジャンパーワイヤー
1 * T-Extension Board
1 * 40ピンケーブル
ソフトウェアの準備
getting started for raspberry piを参照してください。
実験原理
アクティブブザーとパッシブブザーがありますが、アクティブブザーとパッシブブザーの違いは何でしょうか?アクティブブザーには発振器があり、DC電源に接続すると音が出ます。パッシブブザーは単なるトランスデューサーであり、音を出すにはパルス状の電圧で駆動する必要があります。このプロジェクトではアクティブブザーを使用します。ブザーの長いリードは正極(アノード)であり、短いリードは負極(カソード)です。
回路を以下の接続グラフに従って組み立て、負極をRaspberry PiのGPIO1(BCM_GPIO 18)に、正極を3.3Vに接続します。
C言語ユーザーとPython言語ユーザー向けに2種類のコードを提供します。
まず、wiringPiライブラリがインストールされていることを確認してください。インストール方法がわからない場合は、Lesson 3: Prepare GPIO tool-WiringPi utilityを参照してください。
Step 1) 次のコマンドを入力して、breathing_led.cのサンプルコードをダウンロードしてください:
cd ~
sudo wget http://osoyoo.com/driver/pi3_start_learning_kit_lesson_8/buzzer.c
Step 2) コードのコンパイル
C言語は高水準言語です。プロジェクトを実行する前に、コードを実行可能ファイルとしてコンパイルする必要があります。次のコマンドを入力してください。
gcc: はGNUコンパイラコレクションです。自分でCコードを書いてコンパイルして実行するには、gccをマスターする必要があります。gccについての詳細はこちらをご覧ください here
-Wall: コードをコンパイルするときにエラーが発生した場合、詳細なエラーを取得するためのものです。
-o: コンパイル後のファイル名を任意で指定できます。ここでは、flow_ledという名前を指定します。
flow_led.c: コンパイル元のファイルを意味します。
-lwiringPi: ライブラリwiringPiをロードするためのもので、lはlibrary(ライブラリ)の略です。
Step 3) プログラムを実行する
sudo ./buzzer
4) 実行結果
プログラムを実行すると、ブザーから異なる音色が聞こえます。
C言語コードの解析
//Beginning of pi3_start_learning_kit_lesson_8/buzzer.c
#include < wiringPi.h> #include < stdio.h> #include < stdlib.h> // defined Buzzer pin1 connect to GPIO1(BCM GPIO 18) #define BuzzerPin 1 for(;;){ for(i=0;i<70;i++){ //beep on digitalWrite(BuzzerPin, LOW); delay(3);// delay 3 ms to make tone in low frequency //beep off digitalWrite(BuzzerPin,HIGH); delay(3); // delay 3 ms to make the tone in low frequency } delay(100); for(i=0;i<100;i++){ //beep off digitalWrite(BuzzerPin, HIGH); delay(1); //delay 1 ms to make the tone in high frequency //beep on digitalWrite(BuzzerPin,LOW); delay(1);//delay 1 ms to make the tone in high frequency } }
// end of pi3_start_learning_kit_lesson_8/buzzer.c
Raspberry PiがHDMIケーブルを介してモニターに接続されている場合、Python 3(IDLE)GUI環境で直接プログラムを実行できます。詳細については、次のページを参照してください。
Piがモニターに接続されていない場合、sshクライアントを使用してコマンドラインでPiにリモートアクセスできます。詳細については、次のページを参照してください。
Step 1) ターミナルで以下のコマンドを入力して、buzzer.pyファイルをダウンロードしてください。
cd ~
sudo wget http://osoyoo.com/driver/pi3_start_learning_kit_lesson_8/buzzer.py
Step 2) プログラムの実行
sudo python ./buzzer.py
Ste[ 3) テスト結果:
プログラムを実行すると、ブザーから音が聞こえます。
Python言語コードの解析
import RPi.GPIO as GPIO import time # Set #18 as buzzer pin BuzzerPin = 18
PythonのGPIOライブラリとtimeライブラリをインポートします。GPIOライブラリはPythonでGPIOを操作するためのライブラリで、プロセスを簡素化する役割を果たします。timeライブラリは、遅延を入れるために使います。ブザーのピンをGPIO1(BCM GPIO 18)に接続します。
def setup(): # Set the GPIO modes to BCM Numbering GPIO.setmode(GPIO.BCM) # Set BuzzerPin's mode to output, # and initial level to High(3.3v) GPIO.setup(BuzzerPin, GPIO.OUT, initial=GPIO.HIGH)
BuzzerPinを出力モードに設定し、初期レベルを高レベル(3.3V)に設定します。
def main(): print_message() while True: GPIO.output(BuzzerPin, GPIO.LOW) time.sleep(0.3) GPIO.output(BuzzerPin, GPIO.HIGH) time.sleep(0.3)
レベルを0.3秒ごとに低レベル(0V)と高レベル(3.3V)の間で交互に切り替えて、ブザーを断続的に鳴らすようにします。
DownLoad Url osoyoo.com