ホーム -> 電気工作 -> ケースに入れた自作機器 -> 16×16LED 2色時計

16×16LED 2色時計 制作メモ


回路図(旧1) 基板図(旧1) 回路図 基板図 DIP変換基板上のPCA9536 Elecrowの荷物 生基板表 生基板裏 基板表(部品付) 基板裏(部品付) 基板表(丸ピンICソケット ( 1P)を半田付) 基板裏(丸ピンICソケット ( 1P)を半田付) セラロック両端の半田付け失敗 緑フォント表示(照明なし) 赤フォント表示(照明なし) 緑赤の同時フォント表示(照明なし) 緑フォント表示(照明あり)
  • 発想 2024年2月11日
    • 16×16の2色LED(赤、緑)が有ったのでこれを使って時計を作ってみたい。壁かけで作りたい。

  • 構想 2024年2月11日
    • 2月11日
      16×16なので、時分、月日、年は それぞれ別々の画面として表示する。
      秒表示は、月日の時に外周を1ドットずつ動かしていけばちょうど60秒になるので
      色を変えて見やすくする。
      スイッチは、セット、セレクト、リセットの三つで、RTCは電池のバックアップをする。
      明るさ調整用のCdsは無し。(明るさ調整なし)。 赤外線リモコン用に受信信号1つ

  • 実装についての考え
    • 2月11日

      16×16LEDは端子の数として48本有るので、単純な構成で考えればCPUのI/O信号の数は 48(16×16)+2(スイッチ)+1(リセット)+2(RTC用iic)+1(赤外線)=54本が最低限必要になる
      動作確認等の為に、単LEDを最低1個、出来れば3個ぐらい欲しい。
      そうすると、57本になる。

      使えるCPUとして、AVRmega系統とすると、mega2560は余裕も持って使える。
      mega64は最低限はピッタリ54本で使えるが、単LEDが付けられない。

      なるべく厚さを抑えたいのでLEDを直付けすれば良いのだが、それだと保守に困るのでソケットを使う事になる。 ICソケットと同じ物でバラの物を面一まで埋め込んで半田付けしたらどうだろうか?

      16×16LED表面にはスモークのアクリルを取り付けたいが、 取り付けるとアクリルの取り付け部分の為に基板を大きくする必要が有る。
      上下に5mmずつ位は大きくして、赤外線受光部分とか、スイッチ部分にも使えばよいだろう。
      と言う事で、基板の大きさは64×74でプラス壁掛け用の穴部分と言う事になる。

    • 2月15日

      以前、この16×16の2色LEDを使った鬼ごっこの回路図を見たら、書き込み信号はLEDのドライブ信号とパラに繋いでいた。 これで問題は起きていない。書き込み信号が入って来ても、ダイオードなのでLEDに電流が流れないので影響がない....?。
      なので、信号線の数が2本減るので、mega64で設計を進める。

    • 2月16日

      I/Oエキスパンダ―(例えばPCA9536)というのが有るので、 何ビットの物を使うかはまだこれからだが、 スイッチと単LEDはこれを使う設計にしたい。20~50mSに1回入出力をすれば良いだろう。 或いは、入力は割込みを使っても良いだろう。

    • 2月17日

      大きなI/Oエキスパンダ―はいらないので4ビットの物を使い、単LEDをこれに充てる事にする。 パッケージについては基板図を描く時に、スペースか、組みやすさか、の兼ね合いになる。
      スイッチはCPUのポートを使う事にする。
      IICのアドレスはRTCとはかち合わないので使える。今回は使わないが秋月のOLEDともかち合わない。

      この様な小さなI/Oエキスパンダーが有るので、これからの設計で2ビット足りないとか、3ビット足りないなどの時に これらを使う事を考えに入れる必要が有る。IIC(TWI)が使える前提だが。

    • 2月19日

      I/Oエキスパンダ―はマルツ(digikey)で331円のPCA9536DR(SOIC)にする。

      赤外線受光器の信号を忘れていた。スイッチ1つをI/Oエキスパンダーに移動し、 16×16LEDの信号一つをそのスイッチで使っていた所に移す。

    • 2月21日
      アクリルで作るケースの構想は
      • 16x16ドットLEDにはスモークのアクリルをかぶせる。
      • そのアクリルは4~8か所を1.4Mのビスで止める。
      • 壁に当たる部分は、基板の上と下で別れ、 上側の壁は3mmのアクリルで注文し、その時は、スイッチ、コネクタ等の部分は窓を開ける。
      • その壁は、1.4Mのビスで基板に取り付ける。その為のタップ用の穴は注文時に加工できないので 出来上がってから、自分で下穴を空けて、タップを立てる。
      • 但し、穴位置の目安になる位置には、すこし凹みを付ける加工をする。(長手方向だけで、厚み方向は出来ない)
      • 下側の壁は、5mm厚のアクリルで、4方が壁になる様に、くり抜く様に注文する。
      • 基板とは2Mのビスで止め、注文時にそのタップ用の2Mの下穴も空け、底板取り付け用の1.4Mの下穴も空ける。
      • 底板としては、16x16ドットLEDに付けるスモークのアクリルを使う。
      • その底板には、吊り下げ用のフック等を自分で追加工して取り付ける。

  • 現状
    • 2月11日

      以前にも、鬼ごっこで使ったことが有るが、LT-501M1のピッタリのはデータシートは無いが、 多分ほとんど同じLT501EDが有るのでデータをダウンロードした。
      column:cathord row:anord なので手持ちの5x7のフォントデータとの相性を見て、取り付け位置をよく考える必要が有る。

    • 2月15日

      1ピンのソケットを深く取り付ける28ピンDILライブラリーを作って、うまく行ったので、 深く埋める物で、16×16LEDのライブラリーを作れば、高さを抑える事が出来る

      取りあえず回路図は書いた?。
      割込み信号を忘れていた。
      結果的に スイッチは一つ、単LEDも一つになった。
      操作的にはスイッチが一つと言うのが、使えなくは無いが、ちょっときつい。

    • 2月16日

      I/Oエキスパンダ―というのが有る。これを使えば、TWIバスでスイッチが増やせそう。 8ピンTSSOPで4ビットの物(PCA9536DP(NXP))が5個セットで1181円(RS)で有る。 秋月にも有るが28DIPで16ビットの物(MCP23017)が190円なので使いたいが場所の問題がある。 こう言う物を使えば、スイッチだけでなく、単LEDも増やせる。
      ダイナミック表示とかには苦しいと思うが、人間相手の物だったら充分使える。
      マルツにも16ピンTSSOPで8ビットの物(PCA9554APW)260円で有る。
      マルツではもう一つ、8ピンSOICで4ビットの物(PCA9536DR(TI))と
      8ピンVSSOPで4ビットの物(PCA9536DGKR(TI))が324.29円で有る。

    • 2月18日

      4ビットのI/Oエキスパンダーの「PCA9536」のSOIC、TSSOP、VSSOPのライブラリーをEagleで作る事にする。
      NXPのTSSOPと、TIのVSSOPは同じパターンで良いみたい。但し、今までのライブラリーには無いみたい。
      取りあえず、VSSOPとTSSOP(同じパターンなので)は作った。

    • 2月19日

      4ビットのI/Oエキスパンダーの「PCA9536」のSOICのライブラリーも作った。
      回路図を書いて、基板図も出来たが、何とか繋がったという状態で、 まだまだ引き回しとか、シルク位置とか、を細かく見る必要が有る。

    • 2月20日

      回路図(旧1)を書いた。 基板図(旧1)も有る程度見直したので動くと思う物が出来た

    • 2月21日

      アクリルでケースを作る事を考えながら、 回路図基板図を修正した。(主に基板図)
      ガバーバーファイルも作った。

    • 2月22日

      部品表も作った

    • 3月20日

      I/Oエキスパンダー等をマルツ(Digi key)に注文した。実験をしてみたい。

    • 3月27日

      I/Oエキスパンダー等が来た。

    • 4月18日

      ブレッドボードで実験をする為に、PCA9536Dを8ピンDIPの変換基板に付けた。

    • 2024年7月24日

      ElecrowにPCBを注文した。 午後には「in-production」になった

    • 2024年7月29日

      Elecrowから発送したとメールが来た。 配送状況を調べたら、既に、佐川急便で配達中になっている。 速すぎる(メールが遅い?)
      夕方には荷物が配達された。 (いつもの宅配便みたいな伝票は貼っていなかった)
      基板(

    • 2024年8月7日

      在庫部品を調べ、足りない物を、「秋月」、「マルツ」、「ヒロスギネット」に注文した。
      「廣杉計器」は個人で注文できなくなったので、「ヒロスギネット」になったが、比べると結構高い。

    • 2024年8月31日

      部品を取り付け始めたが、秋月の丸ピンICソケット ( 1P)が足りない。
      他の基板でも使っているが、全体の数として注文数が少なかったようだ。
      他の基板の組立も進めて、不足品が有る程度まとまった所で再注文する事にする。

      16x16ドットLED以外は部品を全て取り付けた。 基板(

    • 2024年9月13日

      秋月に追加注文していたの丸ピンICソケット ( 1P)が入った。これで組立が終了するはず。

    • 2024年9月14日

      丸ピンICソケット ( 1P)を半田付けした。 (

    • 2024年9月16日

      USBtype-Cから電源を入れたら、緑LEDが点灯したので、電源系統は大丈夫だろう。
      6Pの書き込みコネクタにISPを接続したが、シグネチャーが読めない。何か おかしい所が有るみたい。 その時、緑LEDが点灯しているので、電源ははいっている。
      --> 16x16LEDを外せば、シグネチャー、ヒューズビットが読めた。良しとする

      スタティック表示で16x16の緑1ドットを表示出来た。
      基本的には動いていると思うが、書き込む時にLEDを外すのは面倒。 SPIの信号を16x16LEDに使っているのがまずいのは分かっているが、何とかならないか...。
      実験した結果、2本の信号(MISO、MOSI)の内、1本(MISO)だけ外せば、書き込みは出来た。 オシロで見た訳では無いので、信号電圧が十分とか、細かい事はわからないが、1本だけスイッチを付ければ、 何とかなりそう。
      電源を書き込みアダプタでなく、外部から電源を入れたら、残りの1本(MISO)の接続したままで 書き込みが出来た。電源が強ければ、強引に書き込めるみたい。多分信号のスレッショルド電圧の 問題だと思う。取りあえず、このままでいく(1本は外して書き込む方式)

      取りあえず、一段コネクタをかませ、書き込み信号と重複するピンを接続しない様にした。 これだと書き込めるが、1ドット表示だとちょうど点灯出来ないドットに当たるので、3ビットの点灯にした。
      いずれスイッチを追加して 切離/接続を簡単に出来る様にしたい。

    • 2024年9月17日

      外部クリスタルのヒューズ設定にしたら、動かなくなってしまった。
      -->よく見たら、セラロック両端の半田付けおかしかった。
         ケースまで半田が流れていたので それを直したら、16MHzで動き出した。

      フォントデータを表示させると、形としては思った様に表示するが、表示ドットが多いタイミング(COL)の時は 表示が暗くなる。表示ドット数に反比例して明るさが変わる。
      コモン側には抵抗を入れていないのだが、ポートの内部抵抗が大きいのか?
      もしそうならば、シンクドライバー(オープンコレクタ、オープンドレイン)を間に入れる必要が有る。
      このままでは、使えない。
      もしこの回路で表示させるとなると、1ドットづつのダイナミック点灯になってしまう。 256分割する事になるので、明るさは足りなくなるだろう。緑と赤を同時に点灯させて黄色の単色として使えば 少しは明るいかもしれない。
      表示方法が間違っているような気がする。 COLにフォントデータを入れて、ROWにコモンの1ドットづつ動かすデータを方式にしないと、抵抗で電圧降下してしまう。
      但し、COLはカソードなので、今のフォントデータでは点灯部分が反対になるので、反転してポートにセットする必要が有る。
      実際のダイナミック点灯では、割込みの中で対応するフォントデータの何番目かをセットするので、 割込みで使うデータにセットする時に反転してセットすればよいので、割込み処理内で面倒な事は無いはず。
      表示文字の向きは変わるだろう。

      コモンの移動方向などを変更して、フォントを表示出来る様になった。向きは思惑と180度変更してしまったが、 上下逆さに置けは、問題は無し。
      も、 も、緑赤の同時も、表示出来た。
      しかし、暗い。以前作った青LEDの時計に比べて格段に違う。
      電流は2倍ぐらい流しているはずだが、明るさは何分の1と正確には言えないが、室内の照明の下では見えずらい。
      照明の陰に入れば何とかなるが、結局はLEDその物の輝度が足りないと言う事。
      (赤の方が何となくもう少し明かるい様な気がするが...)

    • 2024年9月26日

      ハードの問題(明るさ等)は置いておいて、16x16ドット2色LEDに文字を表示する関数は出来た。 5x7の英数字と日~土の曜日表示(横向きなのでいずれフォントを修正する必要が有る)、 秒数表示用の関数、1ラインの反転、16x16ドットのクリアなど、が出来た。 後はこれをどう使うか、の所はこれから。

      曜日フォント(8x8)をrotate8x8.exeで90度回転した物に入れ替えた。 表示は正常になった。

    • 2024年9月28日

      RTCの初期化、割込み処理、カレンダー読み出しの確認が出来た。

    • 2024年9月30日

      「8x48ドットLEDフォトボックス」のプログラムを元にして、修正を加えて プログラムを作成した。但し、3つのLEDとSETスイッチはまだ実装していない。 何となく、時計データは限定的だが 表示は出来た。 (下側のみの表示になっている。秒表示が出来ていない) SELECTスイッチも表示が変わるので動いているみたい。 赤外線入力も表示が変わるので出来ているみたい。
      今日の所はここまで

    • 2024年10月1日

      時計データの表示は、上下とも表示し、秒表示も出来た。

      温度表示の単位「℃」が出来ていない。
      -->修正してOK
      秒表示のON/OFFが出来ていない。
      -->修正してOK

      時計の表示、時計の設定、RTCのバッテリーバックアップは動作確認出来た。 赤外線リモコンの動作も確認できた。 (細かい所、微妙な位置調整、色指定等は必要かもしれない)
      3個のLEDとSETスイッチの動作は確認できていない。
      (SETスイッチの替りに リモコンで同等の動作は確認した)

    • 2024年10月2日

      外部拡張ポートの関数を書いてチェックを始めたが、TWIスタートの所でエラーになる。
      アドレスが間違っているか、ハード的に間違っているかだと思う。
      -->アドレスは、RX8900のアドレスの指定と比べたが、間違っていないと思う。
      -->SCL、SDAの信号はテスターで見る限り繋がっている。
         後は、オシロで信号を見るしかないだろう

      オシロが面倒なので、もう一度アドレスをデータシートで確認したら、
      間違っている事に気が付いたので、修正したら、動作確認できた。
      (LEDとスイッチの両方)

      スイッチ操作、LED表示、RTC、赤外線等の 一通りの動作は確認できた。
      但し、緑LEDのD4が光らない。
      -->コネクタの接触不良みたい。16x16のLEDを少し触ったら治った。

    • 2024年10月4日

      一通り完成したと思うが、細かい所でちょっと変更、追加したい所が有る。

      1. 秒ドット表示を緑にしたい。
        -->修正して緑にした。
      2. 曜日を簡単で良いので表示したい。(ドットでも良い)
        -->左上に縦列でドット表示を追加した。
      3. 箱には入らないので、上下をアクリルスモークで挟みたい。
    • 2024年10月5日

      毎正時に表示するアニメーションの不具合を修正した。

      これでプログラムは良しとする。今日の所はここまで
      後は、使っていない関数、コメントの充実を行う事になる。

    • 2024年10月6日

      プログラムは出来た。

    • 2024年10月17日

      取扱説明書を書いた。


  • 参考資料
    • 部品表
    • ガーバーファイル
    • 基板に関してはこのガーバーファイルを直接使う事は止めてください。 なお、基板(生基板)は 現在の手持ち分に限り 無料で差上げます。 こちら連絡先へメールをお送り下さい。

ホーム          カメラと写真        2024年10月17日更新 Taishi