Pwmによる「ほたるもどき」

プログラム(Hex)はこちらです。

3つのLED駆動プログラム(Hex)

配線が終わったら、ホットメルトでモールドする

Pwm(Pulse Width Modulation)機能を持っているPic(12F683)を使って、だんだんに明るさが増し、次第にLEDが消えていく「ほたるもどき」の回路とプログラムを作りました。
Pwm、パルス幅変調はパルス波のデューティー比を変化させることで、供給される電流を制御し、LEDの明るさを変えることができるものです。
この動作をさせるためには、PicがCCPモジュールを搭載していることが必要です。よく使われる12F629や12F675にはこのモジュールが搭載されていません。そこで、今回は12F683というPicを使うことにします。

単四電池3本用電池ケースの1本分のスペースにホタルもどきを組み込みました。
このケースはスイッチが付いていて,ちょうどよい大きさです。
LED用とCDS用の穴を開け、それぞれホットメルトで固定しました。
ケースの加工は端子板を一つ取り去り、+極の端子をその部分にはめ込むだけです。

ケースに収納したホタルもどき

回路図はこちらです。

回路は3LEDのものと同じです。少し点灯するタイミングを速くしました。

製作説明書(pdf)

回路図はこちらです。クリックすると大きくなります。

CCPの出力を受けるのはデジタルトランジスタといわれるもので、抵抗などが内蔵され、on−offの動作をさせることができます。
PICの出力の0,1,5を使ってLEDを点灯させ、その電流をPWMで制御しています。

プログラムは前掲の「ホタルモドキ」とほぼ同じですが、この動作をさせるために一部手直しをしました。また、3つのLEDをある程度動きのあるように点灯するようにしています。

ホタルもどきの点灯は、それなりに楽しめたのですが、一つ気になることがありました。それは、動きがないことです。いつも同じところで光っているので、奥行きが感じられません。
そこで、一つのPICで複数のLEDを点灯させることを考えました。
12F683には一つのCCPしかありませんので、ここから複数のLEDを点灯させることはできません。そこで、逆に、PWMの出力でトランジスタを駆動し、PICの他の端子からの出力をPWM制御することにしました。

フラットパッケージPICの書き込み


手持ちのPICライターは通常ピンタイプのものです。このライターで書き込みをするためには工夫が必要です。                 
変換基板に足をつけ、その上にフラットパッケージのPICを乗せて、指で押さえつけても書き込むことはできますが、不安定です。そこで、変換基板に足をつけたものからリード線を出し、テスト用のクリップを取り付けました。書き込み前のPICを変換基板にハンダ付けしてから、このクリップで接続すると安定した書き込みができます。アマチュア的手法ですが十分実用になっています。    

A/Dコンバータで約1秒ごとに読み取った数値を5回平均して、その値がある数値以上になったとき暗くなったと判断し、ホタルのモードに入ります。
明るいときには約9秒ごとに1/10秒のフラッシュ発光を行います。
ゲンジホタルは西日本と東日本ではその発光周期が異なり東日本の方が4秒、西日本が2.5秒ほどだそうです。また、へいけホタルは周期が短く断続的な発光だとのことでした。
そこで、いろいろな発光パターンを組み込んでしまうことにします。東日本型の長い周期の発光パターンや、もう少し短い西日本型ゲンジホタルパターン、断続的発光のヘイケホタルパターン、そして元気よく光るタイプや弱々しく光るタイプなどを織り交ぜました。
今回の製作は自然界の模倣と言うよりも、イルミネーションとして楽しむことにします。
また、同じパターンの繰り返しではつまりませんので、ある程度変化をするように工夫しました。

Picは12F683T-I/SNというフラットパッケージの小型のものを使いました。そして秋月電子通商で販売されている変換基板を使って、配線しています。
LEDは高輝度の緑色を使いました。ホタルの色に合わせて選ばれるとよいと思います。単四電池2本で動作させるので電流制限抵抗は47Ω 1/6Wを使いました。
明るさを判別するためにCdsを使っています。Cdsと抵抗で電源電圧を分圧し、Cdsの変化による電圧の変動をA/Dコンバータで読み取り、明るさを判別しています。
部品数も少ないので、この変換基板上で十分配線することができます。

変換基板の手前にある四角いものがNPNタイプのデジタルトランジスタ

少しせっかちなホタルのプログラム(Hex)

3つのLEDを点灯させる