N.Yamazaki's blog

主に音声合成について思ったことを書いてみようと思います。
<< 簡単!ATmega328Pにブートローダを書きこむ(第2弾) | main | 音声合成LSIで「オリジナルの音声時計」を作ろう!- その2 ハードウェア編 >>
音声合成LSIで「オリジナルの音声時計」を作ろう!- その1 概要編
■オリジナルの音声時計
自由にカスタマイズ可能なしゃべる時計、オリジナルの音声時計をつくってみよう!その製作記事です。

就寝中に「今何時?」って時、目を開けずに音声で時刻がわかるのはとても便利です。
いまどきトーキングクロックなんて珍しくないのですが、これは自由にカスタマイズできるのがミソです。たとえば、記念日や曜日や時間帯に応じて、オリジナルメッセージを発声させられます。ちなみに私は朝の時間帯は曜日に応じたゴミ収集のお知らせと、記念日にはメッセージを出すようにして使ってます。

世界に1つだけのオリジナルのトーキングクロック、プレゼントにも良いんじゃないかな。

   

■特徴
  • プログラムはArduino IDEのスケッチとして記述し、後から簡単に変更できる。
  • 老眼にやさしいDIPサイズの部品だけで構成し、表面実装部品は使わない。
  • 就寝時に合わせた小さめの音量です。
  • 声種の変更は、音声合成LSIの差し替えで可能です(4種類)。
  • アラーム機能で、特定の日時に自動的にメッセージを出力
  • 低消費電力。発声頻度にもよるけど、半年-1年くらい電池交換不要
  • ハードのカスタマイズもできる。圧力センサー使ったり、LEDを光らせたり

■ハードウェア・回路図


回路図(クリックで拡大)

メインコントローラーはATmega328P-PU。ここにArduinoブートローダとオリジナルのスケッチを書き込みます。電池2本で動かすため、クロックは8MHzに下げて使います(Unoは16MHz)。

リアルタイムクロック(RTC)はDIPのものが手にいらなかいので、秋月電子のDIP化モジュールを使います。
音声合成LSIはATP3011XX−PU(XXは任意)。ジャンパ切り替えでATP3012XXも使えるようにしてますが、クロックが10Mと若干高めなので乾電池2本での動作は厳しいかも。Q2の発振子はATP3012XX用なのでATP3011XXでは不要です。
振動スイッチ(S1:TILT SW)は、通常OFFの状態で、ONで発声のトリガとします。

コントローラーとRTC、音声合成LSI間の通信はI2Cで行います。I2Cのプルアップは、ATmega328Pの内部プルアップを使いますので、RTCのジャンパーによるプルアップは不要です。

音量は小さめで良いので、アンプICなどは使わないトランジスタ1つの簡易回路です。

また、時刻設定用にスイッチ2つ使います。端子INTのUPとSETに接続し、もう片方はGNDに接続します。
IO9-IO11は拡張用のGPIOポートです。

■基板


基板写真

ユニバーサル基板でも良いのですが、今回はIKEAの時計「LOTTORP」のケースにぴったり収めたかったのでElecrowに発注した専用基板を使いました。あまった基板をプレゼントします。詳細は後ほど。


前に同様のものを作ったとき(ニコ動)、TQFP版のATmega1つにコントローラとAquesTalk picoエンジンを詰め込んだため、同じものが欲しいという意見を多数いただにもかかわらずアクエストのビジネス的に不可能でした。そこで今回は誰でも作れるをコンセプトにしてます。

ハードウェア編につづく

■LINK
| 電子工作 | 19:10 | - | - |
PROFILE
Follow
CATEGORIES
LATEST ENTRIES
SEARCH THIS SITE
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
SONY MDR-CD900ST
SONY MDR-CD900ST (JUGEMレビュー »)

普段これで開発しています。
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND