レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

半田ごてやグルーガン用のタイマーをATtiny13Aで作る

2019年09月05日 | 電子工作

電子回路を作成する時に半田ごてやグルーガンを利用するのですが、普段これらのコテの温め時間の確認にキッチンタイマーを使用しています。
キッチンタイマーは簡単に使えて便利です。でも半田ごてとグルーガンを交互に使っているとそれぞれ温め直すことがあって何度かキッチンタイマーを使わなければならないのですが、この時に押し間違えで設定時間が消えたりするとちょっとイラつきます。
温め時間は決まっているので、ボタン1つで時間を測れるタイマーがあれば便利だなと以前より思っていたのですが、Pro Microとかの高機能なAVRで作るのはもったいないので、今まで製作することはありませんでした。

ところが以前にATtiny13Aという低価格で気楽に使えるAVRを入手したので、コテの温め時間の計測専用のタイマーを作ってみたくなりました。

タイマーに必要なものは、計測開始・停止のボタン1つと、時間がきたら音で知らせるための圧電ブザー、時間経過の進捗状況を知らせるインジケーターに使うLEDくらいでしょうか。
ATtiny13Aには電源周りを除いて6本のピンがありますが、5番ピン(RESET)を普通のGPIOとして使用するにはヒューズの設定が必要な上に、設定してしまうとICSPでのスケッチ書き込みができなくなるので手軽に使えません。普通は残りの5本のピンを使うことになります。そうなるとピン2本はブザーとスイッチに使うので、残り3本がLED点灯に使えることになります。
グルーガンは温め時間に4分間くらいは必要なのでインジケーターにLED4個使いたかったのですが、仕方がないので3個で工夫して表示することにします。

必要な部品は全て持っていたので、まずは回路を組んでみました。



圧電ブザーには、昔ゲームボーイのスピーカーにならないかなと思って分解した100円ショップの小型スピーカーを流用しました。LEDは10BASE-Tという古い規格のスイッチングハブを捨てる時に、基板から引き剥がしておいた3個ひとまとめの物をそのまま使いました。
コンパクトにまとめるため、電源には3Vのコイン型電池を使うことにしました。3VでもLEDを明るく点灯したかったので、抵抗は100Ωにしています。



ATtiny13Aはこんな電源を直につなげられるので便利ですね。1.5Vの乾電池×2や1.2Vのエネループ×2などでも動作するのは確認しました。ちょっとかさばりますが大きさを気にしないのなら乾電池を使ったほうが経済的ですね。
スイッチは付けませんでしたので、電池の出し入れがスイッチの代わりです。その時に電源周りでノイズが発生するかもしれないので、ATtiny13Aの電源ラインに0.1μFのパスコンは入れておきました。

これを動かすスケッチは以下のようになります。

ATtiny13Timer.ino


たいしたスケッチではありませんが、これでもATtiny13Aのフラッシュメモリほぼいっぱいのサイズです。ちなみに使用しているArduino IDE用のモジュールはbitDuino13です。MicroCoreなどもありますが、コンパイルするとバイナリが大きすぎてフラッシュメモリに書き込めませんでした。
bitDuino13のボード設定で内部クロックを600KHzにしても動作します。ただし、デフォルトの9.6MHzより数秒は計測時間が遅れるようです。このタイマーではそれほど正確さは必要ないので600KHzで使ってみることにしました。
ちなみに600KHzの設定でスケッチを書き込む前に、ブートローダーも600KHzで書き換えておかないと(このときヒューズも書き換わる?)動作スピードがおかしくなるので気を付けて下さい。

タイマーで計測する時間は(あまり正確ではありませんが)4分にしてあります。LEDが3個なので最初の3分間は順番に点滅させ、最後の1分間は全LEDを点滅させるようにしました。



当たり前ですが、4分経過するとブザーがなって知らせてくれます。
タクトスイッチはタイマー使用開始と中断、ブザー音の停止に使用します。このスイッチは当初ATtiny13Aの内部抵抗でプルアップしていたのですが、動作中にスイッチのオンオフが認識されなくなることがあったりして、ちょっと不安定な感じだったので外部に10kΩのプルアップ抵抗を入れました。これでタクトスイッチの動作は安定しているようです。

本当は使用していない時にパワーオフさせて省エネ仕様にしたり、ブザーではなくメロディを流したりしたかったのですが、フラッシュメモリの容量が足りなくて断念しました。強引に省エネ仕様にすることも可能なのですが、そのかわりLEDの点灯パターンとかブザー音とかを簡素化してメモリ節約する必要があるので、今回は動作の見栄えの良さを優先して省エネは見送りました。
スケッチを工夫したりアセンブラを使ったりすればなんとかなるのかもしれません。今後の課題です。

ATtiny13Aは安いので、身の回りでちょっとしたデバイスが欲しくなった時に気軽に使うことが出来て便利ですね。常に1、2個常備しておくといいかもしれません。



最新の画像もっと見る

コメントを投稿