【 第17回 】で、100均のスピーカーを2つRaspberry PiのGPIOに繋いでScratchから音を出したのですが、出てくる音があまりにもショボく、なんとかならないかと考えていたところ、Amazonで99円のD級アンプを見つけたので、早速試してみることにしました。
今回使った部品
- Raspberry Pi 3 Model B × 1
- 40Pinフラットリボンケーブル
- 40Pin T型GPIO拡張ボード
- ブレットボード × 1
- D級ステレオパワーアンプ基板モジュール × 1
- ピンヘッダー オスストレート( × 9ピン分)
- 3.5mmイヤホンジャックアダプター × 2
- マルチメディアスピーカー(セリア) × 2
- 電解コンデンサー 16V 47μF × 2
- 電解コンデンサー 50V 0.22μF × 2
- 抵抗 1/4W 100Ω × 6
- ジャンプワイヤー(オス/オス) × 10
売り上げランキング: 2,503
売り上げランキング: 96,707
売り上げランキング: 127,643

売り上げランキング: 3,324
D級アンプはピンヘッダーをハンダ付けしてブレッドボードに挿します。
D級アンプを使う上で忘れてならないのは、Raspberry Piは、PWMのデューティー比を変化させることで、疑似的なアナログ信号を出力しているということです。
Raspberry PiからのPWM出力を元々、帯域幅の狭いスピーカーなどに接続する場合は音声以外の信号が出力されないので問題はおきにくいのですが、D級アンプのように帯域幅の広いデバイスに接続するとPWMに含まれる音声以外の低域や超高域の信号までも増幅することで、音声信号が乱れ、激しいノイズが出力されてしまいます。
そこで、PWM出力から不要な帯域の信号を除くバンドパスフィルターを通してからD級アンプに入力します。それとこのD級アンプ利得が高く、そのままでは100均スピーカーの音が割れてしまうので、出力側にも100Ωを噛ませました。
電解コンデンサには極性があるので、向きに気を付けて配線してください。
GPIO12,GPIO13の出力には、47μFの電解コンデンサーの+側を接続します。
GPIO12とGPIO13の出力モードをハードウェアPWMに設定する
下のコマンドで実行結果を確認します。
gpio readall
BCM列”12”番と”13”番の”Mode”列が、既定の”IN”から拡張機能の”ALT0”に変わっています。GPIO12とGPIO13の場合はハードウェアPWMの”0″チャンネルと”1″チャンネルが割り当てられます。
併せて、タスクバー右のスピーカーアイコンを右クリックし、オーディオ出力先として「Analog」を選択しておきます。
Scratch 1.4で音源を作成する
キーボードのスペースキーが押して、プロジェクトを実行します。