8×8のマトリックスLED(秋月で100円)を使って、マトリックスLEDの階調表示のネタにゆっくり世代交代するライフゲーム(Conway's Game of Life)を作成。ライフゲームについては、Wikipediaを参照。
ブレッドボードで実験
主要部品は、8x8マトリックスLED、PIC16F648A、3-8デコーダ、トランジスタアレイ。
階調はPWM制御で単純にパルス幅を16分割した16階調にしたが、パルス幅が最大の60%位を越えると明るさが飽和に近くなり、変化が見えなくなってしまうので、12階調程度に落としてみた。
![]()
テレビの横に置いておき、赤外線リモコンで勝手に動作するようにしたく、受光素子を繋いでトリガにした。しかし、この素子が曲者。やたらノイズを拾うようで、信号を受光しなくてもランダムに出力が変化する。
素子への電源の前に抵抗とコンデンサで作ったフィルタを入れたりして多少は治まったが不十分。仕方なく、信号のデコードを行うことにした。赤外線リモコンのリーダ部を判断して正しい信号か見るようにしたが、マトリックスLEDのダイナミック表示に割り込みを使っているため、タイミングが取れずにデコードが上手くできない。
計算とかなりタイミングが合わないが(^ ^; 試行錯誤でなんとかノイズの影響を避けることができた(デコードは出来ていないが結果オーライ)。
共にバグがあるかも知れません。無保証です。赤外線リモコンのボタンを押すと、初期世代がランダムに設定されゆっくりと世代交代が始まる。ボタンをダブルクリックのように連続して押すと、ファストモードとして速い速度で世代交代が行われる。
![]()
動画です。途中からファストモードになります。
フォトフレームに収納
ユニバーサル基板に載せ替えて、ケース(フォトフレーム)に収めてみた。
基板の中央上に赤外線リモコン受信素子。 マトリックスLEDの左はトランジスタアレイ、下の左は3-8デコーダ、右はPIC16F648A。
フォトフレームは100円ショップで購入。写真が見える部分についていた無色透明のアクリル板の代わりにスモークグレーの半透明板をはめ込む。このスモークグレーの板も100円ショップで購入したクリップボード(厚めの下敷きに紙を挟むクリップが付いているもの)をカットして利用。
電源は携帯電話のACアダプタを使った。出力が安定化された5Vなので丁度良い。
![]()
![]()
フォトフレームに収めたところ。裏側はスモークグレーの板と基板を木ネジで固定。
![]()
![]()
動画です。途中からファストモードになります。
居間のテレビ横のスピーカに載せてみた。テレビに向けてリモコンを操作すると、ライフゲームが動きだしイルミネーションのように光る。生命がひとつもいなくなると暗くなり、次の生命誕生のきっかけ(赤外線リモコンの信号)を待つ。
テレビのチャンネルをザッピングすると、ダブルクリックと判断され、ファストモードで世代交代が行われる。
![]()
以上