製作物

8x8x2色ドットマトリクスLEDの制御基板を作ってみた

投稿日:2023-12-19 更新日:

今回は秋月電子で販売されているこちらの8x8x2色ドットマトリクスLEDを4個並べて16x16x2色 のLEDを制御できる基板を作成しました。

 

なおこの記事はPCBGOGOにスポンサーしていただいております。

制御IC TM1640

ドットマトリクスLEDはたくさんのLEDがあり制御が大変です。そこで今回はTM1640という制御ICを使用しました。

TM1640は カソードコモン の7セグLEDを最大16個制御できるICで、秋月電子などで購入できます。7セグドライバですが、配線としてはドットマトリクスLEDでも変わらないので使用することができます。ただし極性に注意してください。

 

プリント基板の作成

TM1640 1つで8x8x2色ドットマトリクスLEDを1つ制御できるので、このセットを4つまとめた基板を作成しました。TM1640との通信はシリアルインターフェースですが、4つのICとの通信を切り替えるために3to8ラインデコーダ74HC138を用いました。

回路図の一部を紹介します。

回路図

中央のTM1640と右のドットマトリクスLEDの組が全部で4つあります。4つのTM1640に対して、シリアルのデータ線はすべて繋がっていて、外部のピンに繋がっています。一方クロック線はラインデコーダの出力に繋がっていて、外部のピンからのクロックがどれか1つのTM1640に送られるようになっています。

 

ラインデコーダの接続についてもう少し詳しく説明します。74HC138の真理値表は以下のようになっています。

74HC138真理値表

Y4 ~ Y7 は使用しないのでCはGNDに接続しています。G1は外部ピンにつなげていて、これがHの間だけ有効になります。これはモジュールをいくつもつなげた場合に通信するモジュールを選択できるようにするためです。

G2BもGNDに接続しているので、AとBにより選択されるラインの出力は G2Aの値と一致します。

このようにしてラインデコーダでクロック線を分岐させることができました。

 

PCBGOGOで基板発注

KiCADで作成した基板がこちらです。

基板設計図

ガーバーファイルを出力し、PCBGOGOのサイトにアップロードして発注します。

今回はスポンサーしていただいたので私は利用していませんが、PCBGOGOでは新規ユーザーに対して PCB $1 & 送料無料 のキャンペーンを実施しているので、気になる方は利用してみてはいかがでしょうか。

 

注文から1週間もかからずに届いた基板がこちらです。今回は白色の基板にしてみました。

印刷の品質などは全然問題なさそうです。

 

部品実装と動作確認

部品を実装したのがこちらの写真になります。白い基板だとはんだのヤニが目立つので、フラックス洗浄剤などできれいにした方がよさそうです。

ちなみにラインデコーダの配線でミスがあったのでこのように無理やり修正しました。(先の回路図は修正後のものです。)

 

動作確認としてサンプルデータを作ってPICで制御してみました。光の拡散用にキムワイプを巻いてみました。


一度にたくさんのLEDを点灯させると表示が不安定になったりしてもう少し実験が必要そうなので、データの作成やPICのプログラムなどについてはまた次回にまとめたいと思います。

 

おわりに

今回はPCBGOGOで基板を作成してドットマトリクスLEDを制御するモジュールを作りました。このモジュールを複数作成して駅の電光掲示板を再現したりしてみたいと思っています。

最後までご覧いただきありがとうございました。次回の記事もお楽しみにしてください。

-製作物

執筆者:


  1. きゃん より:

    はじめまして。TM1640の用法について伺いたく、コメントしました。

    TM1640のデータシートに軽く目を通したところ、こちらのICはカソードコモンの7セグをGRIDx→SEGxの向きに電流を流して駆動することを目的としていると認識しています。
    一方こちらで掲載されておりました回路図を拝見しますと、SEGxをソース、GRIDxをシンクとする設計に見受けたのですが、そのような認識で正しいでしょうか。
    もしそのような用法をする場合、GRIDxをLOW、SEGyをHIGHとすれば(x, y)のLEDを点灯させることができるのでしょうか。

    お手数ですが、以上ご教示いただけると誠に幸いでございます。

    • きっちー より:

      > TM1640のデータシートに軽く目を通したところ、こちらのICはカソードコモンの7セグをGRIDx→SEGxの向きに電流を流して駆動することを目的としていると認識しています。
      この認識が間違っていませんか?
      まず前提としてLEDにはアノード→カソードの向きに電流が流れます。
      カソードコモンとはGRIDがカソードということなので、電流はSEG→GRIDの方向に流れます。

      実際データシートでは Functions of the pins の項目にSEGはP tube open drain, GRIDはN tube open drainと記載されているので、SEGがソース、GRIDがシンクになるはずです。
      Display cycleの項目の図においても、GRIDが表示タイミングでLowになっていることからGRIDがシンクであると理解できます。(オープンドレインならLowでない部分がHighのように描かれているこの図は不適切な気がしますが)

      • きゃん より:

        きっちーさん

        コメントへのお返事ありがとうございます。
        ご指摘の通り、GRIDとSEGの極性の認識が逆でした。ありがとうございました。

        もう一点、こちらの記事で
        > 一度にたくさんのLEDを点灯させると表示が不安定になったりして
        とおっしゃられておりましたが、その後なにか対策を取られましたでしょうか。

        • きっちー より:

          > 一度にたくさんのLEDを点灯させると表示が不安定になったりして
          この件ですが、最近別の作品で同じLED、LEDドライバを使用したのですが、たくさんつけても特に問題がなかったのでこの時の電源か回路が悪かったのかなと思います。
          ICとしての性能とかは多分問題ないと思います。

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

1セル1基板のアナログライフゲーム作ってみた vol.3

前々回でライフゲーム基板、前回でクロックコントローラーを制作しました。 第3回の今回は関連アイテムを作って完成となります。 前々回、前回をまだご覧になっていない方は是非そちらを先にご覧ください。htt …

アナログライフゲーム2.0を作りました

以前にライフゲームを抵抗とコンパレータを使って計算する「アナログライフゲーム」という作品を作りました。 自分の作品の中でもお気に入りの作品で、何度かイベントにも展示したりしたのですが、この度バージョン …

【Pico W】QR Clock ver.2を作ってみた【ハード編】

以前にマイクロQRコードで時刻を表示する時計を作ったのですが(記事書いてなかった)、スマホ標準のQRコード読み取り機能ではマイクロQRコードに対応していなくて、展示会でお客さんに読み取って貰えないとい …

【PIC】圧電素子を使って2000円で電子マリンバを作ってみた

前回の記事で圧電素子の使い方について紹介したので、今回はその応用編として電子マリンバを作ってみました。 以前ネットで電子マリンバなるものを見つけたとき、めちゃくちゃ欲しいと思ったんですが、ウン十万とい …

【Pico W】QR Clock ver.2を作ってみた【ソフト編】

前回の記事でQR Clock ver.2のハードウェアを紹介しました。今回はソフトウェアについて紹介していきます。 マイコンにはRaspberry Pi Pico Wを使用しています。ピン数が多いこと …