ども、こうみばいせんです。
MATLABが2年ぐらい前から安いらしいです。
なんと、2万円程度!!
MATLABは行列が得意で、「算数」ではなく「数学」な電卓って感じの言語で、拡張パック?のSimulinkを追加するとビジュアルプログラミング環境に早変わり!!
解析もシミュレーションも機器制御も簡単(というわれてる)にできる。
しかも、しかも!!
ラズパイ用のブロックも用意されているという。
ほしい。すごくほしい!
でもこれをラズパイに使うと、今まで作ったものがほとんどやり直しになる(といっても数分でおわるくらい簡単とのこと)。そこがなんか悔しいし、年2回のバージョンアップで便利ブロックがどんどん追加されているとはいえ、まだまだな感じ。そもそも私が作ろうとしているのは、ほぼPSoCでやるつもりで、Simulinkつかってもせいぜいカメラと音声、I2CやSPI通信ぐらい。でもでも、複雑なことやろうとすると必要になってくるだろうから、今から覚えときたいし。他の言語と親和性はいいらしいし。使いこなせるかはともかく。悩む。。。
さて、とりあえず本題。
1、はじめに
ラズパイゼロには、小型であるが故、普通のラズパイと違ってステレオジャックがありません。
そこで、GPIOピンをPWM出力にしてオーディオ出力するとのこと。参考にしたのは下記です。
https://learn.adafruit.com/adding-basic-audio-ouput-to-raspberry-pi-zero/pi-zero-pwm-audio
ページの最初のほうに、
You can get to PWM0 on GPIO #18 (ALT5) and PWM1 on GPIO #13 (ALT0) or GPIO #19 (ALT5)
とあり、右出力をGPIO #18、左出力をGPIO #13か#19にして、オーディオ出力できるとのこと。
で、wiringPiのインストール方法が書いているけど、最初からインストール済みと思う(OSのバージョン次第かも)ので割愛。
上記HPにはいろいろ書かれていますが、要は、下記の通りに変更すればいいということ。
GPIO #18 → ALT5、GPIO #13 → ALT0
2、GPIOの設定変更
まずは現在の値を確認。ターミナルで、
gpio readall
を入力。
これが現在のGPIOの状態。でGPIOの#(BCM)18と#(BCM)13が、MODEが「IN」になっているのが確認できました。こいつらをそれぞれ、GPIO#18 は「ALT5」、GPIO#13に「ALT0」変更します。
上記HPでは、ALT(Alternative Function )をどれに設定するかって方法をとっているけど、要はPWMにすればいいので、単純に、
sudo gpio -g mode 13 pwm
sudo gpio -g mode 18 pwm
でいいです。これでもう一回、
gpio readall
この通り変更されています。
3、スピーカーの取り付け
ラズパイ側は準備できたので、スピーカをとりつけてみたいと思います。
使用した部材は、
- 秋月電子 PAM8012使用2ワットD級アンプモジュール
- 秋月電子 ダイナミックスピーカ 50mmΦ 8Ω 0.4W
あとは、ブレットボードだったりジャンパーケーブル、ICクリップ等は適当に。
ちなみに、上記アンプは5V起動で、スピーカが8Ωなら1W、4Ωなら2Wまでいけるので、それらより低めのW数を選べば上記スピーカでなくてもOKです。
アンプの取説に従い、下記の通り接続。
ラズパイ 『 5V 』 --- アンプ 『 +V 』
ラズパイ 『 GND 』 --- アンプ 『 GND 』と『 IN- 』
ラズパイ 『GPIO #18』 --- アンプ 『 IN+ 』
アンプ 『 OUT+ 』 --- スピーカ 『 + 』
アンプ 『 OUT- 』 --- スピーカ 『 - 』
ジャンパピンとかクリップで配線するとノイズがひどいので、コンデンサを『GND』と『IN+』の間に差したほうがいいかも。まぁ今回は確認なので割愛。
4、出力してみよう
さて、実際に音を出してみましょう。1のHPではノイズでしたがつまらないので、ラズパイにデフォルトで入っているScratchのデータを使って、
aplay /usr/share/scratch/Media/Sounds/Animal/Dog1.wav
どうです?犬の鳴き声、聞こえました?
5、最後に
日本語をしゃべらせたい!というなら、Open-JTalkってのがあります。
こいつもラズパイにインストールできるので、ぜひお試しください。(私もインストール済みですが、長文になったので割愛)
ちなみに、下記でデモが聞けます。
http://open-jtalk.sp.nitech.ac.jp/
以上、MATLABどうしようかなぁ、こうみばいせんでした。