*この記事はIchigoJam Advent Calendar 2022に参加しています。
以前作った自動クリスマスツリー
www.ichigojaman.jp
の新バージョンです。
前回は発振回路を3個組み合わせて無理矢理ランダムにLEDを光らせたのですが、今回は線形帰還シフトレジスタ回路を使って疑似乱数で光らせています。
動画はこちら。
www.youtube.com
先日公開したクリスマスツリー+植木鉢基板
www.ichigojaman.jp
のように、IchigoJamに差してプログラムで光らせることはできませんが、部品数が少ないので手軽に作れます。
電子工作教室のネタとしていかがでしょうか。
回路図
電子ルーレットや電子さいころと同じく、トランジスタ2個の弛張発振回路で約1Hzのクロック信号を生成して、シフトレジスタ・74595のクロック端子へ入力します。
74595の出力が1ビットずつシフトして、LEDが光ります。
その出力の一部をXORゲート・4030を通して、74595のシリアル入力へ帰還しています(線形帰還シフトレジスタ)。
そのままの回路だと電源ON直後は74595の出力が全てLで、それらをXOR演算したシリアル入力もLのままでLEDがいつまでも光らないので、余ったXORゲート1個でVCC(=H)とのXORを取って反転させています(=NOT、インバータと同じ動作)。
基板データ
- Fusion PCB用ガーバーデータ(ZIP)(50×84mm)
*この基板データは、CC BYライセンスとします。どうぞご利用ください。
(C) 2022 Shiro Saito (https://www.ichigoaman.jp)
材料
だいたい以下の順番ではんだ付けすると作りやすいです。
- カーボン抵抗(炭素皮膜抵抗) 1/4W150kΩ (100本入) R1
- カーボン抵抗(炭素皮膜抵抗) 1/4W470Ω (100本入) R2
- カーボン抵抗(炭素皮膜抵抗) 1/4W1kΩ (100本入) R3
- スライドスイッチ 1回路2接点 基板用 横向き
- ICソケット (16P) (10個入)
- 8ビットシフトレジスタ U74HC595AG-D16-T
- ICソケット (14P) (10個入)
- 4回路XOR TC4030BP
- 絶縁ラジアルリード型積層セラミックコンデンサー 10μF25V5mmピッチ (10個入) C1,C2
- トランジスタ 2SA1015L-GR-T92-K 50V150mA (20個入) TR1
- トランジスタ 2SC1815L-GR-T92-K 60V150mA (20個入) TR2
- 抵抗内蔵3mmLED 5V 赤色 OSR5JA3134A-5V (10個入)
- 抵抗内蔵3mmLED 5V 黄色 OSY5JA3134A-5V(10個入)
- 抵抗内蔵3mmLED 5V 黄緑色 OSG8HA3134A-5V (10個入)
- 抵抗内蔵3mmLED 5V 青色 OSB5SA3134A-5V (10個入)
- LEDの色や配置はお好みで。
- 電池ボックス 単4×2本 リード線
- リード線をはんだ付けして、電池を入れて動作が確認できたら、電池ケースを両面テープで基板裏へ貼り付けると全体がコンパクトになります。
疑似乱数プログラム
今回の回路と同じ線形帰還シフトレジスタの疑似乱数プログラムをIchigoJamで作ってみました。
1秒に1ビットずつシフトして、8ビットの疑似乱数(2進数と10進数)を表示します。
10 '*LFSR 20 CLV:CLS 30 @LOOP 40 D=0 50 FOR B=7 TO 0 STEP -1 60 ?[B]; 70 C=[B]<<B 80 D=D+C 90 NEXT 100 ?"=";D 110 A=[7]^[5] 120 A=A^[4] 130 A=A^[3] 140 A=!A 150 WAIT 60 160 FOR B=7 TO 1 STEP -1 170 [B]=[B-1] 180 NEXT 190 [0]=A 200 GOTO @LOOP