ども、こうみばいせんです。
 
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どうしようかなぁ、こうみばいせんでした。