注釈

こんにちは!FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ!Raspberry Pi、Arduino、ESP32を仲間たちと深く掘り下げて学びましょう。

参加する理由は?

  • 専門的なサポート:販売後の問題や技術的な課題をコミュニティとチームのサポートで解決できます。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換できます。

  • 限定プレビュー:新製品の発表や先行情報に早期アクセスできます。

  • 特別割引:最新製品に関する独占的な割引をお楽しみいただけます。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加できます。

👉 私たちと一緒に探索して創造する準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

3.1 ビープ音

このレッスンでは、Raspberry Pi Pico 2 Wを使って ブザー を鳴らす方法を学びます。ブザーはLEDと同じくデジタル出力デバイスで、非常に簡単に制御できます。このプロジェクトでは、 アクティブブザー を使用します。これは信号を受け取ると音を鳴らす仕組みです。

アクティブブザーとは?

アクティブブザーは内部に発振器を持っており、非常に使いやすいです。信号をブザーに送るだけで鳴らすことができ、複雑な周波数制御は必要ありません。これは パッシブブザー とは異なり、パッシブブザーは外部信号を必要とします。

img_buzzer

必要な部品

このプロジェクトで必要な部品は以下の通りです。

一式を購入するのが非常に便利です。こちらからリンクを確認してください:

名前

このキットに含まれる部品

リンク

Pico 2 W スターターキット

450+

Pico 2 W Kit

下記のリンクから個別に購入することもできます。

SN

部品

数量

リンク

1

Pico 2 Wの概要

1

2

Micro USBケーブル

1

3

ブレッドボード

1

買う

4

ジャンパーワイヤー

数本

買う

5

トランジスタ

1(S8050)

買う

6

抵抗器

1(1KΩ)

買う

7

アクティブ ブザー

1

回路図

sch_buzzer

この回路では、トランジスタ( S8050 NPN)を通じてブザーに電力を供給します。トランジスタは電流を増幅し、ブザーをPicoに直接接続した場合よりも大きな音を出すことができます。

動作の流れは次の通りです:

  • GP15 が高信号を出力してトランジスタを制御します。

  • トランジスタが作動すると、電流がブザーを通過し、音が鳴ります。

1kΩの抵抗 は、トランジスタを保護するために電流を制限するために使用されます。

配線

アクティブブザー を使用していることを確認してください。正しいものかどうかは、裏面が封印されている(パッシブブザーは基板が露出している)ことで判別できます。

img_buzzer

ブザーを動作させるためにはトランジスタを使用する必要があります。ここではS8050(NPNトランジスタ)を使用しています。

wiring_beep

コードの作成

簡単なMicroPythonプログラムを作成して、ブザーを制御してみましょう。

注釈

  • pico-2w-kit-main/micropython3.1_beep.py を開くか、コードをThonnyにコピーして、「Run」をクリックするか、F5を押してください。

  • 正しいインタープリタが選択されていることを確認してください:MicroPython(Raspberry Pi Pico)。COMxx。

import machine
import utime

# ブザーピン(GP15)の初期化
buzzer = machine.Pin(15, machine.Pin.OUT)

while True:
    # 4回ブザーを鳴らすループ
    for i in range(4):
        buzzer.value(1)  # ブザーをオンにする
        utime.sleep(0.3)  # 0.3秒待機
        buzzer.value(0)  # ブザーをオフにする
        utime.sleep(0.3)  # 0.3秒待機
    utime.sleep(1)  # 次のサイクルの前に長い休止を取る

コードを実行すると、以下のようになります:

  • ブザーは4回連続して鳴り、各ビープ音の間に0.3秒の間隔があります。

  • 4回のビープ音の後、サイクルが繰り返される前に1秒の長い休止があります。

コードの説明

  1. ブザーの初期化:

    • buzzer = machine.Pin(15, machine.Pin.OUT): GP15をブザー制御用の出力ピンとして初期化します。

  2. メインループ:

    • while True: ループはコードが無限に実行されることを保証します。

    • ループ内では、ブザーがオン( buzzer.value(1) )およびオフ( buzzer.value(0) )され、4回繰り返します。それぞれの間に0.3秒の遅延があります。

    • 4回のビープ音の後、1秒の休止があり、サイクルが繰り返されます。

さらに実験してみる

  • ビープ音の長さを変更する: utime.sleep(0.3) の値を調整して、ビープ音の長さを長くしたり短くしたりできます。

  • ビープ音の回数を変更する: ループ内の繰り返し回数を変更して、ビープ音をもっと多く、または少なくすることができます。

  • ボタン制御を追加する: GP14にボタンを接続して、ボタンが押されたときだけブザーを鳴らすようにコードを修正してみましょう。

結論

このレッスンでは、トランジスタとRaspberry Pi Pico 2 Wを使用してアクティブブザーを制御する方法を学びました。デジタル出力デバイスを使用してプロジェクトで音を作成する基本的な方法が理解できたと思います。この原理は、LEDやモーターなど、他の出力デバイスにも適用できます。