正規のオンライン小売業者:
紹介
このレッスンでは、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
You must be logged in to post a comment.
Why is there not more zerogpio? Fot python?
you can install zerogpio if you like. But we have never tested this library before. We feel RPI.gpio library is more friendly to beginner who has no library installation experience.
If you like to install zerogpio, check the link here:
https://gpiozero.readthedocs.io/en/latest/