昨日まではmicro:bit(マイクロビット)を喋らせていましたが、今日はArduinoを喋らせてみました。
micro:bitではブロック3つで喋らせることができましたが、Arduinoの場合はどうなるのでしょうか。
今回参考にさせていただいたのはこちらの記事です。
トボリブログさん :Arduinoで好きな言葉をしゃべらせる!音声合成LSI ATP3012の使い方!
https://toboli.hatenablog.com/entry/2019/05/20/153501
ATP3012まわりの配線は、昨日と全く同じものを使いました。
micro:bitとArduinoで、通信する端子だけ付け替えれば良いはず。
配線した端子は、下記のようにしました。
(3.3VとGNDは省略)
micro:bitの場合。
私はP1を使いましたが、他の端子でもOKです。
micro:bitからデータを送るだけ、の設定になっています。
Arduinoの場合。
今回は参考記事通りに10と11の端子を使いました。
SoftwareSerealを使っているのですが、1つだけの引数だとエラーが出てしまったので2つ設定しています。
ちなみに、2つとも配線しないと音が出ませんでした。
参考元のサンプルプログラムから、必要そうな部分だけを抽出してみました。
- SofrwareSerialの読み込み
- SofrwareSerialのピン設定
- シリアル通信速度の設定
- ソフトウェアシリアル通信速度の設定
- ディレイ(1秒)
- 文字列送信
やったことは上記6つ(6行)です。
動作は全てsetupのところに全部書いて、loopは空になっています。
micro:bitでいうところの「最初だけ」に書いて「ずっと」は空の状態ですね。
さて、動作確認をしてみましょう!
はじめにリセットボタンを押して、setup後の動作をさせています。
ちゃんと喋ってくれましたね!
(動画にダンボーが映ってないけど…)
プログラムも簡単な内容なので、Arduinoでも気軽に使えると言えますね。
反応したら喋らせる、というのは色々な場面で使えそう。
今後も活用していく予定です。