注釈

こんにちは!SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebookコミュニティで、Raspberry Pi、Arduino、ESP32について深く学び、愛好者と交流しましょう。

なぜ参加するべきか?

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

  • 学びと共有: ヒントやチュートリアルを交換し、スキルを向上させましょう。

  • 最新情報の先行公開: 新製品の発表やプレビューにいち早くアクセスできます。

  • 特別割引: 最新製品を特別価格で購入できます。

  • イベントやプレゼント企画: さまざまなキャンペーンやプレゼント企画に参加できます。

👉 さあ、一緒に学び、創造しましょう![こちら] をクリックして、今すぐ参加!

3.1 ブザーを鳴らそう!

このレッスンでは、Raspberry Pi Pico 2 を使用して ブザー を鳴らす方法を学びます。ブザーはLEDと同様に簡単に制御できるデジタル出力デバイスです。このプロジェクトでは、信号を送るだけで音を出せる アクティブブザー を使用します。

アクティブブザーとは?

アクティブブザーには内部発振器が搭載されており、単純に信号を送るだけで音を鳴らすことができます。 パッシブブザー のように外部信号で周波数を制御する必要はありません。

img_buzzer

必要なもの

このプロジェクトでは、以下のコンポーネントを使用します。

すべての部品が揃った便利なキットはこちら:

名称

キット内容

リンク

Newton Lab Kit

450点以上

Newton Lab Kit

個別に購入する場合は、以下のリンクを利用してください。

SN

コンポーネント

数量

リンク

1

Raspberry Pi Pico 2

1

購入

2

Micro USBケーブル

1

3

ブレッドボード

1

購入

4

ジャンパーワイヤー

数本

購入

5

トランジスタ

1 (S8050)

購入

6

抵抗器

1 (1KΩ)

購入

7

アクティブ ブザー

1

回路図

sch_buzzer

この回路では、ブザーは S8050 NPNトランジスタ を介して駆動されます。トランジスタを使用することで、Picoに直接接続した場合よりも大きな音を出すことができます。

動作の流れ:

  • GP15 がHIGH信号を出力すると、トランジスタがONになります。

  • トランジスタがONになると、ブザーに電流が流れ、音が鳴ります。

また、 1kΩの抵抗 を使用してトランジスタを保護します。

配線図

必ず アクティブブザー を使用してください。パッシブブザーと区別するには、裏面を確認し、密閉されたケースのものがアクティブブザーです(PCBが露出しているものはパッシブブザー)。

img_buzzer

wiring_beep

コードの記述

MicroPythonを使用して、ブザーを制御する簡単なプログラムを書きます。

注釈

  • 3.1_beep.pynewton-lab-kit/micropython から開くか、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)  # ブザーON
        utime.sleep(0.3)  # 0.3秒待機
        buzzer.value(0)  # ブザーOFF
        utime.sleep(0.3)  # 0.3秒待機
    utime.sleep(1)  # 次のサイクルまで1秒待機

このコードを実行すると、以下のような動作になります。

  • ブザーは0.3秒間隔で4回連続で鳴ります。

  • 4回鳴った後、1秒の長めの休止があり、その後サイクルが繰り返されます。

コードの解説

  1. ブザーの初期化:

    • buzzer = machine.Pin(15, machine.Pin.OUT): GP15を出力ピンとして設定し、ブザーを制御。

  2. メインループ:

    • while True ループにより、コードが無限に実行されるようになります。

    • ループ内では、ブザーが4回オン( buzzer.value(1) )とオフ( buzzer.value(0) )を繰り返し、それぞれ0.3秒の間隔で動作します。

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

さらなる実験

  • ビープ音の長さを変更: utime.sleep(0.3) の値を変更し、ビープ音の長さを調整。

  • ビープ回数を変更: ループの回数を変更し、異なる回数でブザーを鳴らす。

  • ボタン制御を追加: GP14にボタンを接続し、ボタンを押したときにのみブザーが鳴るようにコードを変更。

まとめ

このレッスンでは、トランジスタとRaspberry Pi Pico 2を使用してアクティブブザーを制御する方法を学びました。デジタル出力デバイスを使用して、プロジェクトで音を出す方法を理解しました。同じ原理を応用すれば、LEDやモーターなど、他のデバイスの制御にも活用できます。