Welcome to touyou note!!

こんにちは。touyouです。touyou noteは、creativeな人間を志すちっぽけな学生が様々なことに体当たりするブログです。
どうぞお楽しみ下さい。

Twitter: @touyoubuntu
HomePage: TOUYOUBUNTU

検索用ワード

PC Linux Windows Cygwin Android Python Java C/C++ C# HTML Processing Lisp Perl Arduino Japanino Unity Google TopCorder Codeforces Vim Emacs Github PSP Gundam Soccer Mobile Dialy Study Music ...

2010年7月21日水曜日

とりあえず・・・

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

出来るにはできたのですが、数字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);
}

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

0 件のコメント:

コメントを投稿