●19991205 ホタルチッククリスマスツリー


【20020913 追加】ソースなどダウンロード可になりました


【思い出のツリー】

エレキ武装ミニツリー

 我が家のツリーは高さ25cmぐらいのミニマムサイズで5年ぐらい前に購入したものである。

このツリーは小さすぎるので当然イルミ電球など標準装備していなかった。

 5年前、当時独身であった私は当時のカノジョである妻に私の高度な電子工作技術を披露するため、綺麗なイルミネーションのクリスマスツリーを製作を実行した。
そのイルミはゲートICで非安定マルチバイブレータ回路を形成し、ブリンク機能を作った。
ツリーにはLED32個を仕込んだ。
しかし、綿密に計算したはずのCR時定数を誤り、ブリンクの周期が5〜20Hzぐらいと、異常に速い点滅となってしまった。(速すぎて暗く見えていた)
妻に『速すぎるぅー』と笑われてしまい、オーディーは『コレガ自作の醍醐味だ!』などとじゃれた記憶がよみがえる...

 おっと、昔の甘い思い出にふけってしまった。(そういえば妻は今と昔で全然違うなー)

そして今年もツリーを飾る季節がやってきた。

5年前に製作したこのツリー、断線で一部のLEDが光らなくなってしまったので、

修理ついでにイルミをバージョンアップすることにした。

LEDの光というのは、立ち上がり、立ち下がりが速いので、無機質で暖かみが少なく感じる。

そこで光りかたを、徐徐に輝度を上げ下げして、ちょうど蛍のような感じにしようと思った。

 

LEDの輝度を変えるには電流を変えればよいのだが、

蛍のような光り方をアナログ回路でやるとなると、コンデンサの充放電を利用する他考えられない。

・・・時定数の悪夢がよぎってしまった私には、アナログ回路はパスすることにした。

(C級電子工作マニアにはこのへんの調整が面倒臭くてやってられるかーという感じ)

 

今回はマイコンを使って輝度コントロールすることに決定した。

マイコンで電流の実効値を調整する。

エレキに強い向きにはお察しかと思うが、マイコンでPWM波形を作り電流実効値を変化させ、

LEDの輝度を変化させるのである。

マイコンならば、ソフトさえうまく書けば必ず動く。

 

【製作】

マイコンはPIC16F84を使う。秋月に380円で売っている。

ライティングキットも秋月製を利用している。安価でしかもおまけが付いてくる。
(12C50Xを使ったあるソフトのソースコードまで付いてきたのには驚いてしまった。)

16F84はフラッシュメモリ搭載で何回でも書き換えOKだ。バグっても恐れることはない。

コイツは10MHzで動くから、フリッカが目立たない程度のPWM波形を作る仕事は余裕シャクシャクでこなす。

マイコンソフトの概要:

メインループ50回をLED出力の1周期として、デューティ比変数よりメインループ数が多ければLEDをONにする。逆の場合はOffにする。
ループ50回超えたらリセットする。

デューティ比変数はインクリメントさせ、ある値になると反対にデクリメントさせる。これを繰り返す。

簡単なロジックでしょ。

 

ハードはもっと簡単だ。

単純。細かいことはソフトにやらせよう。

PWM波形は、明暗タイミングをずらしたものをRB0〜8ポートで8種類出力している。

LEDには最大10mA程度流している。

制御基板

ツリーと制御基板


ツリーにフラットケーブルはミスマッチだが、基板とケーブルは後ろに隠すから問題ない。



【完成】

クリスマスツリーから出たフラットケーブルがミスマッチであるが、期待通りホタルチックな発光となった。
(劣悪な映像であまり分からないかもしれません。RealPlayerで見て下さい。)


作品を妻に見てもらったが、特に反応は無かった。

(コレを作る時間があったら子供の面倒を見て欲しい様子だ)


来年のクリスマスはフラッシュを書き換えれば違った発光パタンが楽しめる。

オーディーはプロのソフト屋であるが、アセンブリ言語は久しぶりで、Web上に載せるのはちょいと恥ずかしい。別に大したものではないが、ソースコード・バイナリ等が欲しい方はメールを。


【20020913 追加】
ソフトがダウンロードできます。こんなんで良ければ使ってください。
    ソース(ctree.asm:8KB)   HEXファイル(ctree.hex:2KB)
・上記の回路ですが、そのままだとノイズをまき散らします。
  近くにコードレス電話とか、AMラジオがあるとプーンとノイズが入りますのでご注意を。

オーディーへのMail

ホーム