電子工作メモ - 7セグメントLED

# 7セグメントLED について

アノードコモンとカソードコモンの違いは、３と８ピンがアノードかカソードに変わる。
また、それに伴ってLEDの方向も逆になる。
アノードコモンの場合: 3 or 8 => A-G,DP
カソードコモンの場合: A-G,DP => 3 or 8

## １桁の場合

**以下はアノードコモンのタイプの場合**

- ピン
  - 電流について
    1つのLEDに220Ωの抵抗を使用する場合、VBUSから5V取るとすると、
    (5 - 2) / 220 = 0.013 = 13mA 程度流れる。
    8ピンあるので、8 * 13mA = 104mA まで流せる必要があるので注意する。

  - 左下から反時計回りに、1-10
  - ピンとLEDのマッピング
    - LEDは上の横棒から時計回りに、A-G（Gは真ん中の横棒）

    |LED|Pin番号|表示位置|
    |:--:|:--:|:--:|
    |A|7|上|
    |B|6|右上|
    |C|4|右下|
    |D|2|下|
    |E|1|左下|
    |F|9|左上|
    |G|10|中央|
    |DP|5|ﾄﾞｯﾄ|
    |アノード|3, 8||

  - 74HC595とのマッピング

    |LED|LED Pin|74HC595|74HC4511|
    |:--:|:--:|:--:|:--:|
    |A|7|Q7 7|Qa 13|
    |B|6|Q6 6|Qb 12|
    |C|4|Q5 5|Qc 11|
    |D|2|Q4 4|Qd 10|
    |E|1|Q3 3|Qe  9|
    |F|9|Q2 2|Qf 15|
    |G|10|Q1 1|Qg 14|
    |DP|5|Q0 15|-|

  - 表示文字とHexデータのマッピング
    **アノードコモンの場合は、0で表示**

    - A を最下位ビットにしているので、最下位から読み込む場合

    |表示文字|DP|G|F|E|-|D|C|B|A|Hex|byte|
    |:--:|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--:|:--:|
    |0|1|1|0|0| |0|0|0|0|0xc0|1100 0000|
    |1|1|1|1|1| |1|0|0|1|0xf9|1111 1001|
    |2|1|0|1|0| |0|1|0|0|0xa4|1010 0100|
    |3|1|0|1|1| |0|0|0|0|0xb0|1011 0000|
    |4|1|0|0|1| |1|0|0|1|0x99|1001 1001|
    |5|1|0|0|1| |0|0|1|0|0x92|1001 0010|
    |6|1|0|0|0| |0|0|1|0|0x82|1000 0010|
    |7|1|1|0|1| |1|0|0|0|0xd8|1101 1000|
    |8|1|0|0|0| |0|0|0|0|0x80|1000 0000|
    |9|1|0|0|1| |0|0|0|0|0x90|1001 0000|
    |A|1|0|0|0| |1|0|0|0|0x88|1000 1000|
    |B|1|0|0|0| |0|0|1|1|0x83|1000 0011|
    |C|1|1|0|0| |0|1|1|0|0xc6|1100 0110|
    |D|1|0|1|0| |0|0|0|1|0xa1|1010 0001|
    |E|1|0|0|0| |0|1|1|0|0x86|1000 0110|
    |F|1|0|0|0| |1|1|1|0|0x8e|1000 1110|

    - A を最上位ビットにしているので、最上位から読み込む場合

    |表示文字|A|B|C|D|-|E|F|G|DP|Hex|byte|
    |:--:|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--:|:--:|
    |0|0|0|0|0| |0|0|1|1|0x03|0000 0011|
    |1|1|0|0|1| |1|1|1|1|0x9f|1001 1111|
    |2|0|0|1|0| |0|1|0|1|0x25|0010 0101|
    |3|0|0|0|0| |1|1|0|1|0x0d|0000 1101|
    |4|1|0|0|1| |1|0|0|1|0x99|1001 1001|
    |5|0|1|0|0| |1|0|0|1|0x49|0100 1001|
    |6|0|1|0|0| |0|0|0|1|0x41|0100 0001|
    |7|0|0|0|1| |1|0|1|1|0x1d|0001 1011|
    |8|0|0|0|0| |0|0|0|1|0x01|0000 0001|
    |9|0|0|0|0| |1|0|0|1|0x09|0000 1001|
    |A|0|0|0|1| |0|0|0|1|0x11|0001 0001|
    |B|1|1|0|0| |0|0|0|1|0xc1|1100 0001|
    |C|0|1|1|0| |0|0|1|1|0x63|0110 0011|
    |D|1|0|0|0| |0|1|0|1|0x85|1000 0101|
    |E|0|1|1|0| |0|0|0|1|0x51|0110 0001|
    |F|0|1|1|1| |0|0|0|1|0x71|0111 0001|

## ４桁の場合

**以下はアノードコモンのタイプの場合**

- ピン
  - 電流について
    1つのLEDに220Ωの抵抗を使用する場合、VBUSから5V取るとすると、
    (5 - 2) / 220 = 0.013 = 13mA 程度流れる。
    8ピンあるので、8 * 13mA = 104mA まで流せる必要があるので注意する。

  - 左下から反時計回りに、1-12
  - ピンとLEDのマッピング
    - LEDは上の横棒から時計回りに、A-G（Gは真ん中の横棒）

    |LED|Pin番号|表示位置|
    |:--:|:--:|:--:|
    |A|11|上|
    |B|7|右上|
    |C|4|右下|
    |D|2|下|
    |E|1|左下|
    |F|10|左上|
    |G|5|中央|
    |DP|3|ﾄﾞｯﾄ|
    |アノード千位|12||
    |アノード百位|9||
    |アノード十位|8||
    |アノード一位|6||

  - 74HC595とのマッピング

    |LED|LED Pin|74HC595|74HC4511|
    |:--:|:--:|:--:|:--:|
    |A |11|Q7 7|Qa 13|
    |B | 7|Q6 6|Qb 12|
    |C | 4|Q5 5|Qc 11|
    |D | 2|Q4 4|Qd 10|
    |E | 1|Q3 3|Qe 9|
    |F |10|Q2 2|Qf 15|
    |G | 5|Q1 1|Qg 14|
    |DP| 3|Q0 15|-|

## 表示方法について

### 74HC595 （シフトレジスタ）を使う

[電子工作メモ - 74HC595](/private/7a7a7261ed058514e743)

### 74HC4511 （7セグメントLEDドライバ）を使う

[電子工作メモ - 74HC4511](/private/d6b1e2c883763e24fb2d)