音声合成LSI AquesTalk pico LSIでArduinoにおしゃべりさせる

Photo by Daniel Andrade on UnsplashAquesTalk pico LSI

年末、実家で飲みながら電子回路をいじっていたのですが、ようやくそれが完成しました。部品が揃い、知識がついてきたのも感慨深いものです。今回完成した回路が「音声合成LSIにおしゃべりさせるArduino」です。

Arduinoが音声合成LSIでしゃべりだす

去年からアルバイトでプログラミング教室の先生をはじめたのですが、そこでArduinoを使うので、自己紹介用に回路を作ってみようと思いました。LCDには話している文字を表示させています。

使った部品一覧はこちら。リンク先は秋月電子とAmazonです。

半固定抵抗は音量の調整に使っています。

回路図もfritzingで初めて書いてみました。インストールはMacだと brew cask install fritzing でOK。

ソースコードはGitHubをご確認ください。

/*
  じんこうおんせいをつかって
  Arduinoがしゃべりだす
*/

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>

SoftwareSerial serial(6, 7); //RX, TX
LiquidCrystal lcd( 13, 12, 11, 10, 9, 8);


String LINE1 = "konnitiwa watashiwa/fujihara/dai/desu.";
String LINE2 = "kyouwa yorosiku/onegai/simasu\r";

void setup() {
  serial.begin(9600);
}

void loop() {
  lcd.begin( 16, 2 );
  lcd.clear();
  lcd.setCursor(0, 0);
  
  // https://synapse.kyoto/lib/MGLCD/CharacterCode/page001.html
  // コンニチハ ワタシハ
  lcd.print("\xba\xdd\xc6\xc1\xca \xdc\xc0\xbc\xca");  
  serial.print("?");
  serial.print(LINE1);

  delay(1000);
  
  // フジハラ ダイ デス 
  lcd.setCursor(0, 1);
  lcd.print("\xcc\xbc\xde\xca\xd7 \xc0\xde\xb2 \xc3\xde\xbd");
  serial.print(LINE2);

  delay(1000);
}

ちなみに、これを自己紹介で使ってみたところ、子どもたちの反応はまずまずでした。みんな興味を持ってくれたみたいで良かった。何かを創るって楽しいんだぞ。