★Advent Calendar 2021「IchigoJam」にエントリーしています。
IchigoJamのソケットに立てるクリスマスツリーです。クリスマスシーズンの工作にいかがでしょうか。
動画はこちら。
www.youtube.com
3bit-8bitデコーダーIC・74HC238を使って、8個のLEDを簡単なプログラムで光らせることができます。
「OUT 0」で0番のLED、「OUT 1」で1番のLED…「OUT 7」で7番のLEDが光ります。「OUT 8」で全てのLEDが消えます。
基本的に1個のLEDしか光りませんが、後述のようにプログラムでダイナミック点灯させれば、複数のLEDが光っているように見せられます。
基板
- Fusion PCB用ガーバーデータ(ZIP)(75×50mm)
*この基板データは、CC BYライセンスとします。どうぞご利用ください。
(C) 2021 Shiro Saito (https://www.ichigojaman.jp)
材料
以下の順番ではんだ付けすると作りやすいです。
- カーボン抵抗(炭素皮膜抵抗) 1/6W330Ω (100本入) ×8本
- ピンヘッダ (オスL型) 1×40 (40P) 14ピン分
- 3to8 ラインデコーダ CD74HC238E
- 3mm赤色LED 625nm 70度 OSR5JA3Z74A ×2個
- 3mm黄色LED 590nm 70度 OSY5JA3Z74A ×2個
- 3mm緑色LED 525nm 70度 OSG5TA3Z74A ×2個
- 3mm青色LED 470nm 70° OSB5YU3Z74A ×2個
- LEDは色や個数を好みで変えて構いません。光が散るスモークタイプのLEDの方が綺麗に見えます。
プログラム
ランダム点灯
0~7のLEDが1個ずつランダムに光ります。
10 OUT RND(8) 20 WAIT 60 30 GOTO 10
ダイナミック点灯
0~7の8個のLEDを高速に切り替えて光らせて、全部同時に光っているように見せます。
10 FOR L=0 TO 8 20 OUT L 30 NEXT 40 GOTO 10
※10行目は「FOR L=0 TO 7」でも良さそうなのですが、「8」(全消灯)を入れた方が高速に動作します(IchigoJamとICの動作タイミングのため?)
ルーレット
実行すると、0~7のLEDがランダムに光って止まります。
スペースキーを押すともう一度回ります。
10 FOR I=1 TO 10 20 BEEP 10,2 30 OUT RND(8) 40 WAIT 6 50 NEXT 60 IF !BTN(32) CONT 70 GOTO 10