fu爺 goo

少し疲れた田舎爺の日常をつづる

Serial EEPROM writer と、お喋りラーメンタイマー

2013-03-04 | DIY・PICマイコン

 

シリアルEEPROM 24FC1025 に、音声データを 書込みしなければならなくなったのですが、
手持ちの PICKIT3では、書込みがサポートされていない ようで、(PICKIT2 ならOK
書込み器とソフトを探したら、良いソフトが見つかったので、紹介します。

Serial EEPROM writer という フリーソフトと簡単な回路(PIC16F88使用)で、実現。
HEX だけでなく Binary ファイルからも、書込みが できました。

Dsc01700

回路も このように簡単。

Dsc01688

Windows XPと、RS232C に対応していますから、設計者の年齢が想像できます。

Eeprom_w

ハード・ファームウェア製作と Writer ソフトの説明、細かいところまで 詳しく書かれていて非常に丁寧です。

こういうものを フリーソフトで 公開していただけるのは、助かります。

 

ついでに、バイナリーデータファイルを 表示したり 編集するなら、 BZ バイナリーエディター

Bz_1

これも フリーソフト、提供してくれる方に感謝です。

 

さて こんなものをそろえたのは、何のためかと言うと・・・

Dsc01854

これ、お喋り時計を作るため・・・。

爺は何も考えず 意味もわからず、ブログからダウンロードしただけです。

PIC12F615のGP3は、外部でpull-up(なるべく 少ない電流で 75kΩ程度)が必要です。
  ( この使い方で 電池寿命を考えると pull-upしたくないですが、GP3の内部弱プルアップは BLOCK DIAGRAMを見るとMCLREに設定した場合だけ…)

Sp_watch

上の回路図は、ブログを作成された方の手書きオリジナルの写真を、爺がトレースさせていただきました。
 SPEAKERは、インピーダンス8オーム。(低音域特性の良い、できれば BOX付が良いです。)

振動センサ信号を検出後 0.5秒経過してから 時刻を発声するように変更させてもらいました。
 ( 振動 検出時は 周囲に雑音があることが多いので、時刻が聞き取りにくいのです。)

 

以上、結構良い 音声出力に 満足して、 これを ”お喋りラーメンタイマー”にしてみたくなって・・・

Dsc02150

こんな改造を、始めました。 1~6分の時間設定ができて、チャルメラも 入れたいんですネ・・
チャルメラ無しのお喋りだけならデータの出どころが "ソフトーク"だけだから、うまくできたのですが、

ラーメンタイマーの発音データは、こんな具合。  「Softalk_Ramen.wav」をダウンロード
これを、EEPROMに binary形式で 区切りを入れて書き込みます。

D/A変換は 1bit だけを使う PWM出力。ROMからの読み出しは I2Cですから、回路はこんなに簡単です。

Ra_4

とりあえず、製作途中の おしゃべりラーメンタイマーのデータと プログラムを 載せておきます。

 EEPROM 24FC1025 の binデータ   「softalk_ramenwav.bin」をダウンロード

 PIC12F615の HEXファイル       「SP_RA4.HEX」をダウンロード

チャルメラのメロディーは、WAVファイルではないんですが なんとか 発声する様にしてあります。
この DIY は、先の お喋り時計をDownLoadして 作れる方でないと無理です。

操作方法は、文章で説明しなくても スイッチを押せば 次なにが始まるか喋るので、誰にでもわかります。
タイムアップ後、チャルメラが2回鳴って、余計なことをしゃべり終えると、PICは SLEEPしますから POWERスイッチは不要です。
スイッチ2個で何をするかというと、1~6分の設定と、タイマースタートと、途中でのタイマーキャンセル。
何をおしゃべりするかというと、自身の動作状態 説明と 残り分数、残り1分以下で 30秒と10秒を 発声します。

待ち時間の間点滅するLEDは、順方向電圧が低いものでないと 電池2個(3V)では 点灯しないかな?
LEDに直列に入れた抵抗、1Kオームでは大きすぎですね…図の入れ替え 面倒だから、このままにします。

PIC12F615は¥60、24FC1025は¥250、スピーカは¥105 その他の部品を入れても ¥500 以下。

Dsc02242

 写真左が お喋り時計で、右がチャルメラ入りお喋りラーメンタイマー
 ¥105 Shop(百五均)で、適当な大きさのケースに入ったスピーカが売られています。

 

この後 もう少しまともなタイマーにするための 製作上の問題は、音声データの中に 出どころの違う チャルメラのメロディーを うまく追加することができるか?
バイナリーエディターの使い方を調べてみよう。( 最悪の場合 データを手で書き込むことになるが、マア 暇な爺に お迎えがくるまでにやれば良いんだから、焦ることはない。)

車のアクセサリー用には、こんな音声も使えそうです。 「SofTalk_car.wav」をダウンロード

セキュリティー用なら、こんなのは どうでしょうか?   「SofTalksecurity.wav」をダウンロード

お店用なら、こんな感じかな?                「SofTalk_store.wav」をダウンロード

音声の品質がイマイチなのは、FREEウェアだけでやるから…、商売にするなら それなりの投資を…

 

 Softalkで作成する音声のWAVファイル、抑揚の設定が TXTファイルにチョットした記号を付加して変えられます。

 Clk_txt
TXTファイルに 左のような記号を書き込むと

すこしマシな抑揚のデータができました。

 

その WAVファイルです。

  「SofTalk_clock.wav」をダウンロード

 

*** 例によって このDIY記事に関しては、細かい 質問に応じられません。***
***自己責任でお願いします。***

 


1 コメント

コメント日が  古い順  |   新しい順
データとプログラムの再公開について (tori)
2020-06-19 07:58:43
おしゃべりラーメンタイマーのデータとプログラムがリンク切れになっているので、再公開して頂けないでしょうか。

EEPROMからI2Cで音声データを読み込んで再生するプログラムを作成しているのですが、I2C通信がうまく動かず困っていたところ、こちらに辿りつきました。動くプログラムで勉強したいと思いますので、再公開して頂けると助かります。
よろしくお願い致します。
返信する

コメントを投稿