0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

micro:bit光線銃でド◯ネーター起動音を鳴らしたい(後編)

0
Posted at

前編はこちら

AquesTalk picoの使い方

アクエストの音声合成LSI「AquesTalk pico」は、Arduino UNOでおなじみのATmega328Pをベースにしたカスタムチップで、電気的な特性やピンアサインはATmega328Pと同じなため、Arduino UNO搭載のチップと交換してそのまま使用できるとのことです。(試してはいない)
image.png

シリーズにはATP3011ATP3012の2種類があり、ATP3012はサンプリングレートが高くて音質が良い代わりに、クロック用クリスタルの外付けが必要になります。ATP3011は内蔵クロックで動作します。
音質は期待していないので部品点数の少ないATP3011を使用することにします。

なお先行事例として「サヌキテックネット」さんの「おしゃべりマイクロビット」の記事がありますが、こちらはATP3012を使われています。
(私はこちらの記事を知らずに作成いたしました。)

使い方はチップにVCCとGNDを接続したら、UART端子からコマンドの文字列を送るだけです。
基本的な接続方法(ATP3011のデータシートより引用)
image.png
VCCとGNDを結線し、VCCにはノイズ避けとして0.1μF程度のバイパスコンデンサを入れておきます。
コマンドのやり取りのため、UARTのRXD(2番ピン)TXD(3番ピン)を、ホストとなるマイコンやPCのシリアルインターフェースにクロス接続します。
音声信号は12番ピンから出力されますので、適当なアンプで増幅してスピーカーから出力できるようにします。

コマンドシーケンス

ATP3011のデータシートより引用
image.png

・チップにリセットがかかってから80ms以上待ちます。
・ホストから「?」のキャタクタを送出します。これでボーレートが自動的に設定されます。
・発声させたい文字列+CRを送出します。

日本語の文字列はローマ字で作りますが、ローマ字だけでは不自然な発音になってしまいます。長音やアクセントなどを制御する記号を使って、自然に聞こえるように試行錯誤するしかありません。このあたりもデータシートに詳しく記載されています。

文字列の例
「携帯型 心理診断 鎮圧執行システムドミネーター起動しました」
kei'taigata,si'nri+si'ndan,tin+a'tu+sikko'u+si'sutemu domi'/ne'-ta- kidou/sima'sita
「犯罪係数150執行対象です ノンリーサルパラライザーモード」
hanzai';kei';su'u+hyaku';go';jyu'u sikkou';ta'ishou;de'su non;ri'-saru;para'+ra'+i'+za'-+mo'-do

micro:bitのコード
Makecodeではこんなコードになります。
image.png

試作した基板

IMG_4459.JPEG
試行錯誤中のままなのでグチャグチャですが、一応音は出ます。
ATP3011の下にある8ピンDIPはスピーカーを鳴らすためのアンプで、JRCのNJM2113というチップです。

右にある基板は3V→5Vに昇圧するDC/DCコンバータですが、アンプの試行錯誤用ですので気にしないでください。
(ATP3011は電源電圧2.5V-5.5Vに対応しています。)

実際の動作
image.png
↑画像をクリックすると動画と音声が確認できます。

一応動作は確認できましたが、まだ光線銃との一体化はこれからです。

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?