
Pi Zero にはオーディオ出力の機能がありません。
そのため、オーディオを楽しむためには、pHAT DAC のようなアドオンボードが必要になるわけですが、Adafruit の Lady Ada がオーディオボードを使用しない、PWM を利用した、ベーシックな方法を説明しています。
が、はっきり言って、かなり面倒、音質もあまりよくないですが、ハック好きな人には、考えたり、作業すること自体が、たまらないでしょうが。
Pi Zero PCB には、他の Pi にある PWM0(pin #40) と PWM1(pin #45) がありません。
そこで、GPIO 代替えファンクションを使います。
PWM0 -- GPIO #18(ALT5)
PWM1 -- GPIO #13(ALT0)
Pi GPIO ピンの代替えファンクションの資料は下記です。
RPi BCM2835 GPIO functions
GPIO ユーティリティ Wiring Pi のインストール
最新版でないと、Pi Zero に対応せず、ボードタイプのエラーとなるそうです。
ネットワーク環境で、sudo apt-get update してください。
ネットワーク環境でない場合の対処法は後述の Adafruit 本トピックリンク先にあります。
ボードタイプの確認
gpio -v

全ピンの情報
gpio readall

BCM ピン #13、18(Mode IN)を GPIO ALT対象にします。
GPIO ALT の変更
Piフォーラム TimG 氏のコードを参考にしています。
このコードを、gpio_alt.c にペースト、コンパイルしてインストールします。
gcc -o gpio_alt gpio_alt.c
sudo chown root:root gpio_alt
sudo chmod u+s gpio_alt
sudo mv gpio_alt /usr/local/bin/
#13、#18 に ALT ファンクションを設定します。
gpio_alt -p 13 -f 0
gpio_alt -p 18 -f 5
WiringPi で、新ALT の確認

ワイヤリング
GPIO #13 が PWM1、#18 が PWM0 です。

写真のダイオードはなくても構わないとのこと。
3.5mmオーディオジャック タームなるブロックを使用しています。
raspi-config で、音声出力を HDMI から Headphone に変更
テストは、aplayオーディオプレイヤーで、
aplay /usr/share/sounds/alsa/Front_Center.wav
その他、詳細は下記を参照ください。
Adding basic audio ouput to Raspberry Pi Zero
スポンサーサイト