8×8のLEDマトリックスを4個並べた名札を作ってみました。
基板の右半分はIchigoJam-R互換機で、キーボードとモニタをつなげれば普通のIchigoJamとしてプログラミングできます。
基板の穴にひもを通すと、首から下げられます。
電源は裏面の単3電池×3本です。
以前にも同様の名札を作ったのですが、
www.ichigojaman.jp
その時はIchigoJam Sと同じマイコン・LPC1114を5個使った力技でした。
今回はIchigoJam-R互換機とロジックIC回路を組み合わせて、マイコン1個だけでLEDマトリックス4個を制御しています。
以前に出展したデザインフェスタで首からLEDマトリックス名札を下げていたのですが、お客さんから「その名札欲しい!」と何度も言われたので、なるべく簡単に作れそうな名札を…と思って開発しました。
回路図
回路は、以前作ったカウントダウンタイマーの応用です。
- IchigoJam-RのOUT1~8で、8ビットの表示データをLEDマトリックスへ出力します。
- OUT9~11の3ビット出力で、3to8デコーダIC・74138を制御して、LEDマトリックスの表示列を決めます。
- 4個のLEDマトリックスのスキャンは、10進カウンタIC・4017の出力Q0~Q3を使って、4個の74138の内1個をイネーブルにしています。74138が最初のLEDマトリックスを0列(Y0)~7列(Y7)までスキャンすると(シンク出力なのでそれぞれのYnの出力がH→Lへ落ちる)、出力Y7はダイオード4個のANDゲートを通じて4017のクロック入力へつながっているので、4017のカウントが1つ進んで次のLEDマトリックスの表示へ進みます。4個目のLEDマトリックスのY7までスキャンされると4017のカウントが進んでQ4がL→Hになりますが、そのままリセット入力につながっているので出力がQ0に戻り、1個目のLEDマトリックスの表示へ戻ります。
10進カウンタで切り替えているので、同じ仕組みで10個までのLEDマトリックスを制御できます(IchigoJam-R互換機のプログラム速度が間に合えば、ですが) - 4017のリセット入力はIchigoJam-RのSOUND出力にもつながっているので、表示プログラムの最初でBEEPを鳴らすと、4017にリセットがかかって1個目のLEDマトリックスの順番になります。
基板データ
- Fusion PCB用ガーバーデータ(ZIP)(215×50mm)
*基板サイズが大きいので製作費・送料が上がります。ご注意ください。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。
(C) 2023 Shiro Saito (https://www.ichigoaman.jp)
材料
- マイコン・GD32VF103CBT6
- 現在入手困難です(^_^;)
- カーボン抵抗(炭素皮膜抵抗) 1/6W10kΩ (100本入) R5
- クリスタル(水晶発振子) 8MHz
- セラミックコンデンサー 15pF50V CH アキシャルリード (10本入) C3、C4
- シングルピンソケット (低メス) 1×14 (14P) ※10ピンにカット
↑ここまでのはんだ付けで、ファームウェア書き込み可能↑
- カーボン抵抗(炭素皮膜抵抗) 1/6W470Ω (100本入) R1
- カーボン抵抗(炭素皮膜抵抗) 1/6W100Ω (100本入) R2
- スライドスイッチ 1回路2接点 基板用 横向き
- マイクロUSBコネクタ 電源供給用
- 基板取付用USBコネクタ(Aタイプ メス)
- ★微盟★低消費電力LDOレギュレータ(2個入) ME6209 3.3V(aitendo)
- 絶縁ラジアルリード型積層セラミックコンデンサー 10μF25V5mmピッチ (10個入) C1、C2
- タクトスイッチ(黒色)
- 基板用RCAジャック(黄)
- 圧電スピーカー(圧電サウンダ)(13mm)PKM13EPYH4000-A0
↑ここまでIchigoJam-R互換機部分↑
- カーボン抵抗(炭素皮膜抵抗) 1/6W1kΩ (100本入) R10
- 整流用ショットキーダイオード 40V1A 1S4 (10本入) D0~D4
- リード型積層セラミックコンデンサー 0.1μF50V F 2.54mm (10個入) C10、C20、C30、C40
- ICソケット (16P) (10個入) ×5個
- 緑色ドットマトリクスLED 8×8ドット OSL641501-AG ×4個
- LEDマトリックスは他の色に換えてもいいですが、緑色が一番明るくて見やすいです。高速スキャンでダイナミック表示をしているので、なるべく明るい品を選ぶと良いです。
- 電池ボックス 単3×3本 リード線・たて一列
↑はんだ付けここまで↑
プログラム0:テストプログラム
起動すると、ビープ音が鳴った後、LEDマトリックスのLEDが1個ずつ点灯して、行方向→列方向→次のマトリックスへ移動します。
ちゃんと全部点灯するか確認してください。点灯しないLEDがあったら、部品のはんだ付けを確認してください。
10 'TEST 20 FOR P=1 TO 11 30 OUT P,0 40 NEXT 50 BEEP 60 FOR Z=1 TO 4 70 FOR Y=0 TO 7 80 FOR X=0 TO 7 90 M=1<<X 100 OUT M+Y<<8 110 WAIT 4 120 NEXT 130 NEXT 140 NEXT 150 GOTO 60
プログラム1:4文字表示
4文字の文字列をLEDマトリックスに表示するプログラムです。
20行目の文字列を変えると、表示される文字が変わります。
10 @ARUN:'*NAME 20 S="サイトウ" 30 VIDEO 0 40 FOR P=1 TO 11 50 OUT P,0 60 NEXT 70 BEEP 80 FOR C=0 TO 3 90 A=8*PEEK(S+C) 100 FOR B=0 TO 7 110 [C*8+B]=PEEK(A+B) 120 NEXT 130 NEXT 140 WAIT 10 150 FOR A=0 TO 24 STEP 8 160 FOR Y=0 TO 7 170 OUT [A+Y]+Y<<8 180 NEXT 190 NEXT 200 GOTO 150