↑音に反応すると、しゃべりながら、文字を表示します。
音 声合成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アダプターでなく乾電池だとすぐ無くなり、誤動作しました。
スケッチ
U ART接続なので、特別なライブラリーは必要ありません。
ハードウェアシリアルは、Serial.writeで、ソフトウェアシリアルは標準で付属しているライブラリーで対応できます。
余分な命令が入っているかもしれませんが、スケッチはこちらです。
VIDEO
(2022年5月11日(水)作成)