IchigoJam(8) <8x8LED>
IchigoJamだけでダイナミック表示ができたので8x8マトリクスLEDを点けてみた。
IchigoJamの出力ポートはOUT1~OUT11の11本しかないので、OUT1~OUT8をマトリクスLEDのR1~R8に接続して、カラム側は74HC138(3-8Decoder)を使ってOUT9~OUT11でC1~C8をドライブする。R1~R8は0Ωに(直結)した。LEDが点灯する数によって明るさが違う。
C1~C7を駆動する74HC138の出力は負論理なので、例えば入力が"101"ならば出力Y4に"L"が出力される。したがってR1~R7は正論理で駆動すればよい。
例えば、2列目に「○●○●●○●○」(C1→C8、○ON、●OFF)のパターンを表示する場合、OUT #2A5 とする。
とりあえずテストプログラムを書いてみた。4つのパターンで点灯する。
- 順に点灯
- 渦巻き
- ランダム
- 反射
1 '8x8LED TEST |
↑リンク先に Ichigo8x8LEDtest.avi (999.2K)
↑はLEDの同時点灯数1個だから簡単だ。結構簡単にできたので 気をよくして、パターンを表示させてみた。
1 '8x8LED display |
1200行から1250行までが表示パターン。
例えば、1200行は、配列[0]~[7]に"Y"のパターンを格納している。
[0][1][2][3][4][5][6][7]
・ ○ ○ ・ ・ ・ ・ ○ 01h
・ ○ ○ ・ ・ ・ ・ ○ 02h
・ ・ ○ ○ ・ ・ ○ ・ 04h
・ ・ ○ ○ ○ ・ ○ ・ 08h
・ ・ ・ ○ ○ ○ ・ ・ 10h
・ ・ ・ ・ ○ ○ ・ ・ 20h
・ ・ ・ ・ ○ ○ ・ ・ 30h
・ ・ ・ ・ ○ ○ ・ ・ 40h
00 03 0F 1C F8 F0 0C 03
のように格納してある。
メインループ(100行110行)を、どれだけ速く書くかでチラつきかたが変わってくる。(もう少し速くなるかも) 効果があるのは行数を減らすことだった。
↑リンク先に Ichigo8x8LEDdisp.avi (900.5K)
さすがにチラつくなあ。ビデオではわからないけどLEDの点灯数で明るさが違うのが、はっきり分かる。
メインループを早くするアイディア
- 74HC138(3-8Decoder)でなく74HC4017(JohnsonCounter)を使う
- 配列アクセスをPOKEに変える
くらいかなあ。
タイマー割り込みが欲しい。
- IchigoJam(2015/03/30)
- IchigoJam BASICのFOR/NEXT(2015/04/05)
- IchigoJam BASICのFOR/NEXT(2)(2015/04/07)
- IchigoJam(2) -IchigoJamそっくりさんを作る-(2015/05/17)
- IchigoJam(3) -超小型ARMマイコン基板- (2015/05/)
- IchigoJam(4) -モリダンプ・プログラム-(2015/06/01)
- IchigoJam(5) -HDSP0670を使った4digit clock-(2015/09/24)
- IchigoJam(6) <4桁時計ダイナミック表示>(2015/10/13)
- IchigoJam(7) <OUT8~OUT11使用 4桁時計ダイナミック表示>(2015/10/19)
- IchigoJam,(8) <8x8LED>
- IchigoJam(9) <8x8LEDで8Qeen問題>(2015/11/10)
- IchigoJam(10) <8x8LEDを光センサーにする>(2015/11/17)
- IchigoJam(10) <LED&KEY>(2018/04/08)
- IchigoJam(11) <LED&KEYを機械語で>(2018/04/15)
« 勉強会 | トップページ | レバレッジ時間術 »
「CPUボード」カテゴリの記事
- 久々の物欲(2022.05.21)
- stcgal <質問に答える>(2021.02.21)
- micro:bitで跳び上がると表示する名札 <ウケ狙い>(2020.11.18)
- micro:bit <BLEが乗った低価格マイコンボード>(2020.09.15)
- Google日本語モールス入力(2020.05.01)
「IchigoJam」カテゴリの記事
- IchigoJam(11) <LED&KEYを機械語で>(2018.04.15)
- IchigoJam(10) <LED&KEY>(2018.04.08)
- IchigoJam(10) <8x8LEDを光センサーにする>(2015.11.17)
- IchigoJam(9) <8x8LEDで8Qeen問題>(2015.11.10)
- IchigoJam(8) <8x8LED>(2015.11.04)
「プログラミング」カテゴリの記事
- GMC-4で動く3連ナイトライダー(2022.12.30)
- プログラミング言語ランキング(2022.11.19)
- AWSでサービス構築(2022.05.29)
- Excelの配列式(2022.01.06)
- ローコード・プログラミング(2021.11.07)
コメント
« 勉強会 | トップページ | レバレッジ時間術 »
通りすがりの物です。
8x8のLEDマトリックスの動作面白いと思いました。
ドライブ方法はよく使われるダイナミック点灯方式だと思いますが、LED1個1個しか点灯させないのであれば、74138と74238を1個ずつ使えばI/Oポートが空くと思います。
プログラムがめんどくさくなりますが、縦横全て1LEDのみの点灯で1表示64回点灯させれば、文字なんかも表示できるのではないでしょうか??
そうすれば、明るさが均一になるかと・・・・
744017をお考えのようですが、Up/DownカウンターIC・UpカウンターICは如何でしょうか??
すぐに型番が出てこないのが、申し訳ないのですけど・・・
人それぞれ好みがありますから、お節介は程々にしておきます。
最後に、私もichigojamには興味があり(特にBasicだから)、2キット購入したのですが、色々あってまだ組み立てていません。
今後のプログラミングの参考にさせて頂きます。 m(_ _)m
投稿: pc_net_sp | 2015年11月 8日 (日) 12時34分
通りすがりさんはじめまして。
74138と74238を使うと6bitで表示できるのですが、1画面分を64回のOUT命令で表示すると、1画面分の表示に時間がかかりすぎて8x8のイメージとして見えないのではないかと思います。
明るさを均一にするには抵抗を入れると良いのですが横着をしています。
点灯するLEDの数に応じて点灯時間を変えると明るさが均一になるのですがBASICではチラつきが増えそうです。
投稿: Yoshi | 2015年11月 9日 (月) 23時46分
お返事有難う御座います。
またお節介ですが・・・
R1~R8(0Ω)をCRD(5~15mA)にしても、明るさは均一にならないでしょうか??
LEDの点灯数にあわせて点灯時間を調整するのは、プログラムが複雑になると思いますから、ハードで解決する方が楽だとは思うのです。
訂正:
マトリックスLEDの点灯方式は、7セグLEDダイナミック表示(点灯)方式と同じと思いますので、7セグのコモンの方には0Ωで、非コモンの方にCRDを入れれば、明るさが一定する気がします。
あと気になったのが、R1~R8(0Ω)と回路図はなっていますが、一般的な赤色LEDはVfは2.5vなので15mA:56Ω/10mA:82Ω/5mA:160Ωにした方が、マトリックスLEDをいためないと思います。せめて75Ωくらいを入れた方が・・・
-------
現在、正月に子供用玩具のプレゼントとして、IchigoJamを勉強中です。
改めて、プログラミングの参考にさせて頂きます。
私は、PICしか使っていなくて、ほとんどPIC Basicでのプログラミング経験しかありません。
なので、IchigoJam Basicにスゴく興味を持ちました。
あと最近、PICAXEもBasicなので今まで使っていたPIC Basicより使いやすい事を願って、デモボードを自作する予定です。
8/14/20&18&28/40ピン用の3種類を作成予定です。 40ピンは秋月電子さんではまだ取り扱っていないので、当分は8~28ピンで勉強ですね!!
最後まで読んで頂きまして有難う御座いました。
投稿: pc_net_sp | 2015年11月13日 (金) 09時25分
pc_net_spさん
CRDを使うと明るさは均一になると思います。ハードで実現するかソフトで実現するか考えるのは楽しいですね。BASICだと処理が間に合わなくなるのでハードで実現するしかないことが多いです。
R1~R8はLPC1114の出力抵抗(≒100Ω)と74HC139の出力抵抗(≒33Ω)をあてにしています。
https://yoshi-s.cocolog-nifty.com/cpu/2015/10/ichigojam7-9771.html
に書いています。よろしければご覧ください。
PIC AEXのマニュアルをざっと見たのですがIchigoJamよりずいぶん高機能ですね。
IchigoJamはビデオ出力も1chipで済ませてるのでキーボードとテレビを繋ぐとすぐ使えますが、PIC AEXはパソコンが必要なんですね。このあたりは、目的次第ということでしょうか。
投稿: Yoshi | 2015年11月13日 (金) 23時53分