時計9
2年ぶりの改修だ。会社で重宝して使っている時計。USBで時刻をセットする機能を有しているが、それは使っていない。単に普通のデジタル時計として使っている。使っているクロックモジュールが当たりだったのか、すこぶる高精度だ。1ヶ月で10秒とは狂わない。10のマイナス7乗近い精度である。
色々と要望があって、段々本来の使い方と変わっているが、要望に答えて継ぎ足し継ぎ足しの改修を繰り返した。ラーメンタイマー(カウントダウンタイマー)も追加した。
今回の改修はチャイム機能の追加だ。毎日定刻に音をだす機能だ。始業開始の8時40分と終業時の17時10分にチャイムがほしい、と。以前のオフィスはチャイムがあったと思うが、今回はない。
チャイムといえば、「ウエストミンスターの鐘」であるが、どうやって作るか?PICでやろうと考えるが、結構めんどくさそう。そこで、出来合いのメロディーICがないかを探すが、簡単には見つからない。やっと見つかったのが、これTQ-LEK36。aitendoで見つかった。36曲ものメロディーが入っている。
実際に動かしてみると、選曲はキーを順に押して行かないといけない。それと、順方向にしか行かない。リセットするすべがない。起動はhighのエッジで1回のみ起動する。連続するためには、曲がOFFしてから再度highエッジを作らないといけない。以前使ったICはレベルで動くので、highにしておけば、その間は再生してくれた。
曲のリセットは電源を切ることで実現できることがわかった。IC内部のPowerONリセットに期待するのだ。
あと、ラーメンタイマーの時間に4分を追加した。カップラーメンによって3分、4分、5分待つ物があるようだ。これも、ユーザー?の要望に答えたものだ。
回路図を残しておかないとわからなくなるので、メモを書いた。
ツェナーDiは4.7Vを使っているが、これでメロディーICの電源電圧は3.0Vぐらいになる。ツェナーに流す電流が少ないと電圧が低くなる。回路図の間違いではない。
実は、コンパイルに苦労した。以前作った物を、再度コンパイルしてもうまくいかない。以前の時から、MikroCのバージョンを上げている。バージョンアップといっても、再インストールで環境が引き継がれない。どうも、後から追加したUSBのCDCが入っていないのが原因。
コンパイルがやっと通るようになったが、そのバイナリーを焼いても、動作がおかしい。不安定だ。ASMやHEXファイルのコンペアまでやったが、よくわからない。色々やって気づいたのがconfigの設定値だ。どうした訳か、この設定値が変わってしまっている。Projectの設定を変えてやっと元に戻った。
結構、苦労した。久しぶりに使うとこれだ。
ソースファイル、HEXファイルを含むMikroCのProjectファイル一式をあげておく。
「20150515_.zip」をダウンロード
過去の記事はここ。
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント