2010年3月末で仕事が終わりになり時間ができたので、3才の孫(男の子)が遊べるおもちゃを作ることにした。動くものに限ると思いあれこれ検討した結果、以前息子用に買ってあったレゴのマインドストームを使うことに決めた。制御は自作することにしてネットでCPUの調査を行い、昔ながらのDIPのパッケージが自作向きなのでPICを使うことにした。 いくつかおもちゃを作成し、自分用のメモを作っておくことにしたがついでなのでブログを作成して公開することにした。 写真と動画を見て笑っていただきたい。 なお、1ページで表示できなくなってきたので、以前のものを見る場合は、このページの最後の「前の投稿」をクリックしてください。
2010年11月12日金曜日
4.0 キッチンタイマー
今回は実用品を作ることにした。
レゴの歯車で秒針を作り、1秒毎にモーターで動かす。分と秒の数字表示も欲しいので、7セグメントのLED表示器を載せた基板を新しく作成した。PICはこれまでと同じPIC18F2431。
秒針
モーターを1秒毎に回転させ、歯車で減速して秒針を1分間で1回転させる。
歯車の歯数は8、24、40のものがあったので、3段階で減速することにした。
それぞれの歯数は、
モーター軸:8
1軸目:24->8
2軸目:40->8
3軸目:40
とした。
3軸目が1秒間に40/60歯回転するとき、1軸目の24歯の歯車の動く歯数は、
40/60 * 40/8 * 24/8 = 10
24歯の歯車の動きをフォトインタラプタで測定し、1秒毎に10歯ずつ動かすようにする。
PIC基板
数字表示は3桁の7セグメントLEDを使うことにした。これに合わせて操作用のスイッチを3ヶ実装。音を出すため小型の圧電ブザーも取り付けた。
他はこれまでと同様に電源部、モーター駆動ICなどがある。
時間設定、動作
秒の設定は歯車を回転させて行う。分は一番左のスイッチを1回押すと1分増加する。
60分まで設定できる。表示は3桁なので、10分以内の場合は分1桁と秒2桁を表示し、10分以上の場合は分2桁と秒1桁(10秒の位)を表示する。
一番右のスイッチを押すと動作開始。1秒毎に秒針が動き「ピッピッ」と音が鳴る。カウントが終了すると「ピピピッ、ピピピッ」と音が鳴る、まん中のスイッチを押すと音が止まる。
ソフトウエア
時間管理はTimer0の割り込み(1ms毎)で行う。
フォトインタラプタの測定はメインループで入力をチェックし、入力が1から0に変化したら1カウントする。回転方向はわからないので、歯車を左右どちらに回転させても同じようにカウントする。
歯車の駆動はモーターの駆動をオンにし、フォトインタラプタが8カウントしたら駆動をオフする、モーターは惰性で少し動くのでこれでほぼ10歯ずつ動く。
1秒経過したら、フォトインタラプタのカウント数を-10し、モーターを駆動する。
実用的な使い方
実用上は秒針の動きは必要ない。PIC基板だけでタイマーとして使うのが一番実用的である。分単位の設定で実用上は問題ないが、まん中のリセットスイッチを押したまま左のスイッチを押すと10秒ずつ時間が増える仕組みもいれてある。
登録:
投稿 (Atom)