Arduinoをしゃべるようにしてみました!


↑音に反応すると、しゃべりながら、文字を表示します。

声合成LSIを使い、Arduinoがおしゃべりするようにしてみました。

音に反応すると、Arduinoが人の声でしゃべりながら、液晶ディスプレイに文字を表示します。


ともとは、ArduinoのUART接続を学ぶ為に開発したキットなので、ハードウェアシリアルソフトウェアシリアルの、両方のUART接続を学ぶ事が出来ます。

ハードウェアシリアルは「マルチ液晶ディスプレイ」を制御、ソフトウェアシリアルは「音声合成LSI」を制御します。

Arduinoを使ったRS−232Cのシリアル通信(UART接続)は、ソフトウェアシリアルを使うのが普通ですが、ソフトウェアシリアルはI2C通信やSPI通信と違い、一つのデバイス(1対1の関係)だけしか制御出来ません。

今回のように、2つのUART接続のデバイス(マルチ液晶ディスプレイ、音声合成LSI)を使う時は、ハードウェアシリアルとソフトウェアシリアルの2つを同時に使わなければいけません。

使ったUARTデバイスはこちらです。

マルチ液晶ディスプレイ(電源電圧:DC5V 約210mA)は、UART,I2C、SPIの3通りが選べるタイプです。

 

力回路は、音センサーモジュールを利用、音声はダイナミックスピーカーを利用しました。

レギュレターは発熱するので、放熱板を取り付けています(レギュレターでなく、USB5V電源にすれば良かったかもしれません)。

 
 
 
 
後付したので、無理やり取り付けたレギュレター
ACアダプター(9V 2A)

 


電子回路です!

御回路はArduino UNO R3。

音声合成LSIとマルチLCDは、UARTで使う配線方法です。

マルチLCDが思った以上に電流を使うので、別電源のレギュレターから5Vをとります。

レギュレターは発熱するので、放熱板を取り付けています。

スピーカーをAOUT端子に直接つないでも鳴らなかったので、トランジスタと取り付け鳴らしています。

全体的に電力を食う回路なので、ACアダプターでなく乾電池だとすぐ無くなり、誤動作しました。



スケッチ

ART接続なので、特別なライブラリーは必要ありません。

ハードウェアシリアルは、Serial.writeで、ソフトウェアシリアルは標準で付属しているライブラリーで対応できます。

余分な命令が入っているかもしれませんが、スケッチはこちらです。



 
(2022年5月11日(水)作成)


 
 

 
Contents are copyright (c) 2009 MASAKATSU BABA All rights reserved.
This site is best viewed with Internet Exploerer 4.0, Netscape Navigator 4.0 or later
ホームページに関するご意見・ご要望はこちらまで .
 


  1. 無料アクセス解析