Raspberry Pi Zero 2 WのGPIOを確認する

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になっています。