R3.8.30 マイクロビット化粧直し

 M5Stackによるスタックチャンとお喋りの掛け合いをさせようとマイクロビットを改良してみました。これまではボタン電池を使用していましたが、単4電池3本としました。マイクロビット風の基板がもうなくなっていたので、以前購入していた既成品のボタン電池用電源セットを基板だけにして単4ボックスを取り付け。スイッチもあって便利です。

 ただ、スイッチオンですぐに喋ってくれるかというと、ブーと発振して喋ってくれないことが多いのでした。端子を手で触るのがまずいのかと思い、プラ板で覆ってみました。多少は良い(?)ものの、気まぐれです。原因は不明。回路中どこかのコンデンサが原因か、発振のタイミングの問題か.....

 それでもまあ、「じゅうぬぬ」とは喋らないでくれるので、BME280を付けて気温・湿度・気圧も喋ってもらおうと考えました。I2Cを使うため、マイクロビットのあの細い端子に直半田付けしなくてはなりません。(^^)/

 まだやっていないので配線は手書きです。

上のようなマイクロビットがあると便利なんだけどな。


sample2 ATP3011を使ったランダムお喋り
表記のハードを使っていますので、素のmicrobitでは動作しません。私自身の実験のためであり、使用して不都合があっても関知しませんのでご注意を! 汚いプログラムですが、閲覧はご自由に。


R1.7.25 定型句お喋りビット

 万が一、声を失うことがあっても大丈夫なようにしたい。マイクロビットを使ってできるな...と思い取り組んでみた。
 もっとも、スマホでできてしまうのが寂しいが、マイクロビットでもできることを確かめておこうということ。

 ATP3011を使う。持ち運んで使うのだから、少しでも軽くするために、ボタン電池を使う。マイクロビット本体のA・Bボタンでは少々不足なので、ボタンを拡張する。本体のLEDは捨てられないので、ボタンは5つの拡張。LED不要であれば、あと4つは拡張できる。

 スイッチは5色あったのでそれを使った。統一した方が良かったかな? 会話の状況を色別にしようかと考えたのだ。朝・昼・夜・旅行中・買い物などなどだ。ただ、本体Bボタンを決定ボタンにするなら、何通りもの組み合わせができる。もっとも、そんなに沢山の定型会話文をマイクロビットが配列変数に持っておけるかが疑問。

 LED、下の2列が見えないね。

 下の画像で見るように、本体を含め4枚の基板で構成されている。上から順に、ATP3011基板・ボタン電池基板・マイクロビット本体・スイッチ基板。
 どの基板もVccとGNDは共通で、長いφ3mmボルトで串刺しになっている。マイクロビットのP1端子をATP3011基板が使い、スイッチ基板はP0端子を使うという単純な構成になっている。
 あとは、プログラム次第ということになる。

 プログラムは後日。


H30.10.31 単4バッテリーパックを背負う

 次にATP3011とアンプ・スピーカーをセットしたボードを作ってみた。何べんもやり直したためか、半田のはみ出しか、配線の間違いか、1オームの抵抗を一つ付けなかったからか、声は出るが、ビジャーと雑音が入る。やり直しだ。先ほど半田の様子をよく見たら、コンデンサの足が浮いていた。半田付けして解決。

 このボードと単4電池ボードとでサンドイッチするとキューブ状態になり、単独で喋るようになる。micro:bitCubeなんて名前でデビューします。(?)


H30.9.26 ATP3011で喋らせる2

 microbitに背負わせるようにするため注文していた、ブレークアウト基板とエッジコネクタが夕方に届いた。早速、工作に取り掛かった。半田付けする部品は少ないのだが配線の取りまわしに時間がかかった。実態配線図なんて描かずに、エィ! とまあ、大雑把にやっていったので汚い。もっとも、サンドイッチしたので見ないで済む(^^;) 今回は、2回のトライで成功した。結局、P1で出力するようにして、microbit本体とボタン電池基板を3VとGNDとP1で止めたら問題がなかった。

 こんな風に組み立てたら、ブレークアウト基板を別の実験でも使いまわすことができて便利だ。しかし、別の実験を思いつくかどうかは甚だ怪しい。

 今のところ、JellyProとmicrobitをブルートースでつなぐ試みはできつつある。これがどんな発展をするかな。サーボモーターを使ってバギーを走らせてみたい。また、出費だね (^^;)


H30.9.23 ATP3011で喋らせる

 音声合成LSIを使って喋らせようと、ATP3011F4−PUを購入した。ATP3011とATP3012とは全く違う製品だけれど、そんなことは深く考えず、データシートも見ないでATP3012の記事を見ながら配線し、試してみた。もちろん、全く発生しない。よく見ると、3011は何も他の部品を取り付ける必要がないことが書かれていた。また、3012とはピンの機能も違っていた。「やってまった!」LSIを壊したな、と思って速攻で2個目を注文。

 それからまた、試行錯誤。PMOD0(14)とPMOD1(15)ピンの組み合わせで決める動作モード、SMOD0(4)とSMOD1(5)ピンの組み合わせで決める通信モードの設定があるが、ここもネットではいろんなやり方を見たが、結局通信モードは結線無し、動作モードは14・15ピンの両方をVccにつないでコマンド入力モードにした。14・15ピンも結線しない方法も見たが、やってみると鳴らなかったように思う。

 結局は、下のように配線してようやく喋ってくれたのだが、それよりも最初に喋らなかったのは、microbitに背負わせていたボタン電池の電源ボードが原因だったのだ。3VとGNDだけでなく、P0端子にボード搭載の音源が邪魔をしていたらしい。そこで、P1からmicrobitのデータを出すようにしたら喋ったということだった。

 とにかく時間がかかった。ブロックによるプログラムは、ここサヌキテックネットさんのマイクロビットの連載を見てほしい。シリアル通信のブロック内の送信端子をP1に、受信端子をP2に変更する。

 幸いなことに、壊したと思ったLSIは生きていました。基板に半田付けしてmicrobitに背負わせようと思います。


H30.9.15 喋らせる

 MicroPythonでプログラミングできる環境が整ったので、久しぶりにやってみた。ラズベリーパイ以来だ。大分経っていたので、当然のことながら忘れていた。

 使ってみようと狙いをつけたのは、ブロックでは細かいことができないかな?(そんなことはないけど))と思ったのと、キャラクター液晶とBME280センサーを同時に使いたいから。ラズベリーパイの時には、Pythonでできたので。
 とりあえず、Micropythonの紹介ページで「音声」というのがあって最初にやってみた。サンプルをコピぺしてMicroPythonのエディタに取り込んだだけだ(^^;) 後で、スピーカーを取り付けようと思いながら、マイクロビット本体にダウンロードしたら、小声でゴニョゴニョ言っている。初めて気が付いたが、マイクロビットの取り付けているボタン電池の電源ボードには小さなスピーカーが付いているようだ。
 気をよくして、手持ちの百均スピーカーをミノムシクリップで取り付けたら、若干大きな音声になった。しかし、本体とソフトウェアの音源だけでは力が足りない。お試し用にはいいかもしれないが。

 そこで、先ほど音声合成LSIを注文した。連休中には届くかもしれない。楽しみ。

 さらに、百均のスピーカーも解体して、ブレッドボード用に組み直した。あったはずの瞬間接着剤が見当たらないので、ビニールテープ止めということで(^^;)