Raspberry pi zero 2Wを入手したので備忘録として書きます。
GPIOの端子配列を確認する。
以下のコマンドで端子配列を確認できます。
pinout
下記のように表示されます。
次にGPIOの設定状態を確認してみます。
sudo gpio readall
このコマンドは対応していないようです。
違うコマンドで確認します。
raspi-gpio get
表示したいGPIOを指定することもできます。
raspi-gpio get 18
raspi-gpio get 13
どちらも入力ポートに設定されているようです。
Raspberry Pi Zeroはオーディオジャックが付いていませんが、音声出力をGPIOに設定することができます。
ハードウェアPWMの設定
-
Raspberry Pi ZeroにはPWM0(ピン番号:40)とPWM1(ピン番号:45)がありませんが、代替として利用できるGPIOピンがあります。
-
PWM0: GPIO #18 (ALT5)
-
PWM1: GPIO #13 (ALT0)
次に/boot/config.txtに下記を追加してリブートする。
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
PWMの設定に変更できました。
音声出力をオーディオジャックへ切り替える設定を下記のように行います。(切り替わったかどうかよくわからない)
sudo raspi-config
明日、GPIO端子からPWM信号が出力されるか確認してみます。
→3/4追記:PWM信号は出力しませんでした。
→4/5追記:ノイズのような波形を出力しました。
先日 /boot/config.txtへ追加した
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
をコメントアウトして
dtoverlay=audremap,pins_12_13
を追加した。
スピーカのアイコンを右クリックしてみると「 AV Jack」 と表示するようになった。
また、GPIO12とGPIO13がPWM設定に変わった。
次に
dtoverlay=audremap,pins_18_19
へ変更してリブートしてみると、GPIO18とGPIO19がPWM設定になった。
GPIO18からはノイズのような波形が出力している。
コマンドラインから
aplay /usr/share/sounds/alsa/Front_Center.wav
と入力し、wavファイル(Front_Center.wav)を再生させると若干波形が変化した。
これで音声出力ができるようになったと思う。
時間があったら、スピーカへ接続してみます。
(ノイズがひどいので、ローパスフィルタとアンプが必要そうです。)
------------------------------------------------------------------------------------
3/16追記
Wiring Pi ライブラリのインストール
以前gpioコマンドでGPIOの状態を確認しようとしたけど、実行できなかったので、Wiring Piライブラリをインストールすることにしました。
以下のコマンドでインストールします。
sudo apt-get update
sudo apt-get install wiringpi
しかしインストールできませんでした。
gpioコマンドを実行できるようにパスの設定を下記のようにして、リブートしても実行できませんでした。
sudo ln -s /usr/local/bin/gpio /usr/bin/gpio
そこで、ソースコードをダウンロードしてビルドして実行できるようになりました。
以下がその手順になります。
1.Wiring Piライブラリのダウンロード
git clone https://github.com/WiringPi/WiringPi.git
2.ダウンロードしたディレクトリに移動
cd WiringPi
3.ソースコードのビルド
./build
4.バージョンの確認
gpio -v
バージョン表示しました。
GPIOの状態も下記のように表示できるようになりました。
ただし、端子機能の設定状態はmode欄で、GPIO18とGPIO19がALT5になっているのがわかるのですが、PWM出力かどうかはよくわかりません。
下記の表でどの端子機能が選択されるか確認することができます。
ALT5の欄のGPIO18はPWM0、GPIO19はPWM1になっています。