Topics | PICC Pro lite mode | PICC Lite | Actual use | SLEEP | PICkit2 | PIC12F629 | PIC12F675 |
100円ショップに1秒単位で99分99秒まで計測できるタイマーを売っていたので、買ってみました。汎用的に使うにには申し分ないのですが、手探りでさっと使えるものが欲しいと思い、砂時計の発想から今回の「電子砂時計」を作成しました。待機時間中は0.06μAと超低消費電力なので、電源スイッチが無くても問題ありません。
Ver 3.20専用回路 ※デバイスはPIC12F675/629のみとなります。
全バージョン共通
書き込むときは、電池を外してください。
通常
Date | version | Build | Folder | Device | note |
---|---|---|---|---|---|
New! 2024/12/8 |
3.20 | MPLABX v6.20/XC8 v2.50 | sandtimer12f6xx.X | PIC12F629 PIC16F675※ |
スイッチは4ピンでも3ピンでも動作するように修正しました。回路の互換を保つように、以前からのハードウェアでも動作するようにしています。 |
2012/12/9 | 3.10 | MPLAB IDE v8.88 XC8 v1.11 |
C:\picsrc\piccpro\sand_timer | PIC12F629 PIC16F675※ |
ボタンのみの操作で動作します。 |
2011/12/18 | 3.00 | MPLAB8.80,Hitech PICC Pro lite mode v9.83 | C:\picsrc\piccpro\sand_timer | PIC12F629 PIC16F675※ |
ボタンのみの操作で動作します。 GP3のポートスイッチを利用しています。 電池を入れると待機、ボタンをポンと押すと起動、ボタン長押しでキャンセル動作します。計測は約3分です。 電子オルゴールと同一ハードウェアです。 |
2008/11/15 | 2.00 | MPLAB8.10以上、Hitech PICC Pro lite mode v9.60 PL4build3206以降 (PL3では正常動作しません) |
C:\picsrc\piccpro\sand_timer | PIC12F629 PIC16F675※ |
※ANSEL部分のコメントを外し、リビルドして使用可能。 同梱のReadmeを参照願います。 |
2007/6/17 | 1.10 | MPLAB 7.60a Hitech PICC Lite v9.60 |
C:\picsrc\sand_timer | PIC12F629 PIC16F675※ |
同梱のReadmeを参照願います。 |
はやぶさ探査機のビーコン音版
Date | version | Build | Folder | Device | note |
---|---|---|---|---|---|
new! 2012/12/9 |
3.00 | MPLAB IDE v8.88 XC8 v1.11 |
C:\picsrc\piccpro\sand_timer2 | PIC12F629 (PIC16F675※) |
ボタンのみの操作で動作します。 |
2010/11/23 | 1.00 | MPLAB8.56 HitechPICC Pro Lite mode v9.80 | C:\picsrc\piccpro\sand_timer2 | PIC12F629 (PIC16F675※) |
※ANSEL部分のコメントを外し、リビルドして使用可能。 同梱のReadmeを参照願います。 |
ブザーにLEDとシンプルな回路です。実はこれはスイッチが付いていません。どうやって起動させるといえば、それは「衝撃」で起動させます。
圧電素子(ピエゾ)は、通常はマイコンで簡単に音を出すように開発された、電圧によって歪む特性を利用した音出力素子です。実はこれはこのピエゾに衝撃を与えると、電圧を発生するのです。ピエゾに何もつけていないで、ボールペンの後ろ辺りでカチカチ叩きながらオシロスコープを見ると、結構大きな電圧が出力されています。
手軽に実験したい場合は、高輝度LEDとピエゾ同士を接続して、ピエゾを叩くとLEDが光ります。
この応用は既にガラス破壊検出や振動検出など警備で使われています。電子楽器なら電子ドラムのセンサーもこれが応用されています。
今回はこのピエゾの発電効果を利用してそれを起動スイッチの代わりにする試みです。
衝撃を使用しないバージョンも公開しました。
ICSP式
フリスクのケースに収まる基板
感度調整用回路
ICSPを使わない回路
今回は薄く小さく作りたかったので、PICを基板に直接半田つけして、Pickit2のインターフェースを出しておきました。VR1とR3は感度調整用です。ピエゾが敏感であれば付け加えて調整します。
J1は2.54mmのLアングルヘッダーです。電池はボタン電池の電池ホルダーは一般的に流通(多分秋月)しているため、CR2032を使いました。大抵の部品はPICオルゴールと同じです。(電子オルゴール側のソフトをこのハードに対応させました)
消費電流は、待機時間中は0.06μAと超低消費電力でした。動作中はLED点灯時が1.6mA程度流れていましたので、平均でおよそ0.6mA位でしょう。
ピエゾのポートは発生する電圧を検出する時は入力、音を出す時は出力にして切り替えています。
本来の設計なら、高電圧を出すピエゾからの保護を考えると、クランプダイオード等を実装するのでしょうが、ここはホビーと割り切り、作りやすさとコストを重視しています。PICの保護回路を当てにした回路です。それなので、ピエゾに著しく強い衝撃を与えると壊れるかもしれませんが、そんな使い方も想定してませんのでこのままで行きます。(気になる方はPICの5番ピンを電源及びグラウンドの間にダイオードを挿入して過電圧保護対策します。)
PICkit2やICD2を使用するときは、書き込み時に電池に過電圧がかかるので、電池を外すか、電池の電源を切れるようにスイッチなどを付けて電源を切った状態で接続してください。
1.電池を入れます。低いビープ音がしたら待機状態です。最初だけ、リセットボタンを押してください。
2.ピエゾ素子に軽く衝撃を与えると、LEDが点灯します。
その最中にもう一度衝撃を与えると、高いビープ音が鳴り始め、計測を開始します。
3.1秒刻みでクリック音が鳴り、1分毎に少し高い音程でなります。
4.規定時間(このプログラムでは3分)経つと、時間経過を表す音が鳴り、
LEDが2秒点灯した後、待機状態に戻ります。
5.誤って動作させた場合は、スイッチを押すとリセットします。
本体を持って卵の殻を割るように2回机に叩くと動作します。
ポートはまだ余っているので、LEDを増やして時間のバリエーションを表示できるようにすると更に便利です。誤って起動したときのキャンセルが出来るほうが便利と思います。
50パーセントで点灯と消灯を繰り返しているLEDの点灯時間を、10%/90%などと調整することで消費電力を節約することが可能です。タイマーは2種類位は設定できたほうが便利と思います。
ボタンが無いので、キッチンなどの水のかかる所とかでは意外と便利に使えます。日常防水的な対策であれば、ケースに空けた音の出る部分に薄いテープを貼る程度で十分でしょう。目的別にタグを貼っておけばパスタやうどんのゆでる専用のタイマーになります。
最初は1回にしていましたが、誤動作や置いただけでも反応するので、2回叩くと起動するようにしました。叩くタイミングは微調整できます。ゆっくりカツカツと叩く仕様にもできます。 配布プログラムは3分で設定していますが、コメントを入れてありますので、改造は簡単と思います。よく使用する時間を何個か作って用意すると、まるで砂時計のように扱うことが出来ます。
また余談ですが、当初HITEC PICCのベースライン開放に伴い、12F509のバージョンとして作成していましたが、色々制約が多く、未知な部分なども存在していたので、使い慣れているPICにて公開しました。
例えば、ピンポートチェンジからの起き上がりは、GP0,GP1とGP3ですが、前者はPickit2が占有していて、後者は入力ピンでデバッグが面倒でした。それとHITEC
PICCで、このベースラインを扱うにはかなり特別な書き方も必要でした。(Delay.cがまともに使えないので、main.cに展開して使うなど)C言語風に書ける別のツールと思ったほうが良いかもしれません。
2024/12/8 MPLABXに対応。
2012/12/5 専用基板によるキットの頒布告知とプログラムアップデート
2011/12/18 衝撃を使用しないver3.00公開
2010/11/23 はやぶさ探査機のビーコン音版 追加
2008/11/15 PICC Pro Lite mode 対応
2008/3/30 一部修正
2007/6/17β作成
2007/6/27 公開
2007/8/19 回路とプログラムを一部修正
(C)2007-2024 air variable All Rights Reserved..
ホーム