2026年2月21日土曜日

音声合成LSI(ATP3011とATP3012)を使ってみる〜Arduino UNO互換機を改造してみる

前回の続きです。株式会社アクエストが開発している「音声合成LSI(「ATP3011(←データシートPDF)」と「ATP3012」(←データシートPDF)」)」を、秋月電子通商で購入して試用しています。簡単な使い方は、公式Webサイトの「音声合成LSI「AquesTalk pico LSI」」で確認することができますが、いろいろと試用しているうちに一筋縄ではいかないことが判明してきて、試行錯誤と悪戦苦闘の真っ最中です。

前回は、音声合成LSIの抜き挿しが簡単にできるように、セロプレッシャーICソケットを利用した「Arduino互換機」を自作したところまで書きました。このArduino互換機は、「Diavolino」を参考にして作っていて、設計としてはArduino ProDuemilanoveなどに近いものとなっています。このArduino互換自作マイコンボードは、USB-TTLシリアル変換ケーブルをつないでMacやPCと接続しています。ATP3012系の音声合成LSIでは問題なく使えたのですが、ATP3011系ではうまく動いてくれませんでした。そこで、かなり力技ではありますが、Arduino UNO R3の互換機を購入して、基板上のICソケットを取り外して、ゼロプレッシャーICソケットに載せ替えてしまおうと考えました。

幸い、UNO R3の互換機ならかなりお安く出回っているので、実験に使っても心(懐?)の痛みが少なくて済みます。ATmega328P-PU(28ピンDIP形状)を載せたものであれば、ATP3011やATP3012を載せ替えて使うことができるはずです。Amazonでお安く手に入れたUNO R3互換マイコンボードからATmega328Pを外して、ICソケットもハンダ吸取り機で外します。そこに、ゼロプレッシャーICソケットを載せられればよいのですが、他の部品と干渉するため、ピンソケットを取り付けて高くしてからゼロプレッシャーICソケットを挿し込んでみます。実際には、この方法にたどり着くまでいろいろと試行錯誤の末ではありましたが、どうにか使えそうな状態にすることができました。

この状態で、もとのUNO R3互換機に載っていたATmega328を取り付けてArduinoとして動くかどうかやってみました。Arduino IDEで「ボード:」を「Arduino UNO」に、「ポート:」を「/dev/cu.usbmodem…」に設定をしてから、Lチカプログラムを「コンパイル&書き込み」で流し込んだところ、無事に動いてくれました。これで、ICソケットの代わりにゼロプレッシャーICソケットを換装しても、Arduino UNOとして問題なく動くということが確認ができました。次に、ATP3012系の音声合成LSIを載せて動作確認をすると、問題なく動くことがわかりました。満を持して、ATP3011系の音声合成LSIが動くかどうかやってみましたが、こちらはどうやってもコントロールすることができませんでした。

若干ヤケ○ソ気味になって、もう一つ買っておいたUNO R3互換機のICソケットに直接ATP3011を挿してコントロールできるかやってみましたが、それでもうまく動かないことが判明しました。結局、ATP3011系は、どうしてもコントロールすることができませんでした。以前にやったときは、ATP3012系の「ロボットのような音声」が出たのですっかり満足してしまい、他のものも同じ方法で音声が出るとばかり思い込んでいたのが甘かったようです。

いろいろと調べているうちに、うまく行かない原因を紹介するページもみつけたのですが、私が遭遇しているバターンとはちょっと違う気がしていて、どうしたものかと頭を悩ませているところです。ATP3012系のときとATP3011系のときの大きな違いは、Arduino IDEで「ボード:」と「ポート:」を設定したあと、「シリアルモニタ」を使える状態にして、ATP3011に何かメッセージを送ろうとすると、意味不明な(文字化けした)文字列が返ってくることです。macOS付属の「ターミナル」を使って「screen」コマンドでの接続も試みてみましたが、これもうまくいきませんでした。根本的に、別のアプローチを考えないといけないのかもしれません。orz

「音声合成LSI(ATP3011とATP3012)を使ってみる」

0 件のコメント: