死蔵のHC-SR04

LPC1114 mbedでINA226を利用した電力計のソフトは半分ほど出来てて後はプリント基板を起すだけなのだが、いまいち気乗りがせずEagleで回路図とボード図を作成してない。宙ぶらりんなのだが、HC-SR04超音波距離センサも死蔵されてることに気が付き、距離センサを作ってしまおうかという気になってた。

HC-SR04は5Vのデバイス、今ハマってるmbedは3.3Vなので、もしmbedで作ると電源周りが邪魔臭い。5Vならarduinoなのだが、ネットにはHC-SR04を利用したスケッチもあちらこちらにあるので参考に作れば容易に距離センサを作れそうだが、距離センサの為に高価なarduinoを利用する気にもならない。やはり宙ぶらりんなのだ。

ATtiny2313で作ってみる

HC-SR04超音波距離センサは、超音波を発生する機能と戻ってきたエコーを受け取る機能があるだけだ。距離はMPUでエコー到達に掛った時間から距離を算出するのだ。算出はさほど難しくはないだろうから容量が小さいATtiny2313でもなんとかなりそうだ。ATtiny2313なら電源回路を含めても簡単な構成になりそうなので作ってみることにした。

ブレツドボード上で…

ブレツドボード上で作ったのがこれである。

ブレットボード上で作った回路

ブレットボード上で作った回路

ATtiny2313のTimer0のオーバフロー割り込みで経過時間のカウントと、INT0によるECHOの到達の割り込み処理で距離を演算している。結構シンプルでコンパクトに実装できたようだ。最近はARM中心なのでAVRの使い方をすっかり忘れてた。データシートと”AVRマイコンリファレンス・ブック”をじっくり調べたのは、ここだけの話である。 😐

後は回路とボード図

アイテンドで随分前に購入した8×2のLCDを使って実験してると、5Vの三端子レジュレータが非常に熱くなった。調べてみると、LCDバックライト点灯が相当な電力を食うのだ。常時点灯しないようにLCD基板裏のジャンパーを切断した。バックライトの点灯・消灯はソフトで制御する必要がありそうだ。
後は、この点を考慮してEagleで回路図とボード図の作成だ。