Raspberry Pi Pico でブザー音を鳴らす

Raspberry Pi Pico でブザー音を鳴らす

Raspberry Pi Pico は低コストのマイクロコントローラー ボードで、初心者でも簡単にエレクトロニクス プロジェクトを開始し、コーディング方法を学ぶことができます。

このプロジェクトでは、ポテンショメータからアナログ信号を読み取り、それを PWM (パルス幅変調) 信号に変換して、MicroPython コードを使用してブザーの周波数またはトーンを操作する方法を学習します。

必要な部品は?

このプロジェクトは、Raspberry Pi Pico 用 Kitronik Inventor’s Kit に基づいています。必要な電子部品はすべてキットに含まれています。ただし、これらは一般的なコンポーネントであり、横になっている可能性があります。

  • ピエゾ素子ブザー
  • 回転式ポテンショメータ
  • 7x オス-オス ジャンパー線
  • はんだ付けされた GPIO ヘッダーピンを備えた Raspberry Pi Pico
  • ブレッドボード

パルス幅変調 (PWM) とポテンショメータを初めて使用する場合は、まず Raspberry Pi Pico でポテンショメータを使用する方法に関するガイドを確認してください。このガイドでは、PWM を使用して LED の明るさを調整するために使用する方法の概要が説明されています。

必要な組み立て

ブレッドボード上の電子機器と配線

1 本のジャンパー線 (写真の黄色) は、ポテンショメーターの左側をブレッドボードのプラス (+) レールに接続します。別のジャンパー ワイヤは、ポテンショメータの右側をブレッドボードのマイナス (-) 側に接続します。ポテンショメーターの中央のピンから、ジャンパー線を Pico の GP26/A0 ピンに接続する必要があります。

圧電ブザーには、負の脚から負のブレッドボード レールに接続する 1 本のワイヤと、正の脚から Raspberry Pi Pico の GP15 ピンに接続する別の接続が必要です。

また、Pico の GND ピンからブレッドボードの負のレールにジャンパー ワイヤを接続して接地する必要があります。別のジャンパー ワイヤは、Pico の 3V3 Out ピンをブレッドボードのプラス レールに接続し、コンポーネントに電力を供給します。

コードを作成する

MUO GitHub リポジトリからコードを取得できます。piezo-buzzer.py という名前のMicroPythonファイルをダウンロードし、Thonny IDE を実行している USB 接続のコンピューターを介して Pico にロードします。詳細については、Raspberry Pi Pico で MicroPython を使い始める方法を確認してください。

コードのさまざまな部分は、次のことを行います。

  • 上部で、必要なmachinemath、およびtime MicroPython モジュールをインポートします。
  • 次に、ブザー変数がピン GP15 に PWM 出力として割り当てられます。
  • ポテンショメータ変数は、PicoのGP26/A0 ピンのアナログ デジタル コンバータ (ADC) に割り当てられます。
  • 数学関数を使用してポテンショメーターの動きの範囲をブザーの出力に変換するscale()関数を定義します。
  • while: 真の無限ループは、ポテンショメーターの入力を読み取り、スケール関数を使用して変換します。前の周波数から大きく変化していないことを確認した後、計算された周波数を PWM (パルス幅変調) を使用してブザーに送信します。
Pico ブザー プロジェクトのコード リスト

要約すると、毎秒数百のパルスが送信され、ポテンショメータを時計回りまたは反時計回りに回すと、ブザー トーンが 120Hz と 5kHz の間でシフトします。ポテンショメータを回転させると、Pico のアナログ入力ピンによって読み取られる電圧が変更され、PWM を使用してブザー周波数を調整するために使用されます。

Thonny からコードを実行し (再生アイコンをクリックするか、キーボードのF5キーを押します)、試してみてください。最初の実行後、コードの変更は物理的な結果に影響しますか? たとえば、範囲(0 ~ 65535)を変更するとどうなるでしょうか。コードのこの部分は、周波数が定義されているwhile True:のすぐ下にあります。

トーンの設定

冒険心があれば、ブザーを使用して、GitHub の martinkooij のpi-pico-tonesライブラリを使用して楽音を生成してみてください。デフォルトでは、このライブラリは正弦波を生成します。4 つのトーン ジェネレーターは、選択した 4 つの異なる Pico ピンで実行できます。このプロジェクトは、MicroPython ではなく Raspberry Pi Pico SDK を使用した C++ に基づいていますが、完全な手順は GitHub の readme に記載されています。

ピコエレクトロニクスの話題

おめでとうございます: ポテンショメータからアナログ入力を読み取り、それを PWM 信号に変換してブザー音を制御する方法を学びました。ポテンショメータは、電子機器用の汎用入力デバイスです。圧電ブザーも便利なコンポーネントです。たとえば、PIR 赤外線モーション センサーを追加すると、侵入者の存在を検出してアラームを鳴らすことができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です