注釈
こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ! Raspberry Pi、Arduino、ESP32について、他の愛好者と一緒に深掘りしていきましょう。
参加する理由は?
専門家のサポート: 購入後の問題や技術的な課題を、コミュニティとチームのサポートで解決できます。
学びと共有: 技術の向上に役立つヒントやチュートリアルを交換しましょう。
限定プレビュー: 新製品の発表前に先行情報を手に入れましょう。
特別割引: 最新製品の特別割引をお楽しみいただけます。
季節限定プロモーションとプレゼント: プレゼントやホリデープロモーションに参加しよう。
👉 一緒に探求し、作成する準備はできましたか? [ここ] をクリックして、今すぐ参加しましょう!
3.1 ブザーを鳴らしてみよう!
このレッスンでは、Raspberry Pi Pico 2 Wを使って ブザー を鳴らす方法を学びます。ブザーはLEDのようなデジタル出力デバイスで、非常に簡単に制御できます。このプロジェクトでは、 アクティブブザー を使用します。このブザーは、信号を受け取ると音を発生させます。
アクティブブザーとは?
アクティブブザー は内部にオシレーターを備えており、使いやすくなっています。信号をブザーに送るだけで音を鳴らせるため、複雑な周波数制御は不要です。これに対して、 パッシブブザー は音を出すために外部信号が必要です。
必要な部品
このプロジェクトでは、次の部品が必要です。
全ての部品をまとめて購入するのが便利です。こちらから購入できます:
名前 |
このキットに含まれる部品 |
購入リンク |
|---|---|---|
Pico 2 Wスターターキット |
450+ |
以下のリンクから個別に購入することもできます。
SN |
部品の紹介 |
数量 |
購入リンク |
|---|---|---|---|
1 |
1 |
||
2 |
Micro USBケーブル |
1 |
|
3 |
1 |
||
4 |
複数 |
||
5 |
1(S8050) |
||
6 |
1(1KΩ) |
||
7 |
アクティブ ブザー |
1 |
回路図

この回路では、トランジスタ( S8050 NPN)を介してブザーに電源が供給されます。トランジスタは電流を増幅し、Picoに直接接続した場合よりもブザーの音が大きくなります。
動作の流れは次の通りです: * GP15 が高い信号を出力してトランジスタを制御します。 * トランジスタが作動すると、電流がブザーを通過し、音を発生させます。
1kΩの抵抗 は、トランジスタを保護するために電流を制限する役割を果たします。
配線
必ず アクティブブザー を使用してください。正しいブザーかどうかは、裏面が密封されているか(パッシブブザーは基板が露出しています)で確認できます。
コードの記述
注釈
ファイル
3.1_beep.inoをpico-2w-kit-main/arduino/3.1_beepのパスにある場所で開くことができます。または、このコードを Arduino IDE にコピーして使用してください。
アップロード ボタンをクリックする前に、ボード(Raspberry Pi Pico)と正しいポートを選択するのを忘れないでください。
const int buzzerPin = 15; // トランジスタのベースに接続されたGPIOピン
void setup() {
pinMode(buzzerPin, OUTPUT);
}
void loop() {
digitalWrite(buzzerPin, HIGH); // ブザーをオンにする
delay(1000); // 1秒間待つ
digitalWrite(buzzerPin, LOW); // ブザーをオフにする
delay(1000); // 1秒間待つ
}
コードをアップロードした後: ブザーは1秒間鳴り、その後1秒間静かになり、このパターンが繰り返されます。 もしブザーの音が聞こえない場合は、配線を確認して接続が正しいか確認してください。 アクティブブザーを使用していることを確認してください。
コードの理解
ブザーピンの定義:
buzzer PinにGPIO 15を割り当て、これがトランジスタを制御してブザーを動作させます。
const int buzzerPin = 15; // トランジスタのベースに接続されたGPIOピン
ピンモードの設定:
buzzerPinを出力ピンとして設定します。
void setup() { pinMode(buzzerPin, OUTPUT); }
ブザーの制御:
loop()関数はこの処理を無限に繰り返し、1秒ごとにブザーを鳴らします。digitalWrite(buzzerPin, HIGH):buzzerPinをHIGHに設定し、トランジスタをオンにして、電流がブザーを通過し、音を鳴らします。delay(1000): プログラムを1000ミリ秒(1秒)停止します。digitalWrite(buzzerPin, LOW):buzzerPinをLOWに設定し、トランジスタをオフにして、電流の流れを停止し、ブザーの音を止めます。
void loop() { digitalWrite(buzzerPin, HIGH); // ブザーをオンにする delay(1000); // 1秒間待つ digitalWrite(buzzerPin, LOW); // ブザーをオフにする delay(1000); // 1秒間待つ }
さらなる探求
ビープ音の長さを変える:
delay()の値を変更して、ブザーがオンおよびオフになる時間を調整できます。より短いまたは長い期間を試してみてください。
パターンの作成:
loop()関数でタイミングを調整して、より複雑なパターンを作成できます。例えば、モールス信号でSOS信号を作成してみましょう。
パッシブブザーの使用:
パッシブブザーを使用し、
tone()関数を使って異なる周波数を生成してみてください。パッシブブザーの場合、配線やコードは異なるので注意してください。
結論
このレッスンでは、Raspberry Pi Picoとトランジスタを使ってアクティブブザーを鳴らす方法を学びました。GPIOピンでトランジスタを制御することにより、PicoのGPIOピンを過負荷にすることなく、ブザーを安全にオン・オフできます。この基本的な概念を拡張して、より複雑な音を作成したり、アラームや通知、インタラクティブなプロジェクトにブザーを使用したりすることができます。

