注釈
こんにちは。 Facebook の SunFounder Raspberry Pi & Arduino & ESP32 愛好者 コミュニティ へ ようこそ! 仲間 の 愛好者 と 一緒 に Raspberry Pi、 Arduino、 ESP32 を さらに 深く 探求 しましょう。
なぜ 参加 する の です か?
専門的 な サポート : コミュニティ と チーム の 支援 に より、 購入 後 の 問題 や 技術的 な 課題 を 解決 できます。
学習 と 共有 : ヒント や チュートリアル を 共有 し、 スキル を 向上 させましょう。
限定 プレビュー : 新製品 の 発表 や 先行 情報 に いち早く アクセス できます。
特別 割引 : 最新 製品 を 対象 に した 限定 割引 を 利用 できます。
イベント プロモーション と プレゼント : プレゼント 企画 や 祝日 キャンペーン に 参加 できます。
👉 私たち と 一緒 に 探索 と 創作 を 始める 準備 は できました か? [here] を クリック して、 今すぐ 参加 しましょう!
パッシブ ブザー
はじめに
この プロジェクト では、 異なる 周波数 で 駆動 する こと に より パッシブ ブザー に 音楽 を 再生 させる 方法 を 学びます。 パッシブ ブザー は、 アクティブ ブザー と 異なり、 音 を 出す ため に 外部 信号 を 必要 と します。
回路 図
この 回路 は、 パッシブ ブザー、 NPN トランジスタ、 そして 1kΩ 抵抗 を 使用 します。 抵抗 は 過大 な 電流 から トランジスタ を 保護 します。 トランジスタ に 接続 された GPIO ピン の 周波数 を 変化 させる こと で、 ブザー は 異なる 音 を 発生 し、 音楽 を 再生 できる よう に なります。
配線 図
以下 の 手順 に 従って 回路 を 組み立てて ください:
NPN トランジスタ の ベース を、 抵抗 を 介して PWM0 に 接続 します。
トランジスタ の エミッタ を 電源( + )に 接続 します。
トランジスタ の コレクタ を、 パッシブ ブザー の 一方 の 端子 に 接続 します。
ブザー の もう 一方 の 端子 を グランド( - )に 接続 します。
コード
以下 の Python コード は、 パッシブ ブザー を 使用 して 音階 を 生成 します:
#!/usr/bin/env python3
from fusion_hat.modules import Buzzer
from fusion_hat.pwm import PWM
from time import sleep
# Initialize a TonalBuzzer connected to PWM 0
tb = Buzzer(PWM('P0')) # Update this pin number based on your setup
def play(tune):
"""
Play a musical tune using the buzzer.
:param tune: List of tuples (note, duration), where each tuple represents a note and its duration.
"""
for note, duration in tune:
print(note) # Output the current note being played
tb.play(note,float(duration)) # Play the note on the buzzer
tb.off() # Stop playing after the tune is complete
# Define a musical tune as a sequence of notes and durations
tune = [('C#4', 0.2), ('D4', 0.2), (None, 0.2),
('Eb4', 0.2), ('E4', 0.2), (None, 0.6),
('F#4', 0.2), ('G4', 0.2), (None, 0.6),
('Eb4', 0.2), ('E4', 0.2), (None, 0.2),
('F#4', 0.2), ('G4', 0.2), (None, 0.2),
('C4', 0.2), ('B4', 0.2), (None, 0.2),
('F#4', 0.2), ('G4', 0.2), (None, 0.2),
('B4', 0.2), ('Bb4', 0.5), (None, 0.6),
('A4', 0.2), ('G4', 0.2), ('E4', 0.2),
('D4', 0.2), ('E4', 0.2)]
try:
play(tune) # Execute the play function to start playing the tune
except KeyboardInterrupt:
# Handle KeyboardInterrupt for graceful termination
pass
この Python スクリプト は、 PWM 0 に 接続 された パッシブ ブザー を 使用 して メロディー を 再生 します。 実行 すると:
スクリプト は、 あらかじめ 定義 された 音符 の シーケンス(
tune)を 順番 に 処理 し、 各 音符 を 指定 された 時間 だけ 再生 します。再生 されて いる 音符 は コンソール に 出力 され、 視覚 的 な 確認 が できます。
すべて の 音符 が 再生 される と、 メロディー は 自動 的 に 停止 します。 休符( 音符 が
Noneの 場合 )の 間、 ブザー は 音 を 出しません。この プログラム は、
Ctrl+Cを 使用 して 安全 に 中断 できます。