2010年3月末で仕事が終わりになり時間ができたので、3才の孫(男の子)が遊べるおもちゃを作ることにした。動くものに限ると思いあれこれ検討した結果、以前息子用に買ってあったレゴのマインドストームを使うことに決めた。制御は自作することにしてネットでCPUの調査を行い、昔ながらのDIPのパッケージが自作向きなのでPICを使うことにした。 いくつかおもちゃを作成し、自分用のメモを作っておくことにしたがついでなのでブログを作成して公開することにした。 写真と動画を見て笑っていただきたい。 なお、1ページで表示できなくなってきたので、以前のものを見る場合は、このページの最後の「前の投稿」をクリックしてください。
2014年1月26日日曜日
14.01.26 残像表示時計
残像表示の教材版の仕上げを行った。
ポイントは2つで、時計を表示するようにしたことと、振り子の振幅が変わっても表示する文字の位置が変わらないようにしたこと。
時計表示は、曜日などの表示もやってみたが、表示が煩雑で見にくくなるので、シンプルに時刻だけを表示することにした。
振り子があるので、一見振り子時計のように見えるが、時間はマイコンのタイマーで数えている。
時計として使うため、電源は常に入った状態となるため、消費電力を抑えるよう表示をしていない時は時計のタイマーだけを動かし、その他はスリープさせるようにした。
表示位置の管理は、振子の周期とリードスイッチがオンになっている時間で行う。
振子が左端に近づくとリードスイッチがオンになり、右側に動き始めるとオフになる。振子の振幅が大きいとオンの時間が長くなり、振幅が小さいとオンの時間は短くなる。
周期から「リードスイッチがオンの区間」の2倍を引き算すると、「文字を表示する区間」と「リードスイッチオフからのディレイ」の合計の2倍の時間が得られる。この半分の時間をディレイ区間と表示区間に分配することで、ディレイの時間が決まる。正確には振子の速度は変化しているが、速度一定として計算している。時計表示は5文字で、1文字は8列で表示するので、文字の1列を表示する時間は、表示区間の時間/(5*8)で決まる。
リードスイッチの位置を変えると文字の幅が変化する。
回路は、必要最低限に絞り込んだ。PICマイコンPIC18F24K20、LED8ヶと抵抗8ヶ、赤外線センサー、電源用のケミコンだけ。電源は単4電池2ヶで電源スイッチはつけていない。
振子の軸受け部分は、木工で試作してみたが、工作精度や材料の摩擦などで、スムーズに回転させるのはむつかしいことが判明し、結局レゴで作ることにした。
軸受け部分とプリント基板の間をつなぐ材料は、作りやすさとコストで幅10mmの木の板に決めた。
表示の制御は赤外線リモコンで行う。
動作モードは、通常表示・時刻合わせ・明るさ調整の3つ。通常表示では時計表示と、3種類のメッセージの切り替えができる。時刻合わせでは、時・分・進度調整ができる。クロックはクリスタルでなくPIC内部のオシレータを使っているので、1日で数十秒の誤差はヨシとする。
登録:
投稿 (Atom)