2017年10月12日木曜日

電光掲示板



 だいぶ良くなった。写真で撮ると走査線が入ってしまうが、肉眼だとあんまり気にならない。
 肉眼で見る時は、十分に離れた位置から見る必要がある。十分に離れれば空間的なLPFとなるので、ピクセルドットが目立たない。LEDは点灯密度が狭いので、何らかのLPFを通さないと変な感じ。




 同じ写真だけど、下はガウシアンフィルタを掛けてある。LPFを通したほうが見やすい。気がする。

 いままで、コントラストを稼ごうと1bit暗いピクセルは10倍くらい暗くしてたけど、考えればそれだと低輝度bitは捨ててるのと同じで、それじゃコントラストが稼げるわけがない。ということで、とりあえず1bit減る毎に半分の点灯時間にしてみた。だいぶいい感じ。
 輝度は点灯時間で制御しているが、点灯時間はBLANK(OE)端子をLowに引っ張っている時間なので、これのパルスはタイマで作っている。分解能1usecだが、一番暗い設定では最低輝度が1usec、最高輝度が16usec、みたいな設定。一番明るいピクセルでも16msecの内で32usecしか点灯してないのに、結構明るい。
 一番明るい設定だと、たぶん800usecくらい点灯させられるので、単純計算で25倍くらい明るくできる。
 ただ、今使ってる電源が5V4A20Wなので、輝度を上げると電源の悲鳴が聞こえてくる。とりあえず5V20A100Wというバケモノみたいな電源を買ったので、それの到着待ち。100WもあればこのLEDパネル3枚くらいは接続できる。意外と少ない。ストリナのINA226ボードが有るので、マイコンからI2Cを生やせば25Aまで計測できる。それができれば消費電力の評価ができる。マイクロ秒なんてパルスを計測できるかはさておき。
 こういうモノならシャント抵抗+オシロみたいな組み合わせのほうが良いかもなぁ。シャント抵抗+LPFでマイコンのADCに突っ込むとか。

 あと、いままではパレットは256個だったが、1024個に増やしてみた。画像はPNG8bitなので256色だが、2枚目の写真は1024色で生成している。64x32pxだと2048色まで表示できるが、メモリが足りなかった。データ変換の高速化のためにパレットをビット深度分持ってるので、かなりデカい。このあたりは表現能力とRAMのトレードオフなので、いい感じの点を探す必要がある。

 無圧縮8bppPNGを10fpsで読み込めるので、アニメのOPを表示してみた。結構ちゃんと見える。コレ以上の高速化はちょっと厳しそう。RasPiでやってる人がいるけど、さすがRasPiの処理能力。向こうは900MHzだから、ウチの5.3倍か。うーん。解像度が5分の1くらいだから、こっちでも30fps出せても良いはずなんだが。。
 マイコンのアイドル率が結構高い代わりにSDカードのバス使用率がかなり高い。ちょっとした圧縮データにして、バス使用率を下げつつCPU使用率を上げればもうちょっと性能出るかも。
 あとはデータの読み込みがブロックリードでものすごい効率が悪いので、シーケンシャルリードで8KiBくらい一気に読んでしまうとか。あぁ、ここでもRAMとの戦いが。。。


 せっかく電光掲示板がある程度使えるようになったんだから、何か表示したいなぁ。でも時計くらいしか思いつかない。いちおうCANバスとか有るから、屋外に引き出した環境センサの情報を表示したりとかはできると思うんだけども。あんまり家の周りの情報は興味ないからなぁ。

0 件のコメント:

コメントを投稿