小旅行、自然観察、自作、太陽光発電、無線の趣味、デジカメ


by susumuja

マイコン(AVR)遊び ATtiny861

ガイガーカウンターを作って以来、何かと忙しくて、LEDの輝度を落とすこともほりっ放しになっていた。今日はようやく少し時間が作れたので、さっそく抵抗を取り替えてみた。
b0042882_238852.jpg




LED(発光ダイオード)はどんどん高輝度化して、以前の定数で使うと眩しくて仕方がないのだ。ずっと以前は、220オーム程度の抵抗を直列に入れて5Vに繋いでいたと思うのだが、2.2Kオームでも電流が流れすぎ(明るすぎ)で、10Kオームにしてみたのだけれど、相変わらず眩しかった。そうして今日、ようやく56Kオームに交換してやったらちょうど良くなった。電流で言うと、僅か0.1mA以下である。以前はどうかするとその100倍、10mA程度は流していたように思う。やれやれ。
 ガイガーカウンターというのは、ガイガーミューラー管が放射線を受けた時に出すパルスを、一分間に何発出るかを勘定するだけで、構成は単純である。8ビットのRISCマイコン(マイクロコントローラー・チップ)を使って、液晶表示器に勘定した数を表示したり、マイクロシーベルトに換算したりしているだけ。まあ数回の平均値を求めたり、累計での平均値など少し統計処理的な計算もしてはいるが、、。
同じマイコンに、光センサーや温度センサーを使えば、明るさや温度が測れるので、ガイガーとして使わないときは、温度や電源電圧を測ってみようと、今日は昼からパソコンの前で半田付けしたり、プログラムを追加したりしていた。仕事じゃないので、まあパズルを解くような遊び感覚だ。
b0042882_23211439.jpg

今回はカタカナの表示を試みたのと、ユーザー定義文字を8個まで使えるというので、電池のマークを作ってみた。携帯の電池残量表示みたいにできそうだ。
プログラムはずっとBASCOM-AVRというコンパイラを使っているので、かなり簡単に操れる。パソコンでソースプログラムを編集してはコンパイル(機械語に翻訳)し、マイコンに覚えさせて実行する。プログラムが完成すれば、パソコンは外してもマイコンだけでプログラムを実行できるから、温度や電圧を計って液晶表示器で読み取れるって訳だ。
こうしたものがない時代は、ちょっとした仕掛けはハードウエア(配線など)の変更が必要であった。ちょうど大学を出た後に、8080やZ80といった8ビットMPUが出現し誰も教えてくれる者もいない中で、必要に駆られて試行錯誤した経験をいまだに追体験しているのかも。
ハンドアセンブルといって、いきなり機械語でプログラムを書いていたから、BASCOM-AVRの有難いこと、この上ないのだ、(笑)。

PS:利用しているのは、マイクロファンのAVR-BASE-AT861Lというプリント基板と、ATtiny861のみのキット。温度センサーは秋月で買ったLM61BIZ。600mVのオフセットがあるが、1℃当たり10mVで分かりやすい。-25℃~+85℃まで測定できる。もっともBASCOM-AVRでBASIC言語が使えるので、こういうアプリでの係数換算など極めてらくちんだ。
(らくちんは、幼児語だそうです?!)
[PR]
by susumuja | 2012-02-07 23:29 | 無線・工作