ローエンドな私とマイコン
機械制御屋のマイコン活用日記

二槽式洗濯機停止ブザーVar2


二槽式洗濯機_停止ブザーVar2
H28年5月10日
現在進行中のプロジェクトである。
 Var1は10年以上使っているが、壊れない。機能的に完成していたが、欲がでた。
 まず、ブーブーブーでは味気無い。メロディー音がいいな。
 それと、稼働時間を表示させればあとどれくらいで止まるか予測できるではないか。
 よって、Var2では以上の2点を追加仕様とした。
 ソフトウェアはほぼ完成した。次にやらなければいけないことは、基板をおこすことである。近日中に仕上げたい。
取りあえずまとめていこう
 Var1の基板。
電源は9V電池マンガンでも1年持つ。
 PIC10F200使用。
 最も電力を消費するのは、ブザー時なのでブザーの回数が減ったら電池の交換目あすである。

 Var1の記事へ
プロジェクトの内容を整理する
1.洗濯機起動中の時間表示を追加(7セグ2桁)
2.7セグdpで秒を表現 
3.停止時警報音をブザーからメロディー音に
4.電池コストを抑える目的で単三電池使用。
まずは石を決める
 Var1では電流検知を一定(0.1SEC)間隔でスキャンしていた。スキャン時間を数mSECにできればダイナミック点灯できる。PICにとって1mSECは1000命令分なので(4Mクロックで)割り込みを使わなくても出来るはずだ。
 よって、IOピンの必要数より、石はPIC16F54に決定した。もし割り込みが必要になったならば16F716に変更すればよい。
IOを割り付ける
 IO割付で特にトリッキーなところはない。ブレッドボードでデバッグしたので配線しやすさを1番に考えた。
プログラムは簡単なところから作る
今回は7セグ表示部分から。
まず、7セグ変換テーブル。次に10進変換部。
次にダイナミック点灯部とタイマー計時処理。
次にループ処理部とウエイト部分、割り込みを使わないのでウエイトでループ時間を揃えないと時間が合わない。
洗濯時間は40分未満なので10進変換のウエイトもそれ以上は見ていない。
最後はメロディー部分だ、割り込みを使った例は結構ネットで拾えるが、割り込まない方法はお目にかかれなかった。やり方は割り込み方式と一緒だTMR0で音の長さを見ながら、音程を発音すればいい。
今回は1オクターブ、テンポ一定条件で演奏条件にした。演奏楽譜はPICの特殊な事情により(CALLするアドレスは8ビット以内)数ステップだがブザー代わりなら充分。参考にさせて頂いたプログラムにファミマの入店音があったのでこれを音符に置き換え借用。
 そう言えば、我が家の玄関チャイムは松下電器製のがついていたが、ファミマの入店音でした。平成元年位のもの?
参考プログラム MPLAB X
newpic_8b_simple.asm