🦔

【Arduino】Kumanのキットで8 x 8 LEDを作ってみた

2022/02/03に公開

これは何?

Kumanのキット[1]についていた8x8 LEDで遊んでみた記録

LEDはあまりちゃんとした資料がついていなかったので、調査結果を記録する。

8 x 8 LED

資料からわかることは、1588BSというものだった[2]

↓こんなかんじにLEDが(物理的に)配置されている

↓アノード/カソード→ Col 1 Col 2 Col 3 Col 4 Col 5 Col 6 Col 7 Col 8
Row 1
Row 2
Row 3
Row 4
Row 5
Row 6
Row 7
Row 8

Pinは16本しかないので(厳密に)同時に光らせることができるのは、8個のLEDを高速に切り替えて点灯を行うことで見た目にはずっと光って見えるようにする(残像を利用した)方式っぽい

Pin配置は下記だった

Row/Col Pin No
Row 1 Pin 9
Row 2 Pin 14
Row 3 Pin 8
Row 4 Pin 12
Row 5 Pin 1
Row 6 Pin 7
Row 7 Pin 2
Row 8 Pin 5
Col 1 Pin 13
Col 2 Pin 3
Col 3 Pin 4
Col 4 Pin 10
Col 5 Pin 6
Col 6 Pin 11
Col 7 Pin 15
Col 8 Pin 16

アノード側をHigh、カソード側をLowにするとそれに対応するLEDが点灯する

1行目(Row 1)の1列目(Col 1)を点灯する場合、

Pin 9 = High, Pin 13= Lowで点灯する(ハズ)

点灯確認

あってる

配線

Pinの数が多いので、節約のため、シフトレジスタを使用
(そのほうがプログラム的にも楽)

74HC595(x 2)を準備した[3]

カソード側に220Ωの抵抗を配置

電源、グランド間に0.1uFのコンデンサを配置

配線

↑LEDのサイズが大きく、キットについてくるブレッドボードだと、ブレッドボードを2つ使うなどの工夫が必要そう、大きめにさす方が安心感がある。

回路図
※はじめてKiCADで書いてみたのでうまくいってないかもですが

動作確認

Arduino の IDEで動作確認してみた

const int PIN_SER   =  8;
const int PIN_LATCH =  9;
const int PIN_CLK   = 10;

byte column[8];

void setup() {
  pinMode( PIN_SER, OUTPUT );
  pinMode( PIN_LATCH, OUTPUT );
  pinMode( PIN_CLK, OUTPUT );

  //ここが表示するもの(左上から右下に線が走る感じのイメージ
  column[0]= 0x80;//B10000000
  column[1]= 0x40;//B01000000
  column[2]= 0x20;//B00100000
  column[3]= 0x10;//B00010000
  column[4]= 0x08;//B00001000
  column[5]= 0x04;//B00000100
  column[6]= 0x02;//B00000010
  column[7]= 0x01;//B00000001
  while(true){
    for(int i = 0; i < 8; i++){
      byte Row = 0;
      if(column[i]>0){
          Row = 1 << (8 - i -1);
      }
  
      digitalWrite( PIN_LATCH, LOW );
      shiftOut( PIN_SER, PIN_CLK, LSBFIRST, ~Row );
      shiftOut( PIN_SER, PIN_CLK, LSBFIRST, column[i] );
      digitalWrite( PIN_LATCH, HIGH );
    }
  }
  
}

void loop() {
}

まぶしいので紙をかぶせた

うまくいってそう

参考にさせていただいたサイト

1588BSに関して
https://acoptex.com/project/160/basics-project-032a-8x8-dot-led-matrix-64-led-digital-display-common-anode-and-common-cathode-at-lex-c/

74HC595に関して
https://iot.keicode.com/arduino/arduino-shift-register-sn74hc595.php

脚注
  1. Arduino UNOの互換ボード+電子工作セット、Amazonなどで販売されている ↩︎

  2. まともなデータシートのリンクは探せなかった ↩︎

  3. これ自体は8ピンまでの制御が可能でカスケード接続することでより多くのピンの制御が可能、実はキットには1個しかついていなかったので別途購入 ↩︎

Discussion