夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

とりあえず・・・

こんな感じになりました。

出来るにはできたのですが、数字LEDを制御する方法が分かりません(汗
コードはこんな感じ・・・



// 7segLED test Program
// Print out "SEC(num)"

#define LED 0   // ずっと点いているLED
#define Eled 1  // 数字をあらわすLED
#define Dled 2
#define Gled 3
#define Cled 4
#define Bled 5
#define Aled 6
#define Fled 7  // ここまで

int zero = {1,1,1,1,1,1,0}; // 0
int one = {0,1,1,0,0,0,0};  // 1
int two = {1,1,0,1,1,0,1};  // 2
int three = {1,0,0,1,1,1,1};// 3
int four = {1,1,1,0,0,1,1}; // 4
int five = {1,0,1,1,0,1,1}; // 5
int six = {1,0,1,1,1,1,1};  // 6
int seven = {1,1,1,0,0,1,0};// 7
int eight = {1,1,1,1,1,1,1};// 8
int nine = {1,1,1,1,0,1,1}; // 9
int bright[7];

int i = 0;  //count用

void setup() {
  // 全てのピンを出力に
  pinMode(LED, OUTPUT);
  pinMode(Aled, OUTPUT);
  pinMode(Bled, OUTPUT);
  pinMode(Cled, OUTPUT);
  pinMode(Dled, OUTPUT);
  pinMode(Eled, OUTPUT);
  pinMode(Fled, OUTPUT);
  pinMode(Gled, OUTPUT);
}

void loop() {
  // 今回は、SECの後に数字を0から9まで表示する。
  while (i < 10) {
    // 順に数字を表示
    switch (i) {
      case 0:
        bright[0] = zero[0];
        bright[1] = zero[1];
        bright[2] = zero[2];
        bright[3] = zero[3];
        bright[4] = zero[4];
        bright[5] = zero[5];
        bright[6] = zero[6];
        continue;
      case 1:
        bright[0] = one[0];
        bright[1] = one[1];
        bright[2] = one[2];
        bright[3] = one[3];
        bright[4] = one[4];
        bright[5] = one[5];
        bright[6] = one[6];
        continue;
      case 2:
        bright[0] = two[0];
        bright[1] = two[1];
        bright[2] = two[2];
        bright[3] = two[3];
        bright[4] = two[4];
        bright[5] = two[5];
        bright[6] = two[6];
        continue;
      case 3:
        bright[0] = three[0];
        bright[1] = three[1];
        bright[2] = three[2];
        bright[3] = three[3];
        bright[4] = three[4];
        bright[5] = three[5];
        bright[6] = three[6];
        continue;
      case 4:
        bright[0] = four[0];
        bright[1] = four[1];
        bright[2] = four[2];
        bright[3] = four[3];
        bright[4] = four[4];
        bright[5] = four[5];
        bright[6] = four[6];
        continue;
      case 5:
        bright[0] = five[0];
        bright[1] = five[1];
        bright[2] = five[2];
        bright[3] = five[3];
        bright[4] = five[4];
        bright[5] = five[5];
        bright[6] = five[6];
        continue;
      case 6:
        bright[0] = six[0];
        bright[1] = six[1];
        bright[2] = six[2];
        bright[3] = six[3];
        bright[4] = six[4];
        bright[5] = six[5];
        bright[6] = six[6];
        continue;
      case 7:
        bright[0] = seven[0];
        bright[1] = seven[1];
        bright[2] = seven[2];
        bright[3] = seven[3];
        bright[4] = seven[4];
        bright[5] = seven[5];
        bright[6] = seven[6];
        continue;
      case 8:
        bright[0] = eight[0];
        bright[1] = eight[1];
        bright[2] = eight[2];
        bright[3] = eight[3];
        bright[4] = eight[4];
        bright[5] = eight[5];
        bright[6] = eight[6];
        continue;
      case 9:
        bright[0] = nine[0];
        bright[1] = nine[1];
        bright[2] = nine[2];
        bright[3] = nine[3];
        bright[4] = nine[4];
        bright[5] = nine[5];
        bright[6] = nine[6];
        continue;
    }
    
    digitalWrite(LED, HIGH);
    if (bright[0] = 1){
      digitalWrite(Aled, HIGH);
      delay(7000);
    } else if (bright[0] = 0){
      digitalWrite(Aled, LOW);
      delay(7000);
    }
    if (bright[1] = 1){
      digitalWrite(Bled, HIGH);
      delay(6000);
    } else if (bright[1] = 0){
      digitalWrite(Bled, LOW);
      delay(6000);
    }
    if (bright[2] = 1){
      digitalWrite(Cled, HIGH);
      delay(5000);
    } else if(bright[2] = 0){
      digitalWrite(Cled, LOW);
      delay(5000);
    }
    if (bright[3] = 1){
      digitalWrite(Dled, HIGH);
      delay(4000);
    } else if(bright[3] = 0){
      digitalWrite(Dled, LOW);
      delay(4000);
    }
    if (bright[4] = 1){
      digitalWrite(Eled, HIGH);
      delay(3000);
    } else if (bright[4] = 0){
      digitalWrite(Eled, LOW);
      delay(3000);
    }
    if (bright[5] = 1){
      digitalWrite(Fled, HIGH);
      delay(2000);
    } else if (bright[5] = 0){
      digitalWrite(Fled, LOW);
      delay(2000);
    }
    if (bright[6] = 1){
      digitalWrite(Gled, HIGH);
      delay(1000);
    } else if (bright[6] = 0){
      digitalWrite(Gled, LOW);
      delay(1000);
    }
    i = i + 1;
  }
  // 最後に全て消す
  digitalWrite(Aled, LOW);
  digitalWrite(Bled, LOW);
  digitalWrite(Cled, LOW);
  digitalWrite(Dled, LOW);
  digitalWrite(Eled, LOW);
  digitalWrite(Fled, LOW);
  digitalWrite(Gled, LOW);
  digitalWrite(LED, LOW);
}

う~ん、どうやれば数字を上手く表示できるのだろうか・・・