注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
3.2 カスタムトーン
前回のプロジェクトではアクティブブザーを使用しましたが、今回はパッシブブザーを使用します。
アクティブブザーと同様に、パッシブブザーも電磁誘導の現象を利用して動作します。違いは、パッシブブザーには振動源がないため、直流信号を使っても音を出さない点です。 しかし、これによりパッシブブザーは自分自身の振動周波数を調整し、"ド、レ、ミ、ファ、ソ、ラ、シ"などの異なる音を出すことができます。
パッシブブザーでメロディを鳴らしましょう!
必要な部品
このプロジェクトで必要な部品は以下の通りです。
全体のキットを購入すると非常に便利です。リンクはこちら:
名前 |
このキットに含まれるアイテム |
リンク |
|---|---|---|
ケプラーキット |
450+ |
以下のリンクから個別に購入することもできます。
SN |
部品 |
数量 |
リンク |
|---|---|---|---|
1 |
1 |
||
2 |
マイクロUSBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1(S8050) |
||
6 |
1(1KΩ) |
||
7 |
パッシブ ブザー |
1 |
回路図

GP15出力が高い場合、1Kの電流制限抵抗を経て(トランジスタを保護するため)、S8050(NPNトランジスタ)が導通し、ブザーが鳴ります。
S8050(NPNトランジスタ)の役割は、電流を増幅してブザーの音を大きくすることです。実際、GP15に直接ブザーを接続することもできますが、ブザーの音が小さくなることに気づくでしょう。
配線
キットには2つのブザーが含まれていますが、ここではパッシブブザー(背面に露出したPCBがあるもの)を使用します。
ブザーはトランジスタが必要なため、ここではS8050を使用します。
コード
注釈
kepler-kit-main/micropythonのパス下にある3.2_custom_tone.pyファイルを開くか、このコードをThonnyにコピーして、"Run Current Script"をクリックするか、単にF5キーを押して実行します。右下隅の"MicroPython(Raspberry Pi Pico)"インタープリターをクリックするのを忘れないでください。
詳細なチュートリアルは、 コードを直接開いて実行する を参照してください。
import machine
import utime
buzzer = machine.PWM(machine.Pin(15))
def tone(pin, frequency, duration):
pin.freq(frequency)
pin.duty_u16(30000)
utime.sleep_ms(duration)
pin.duty_u16(0)
tone(buzzer, 440, 250)
utime.sleep_ms(500)
tone(buzzer, 494, 250)
utime.sleep_ms(500)
tone(buzzer, 523, 250)
動作原理
パッシブブザーにデジタル信号が与えられると、振動板を押し続けるだけで音は発生しません。
したがって、 tone() 関数を使用して、PWM信号を生成し、パッシブブザーに音を出させます。
この関数には3つのパラメーターがあります:
pin 、ブザーを制御するGPIOピン。
frequency 、ブザーの音程は周波数で決まり、周波数が高いほど音程も高くなります。
duration 、音の持続時間。
duty_u16() 関数を使用して、デューティーサイクルを30000(約50%)に設定します。他の数値でも構いませんが、振動させるためには不連続な電気信号を生成する必要があります。
詳細
ピアノの基本周波数に従って特定の音をシミュレートし、完全な楽曲を演奏することができます。
注釈
kepler-kit-main/micropythonのパス下にある3.2_custom_tone_2.pyファイルを開くか、このコードをThonnyにコピーして、"Run Current Script"をクリックするか、単にF5キーを押して実行します。右下隅の"MicroPython(Raspberry Pi Pico)"インタープリターをクリックするのを忘れないでください。
詳細なチュートリアルは、 コードを直接開いて実行する を参照してください。
import machine
import utime
NOTE_C4 = 262
NOTE_G3 = 196
NOTE_A3 = 220
NOTE_B3 = 247
melody = [NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, NOTE_B3, NOTE_C4]
buzzer = machine.PWM(machine.Pin(15))
def tone(pin, frequency, duration):
pin.freq(frequency)
pin.duty_u16(30000)
utime.sleep_ms(duration)
pin.duty_u16(0)
for note in melody:
tone(buzzer, note, 250)
utime.sleep_ms(150)

