カソードコモンの8セグメントLEDへ表示する(その2)


前回は3桁の8セグメントLEDの1つのLEDだけを点滅させてみました。
今回は1桁目の全てのLEDを点滅させます。

回路図は以下のとおりです。
LEDのPin No. Function Raspberryのピン番号
1 Segment "c" 13
2 Digit 1 Common 6(GND)
3 Segment "d" 15
4 Digit 2 Common NC
5 Digit 3 Common NC
6 Segment D.P 7
7 Segment "b" 12
8 Segment "f" 18
9 Segment "a" 11
10 Segment "e" 16
11 Segment "g" 22

使用する抵抗は前回と同じです。
緑のラインが1番ピン、赤のラインが7番ピンです。




ソースコードは以下の様になります。
なお、私はもっぱらwiringPiSetup()関数を使って、ピン番号には(GPIOの番号や物理的なピン番号ではなく)
WiringPiでの番号を使っています。

#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>

#define Pins    8
#define P0      0

int main (int argc, char **argv) {
    int i,j,k,l,m;
    int Pin[8];

    if(wiringPiSetup() == -1) return 1;
    for(i=0;i<Pins;i++) {
        Pin[i]=P0+i;
        pinMode(Pin[i], OUTPUT);
    }

    for (i=0; i<10; i++) {
        for(k=0; k<Pins; k++) {
            digitalWrite(Pin[k], 1);
            delay(500);
            digitalWrite(Pin[k], 0);
        }
    }

    exit;
}

一番左の桁の全てのLEDが順番に点滅します。

拡大

次回は3桁全てのセグメントを点滅させます。