ちょっとTea Time!? ドット抜け上等だあ〜!(32x16Dot Matrix LEDで遊んでみよう) 2024.12.11

秋月電子に足を伸ばして2Fを覗いてみたら、32x16ドットLEDが売っていました。
1個200円です。
でも、結構挑発的なことが書いてあります「ほぼ確実にドット抜けがあるため」と!

そりゃ、1点でも抜けたら目立つよね〜。
でも、静的な表示なら目立つかもしれませんが、スクロールしながらの動的な表示であれば、
案外目だないような気がしてきました。スクロールで使うなら、すこし横長にしたいから、3個
ほどあればいいかなあ〜。それに、どのくらいのドット抜けがあるかもすこし見てみたい
(怖いものみたさ)もあり、購入です。
 ああ、また部品箱の肥やしにならなければいいけど。

秋月の2Fではこんなものが売っていました。


なかなか挑戦的な文言が書いてあります。

データシートはどこ?

てっきり袋の中に動かし方のなんらかの資料が入っているかと思いましたが、
なにも入っていません。こりゃ、こまりました。データがなければ、ほんとに肥やしへの一本道です。

パターンも難しくなさそうだから、リバースエンジかな〜と思いましたが、
こういったものって、すでに使った人がネットに上げたりしているはずなので、
まずは検索です。
 Yahooで「秋月 ドット抜け」って調べたら、一番最初にXでの記事がでてきました.
その内容には関連資料を示したQRコードもありました.これで、なんとかなりそうです.

最悪、パターンから使用方法を解析するかな〜と思いました。


「秋月 ドット抜け」で検索したら、このページが一番にでてきました。

参考PDFはこれ → LED32x16.pdf  あって助かりました!

使用方法は比較的簡単!

この基板にはコネクタが4個ありますが、基本的に使用するのは1個だけです.
4個のうちの2個は入力、他の2個は出力です.すなわちカスケード接続して、長い表示板に
制御配線を増やすことなく増設ができるようになっています.
そして、2個の入力コネクタもピン機能は同じです。なぜ2個あるかというと、電源ラインの
強化もあるようですが、マザーとなる基板に挿したときに安定するということでしょう。
なんせ、4個のコネクタが4隅にあるので、これで差し込めばかなり安定します。

基本的に必要なデータは以下だけになりそうです。


ピンの配置です。



送信データと表示の関係です。

動作はのろま?
データはSPI(シリアルーパラレルインターフェイス)で送りますが、クロックのタイミングはかなりノンビリです。
クロックの幅は最小でも1usは必要なようです。PICOで動かすとなると、1us=125クロックですから、
かなり動作に無駄ができそうです。


クロック幅は最小で1usは必要なようです。かなりのろまだなあ〜。

とりあえず1個だけで動かしてみましょう!

中華PICOもどきと接続して動かしてみます。
面倒なので、ラッピング線で直接接続です。

簡単にPICOと接続してテストしてみます。

5x7Dotのフォントをつかって表示させてみました。
割と視認性はよいようです。しかし、これだけ表示させた場合の消費電流が486mAです。
こりゃ、でかい!

簡単に表示させてみましたが、これだけで0.5A近く電流が必要です。
こりゃ、電源はしっかりしたものでないとだめだなあ〜。



半透明のアクリル板を通すとより視認性がよくなります。



スクロールさせてみました。<動画>

ここからが本題!

これでなに作ろう?(笑

困ったなあ〜 2024.12.12

折角なので購入した3個をすべて並べて使おうと思います。
そのため、すべての基板にピンを実装です。そして接続は蛇の目基板を細長く切って、連結予定でした。
半田付けの前に、表示器側をみてみると、継目となるマトリックスLED間に隙間があります。
ちょうど、その部分だけLEDの間隔が広くなってしまうことがわかりました。
ちょっとくらいので隙間なら許容するのですが、ここまで広いと無理だなあ〜。
というのも、斜め線を引いたら、途中で段がついてしまうことは明白です。スクロールしたときに
かなり歪んでみえることになりかねません。
困ったなあ〜、どうやって連結しようかな?


購入したLED基板にすべてピンを実装です。



細長く切った蛇の目基板をつかって連結しようとしましたが....


半田する前に表をみてみると、LEDマトリックスの継目にすこし隙間ができています。


繋ぎの部分でLEDの間隔が広がってしまいます。

こりゃ、基板のエッジをつかって細く切ったフレームなどに接着するような対策になりそうです。
なにか良い材料はないかな?

とりあえず、3連結! 2024.12.14

まあ、固定する材料はあとで探すとして、まずは3連結して動かしてみましょう!
ということで、LEDをテープで固定です。
もともと、保護シールがあるようなので、その上からテープで連結しました。
そして、裏側はカスケード接続で配線です。


3つのマトリックスLEDをテープで連結しました。


カスケード接続で配線です。

表示されてみよう! あれ?

簡単な表示として、上段にアルファベット大文字、下段に小文字を表示させてみました。
問題なく表示されたかとおもいましたが、下段は本来は"a"からはじまるはずが"b"から始まっています。
なんでだろう?

上段に大文字、下段に小文字を表示させましたが、小文字がズレています。

C言語の仕様?それともコンパイラのバグ?

なぜか小文字が1文字ズレて表示されます。
なぜだろう?プログラムを何度も見直しますが、よくわかりません。
色々と試してみて、ようやく問題がわかりました。
どうやら、C言語でコメント記号である「//」のあとにバックスラッシュがあると、次の行が
コメントアウトされるようです。でも、他のコンパイラ(CCS-C)では問題なかったので、
PICOのCコンパイラのバグなんだろうか?それとも、C言語自体の仕様なのだろうか?

対策として、次の行に不要な一文と付け加えることで、問題なく表示されるようになりました。

いづれにしても、これに気付くのにかなりの時間がかかりました。


5x7フォントのデータファイルですが、バックスラッシュの後の行が無視されているようです。


次の行に、関係ない行を追加することで解決しました。


無事、問題なく表示されるようになりました。

16x16ドットでスクロール
まずはソース上の問題もわかったので、16ドットフォントも表示できるようにしました。
ついでにこれでスクロールです。
表示をよくみていると、ドット抜けの場所がわかってきます。
でも、スクロール表示だと、あまり気にならないかもです。

16x16ドットフォントでススクロール表示です。<動画>

どうやらC言語の仕様でした。 2024.12.15

C言語を使いだして40年以上が経ちますが、コメント行のバックスラッシュの罠をしったのは初めてでした。
といっても、C言語を使いだした頃は「//」以降はコメントアウトされる機能はありませんでしたが。



結局のところドット抜けは?

ちょっと怖いけど、全点灯させてみました。まったく点灯していないわけではなく、微かに点灯している
あるいは微妙な点灯をしている箇所が全部で6箇所ほどありました。なぜか、上下端に集中しています。
逆に、この部分を使わなければいいのかもしれません。


部分的に点灯が極めて弱いところが6箇所ほどありました。

電圧は低めがいいようです

全点灯時の消費電流も測定しておきましょう。


5Vだと約2.6Aの消費電流です。


ちょっと電圧を落とすと消費電流がかなり減ります。


4Vのときで1.4A


3.3Vまで落とすと0.3A程度になります。


3.3Vで駆動すると、だいぶ暗くなりますが視認性は問題なさそうです(ディジカメの感度補正がかかるので写真ではわかりにくですが)。

ここからが本題!(その2)

これでなに作ろう?(笑

(つづく?)