とりあえず・・・
こんな感じになりました。
出来るにはできたのですが、数字LEDを制御する方法が分かりません(汗
コードはこんな感じ・・・
う~ん、どうやれば数字を上手く表示できるのだろうか・・・
出来るにはできたのですが、数字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}; // 0int one = {0,1,1,0,0,0,0}; // 1int two = {1,1,0,1,1,0,1}; // 2int three = {1,0,0,1,1,1,1};// 3int four = {1,1,1,0,0,1,1}; // 4int five = {1,0,1,1,0,1,1}; // 5int six = {1,0,1,1,1,1,1}; // 6int seven = {1,1,1,0,0,1,0};// 7int eight = {1,1,1,1,1,1,1};// 8int nine = {1,1,1,1,0,1,1}; // 9int 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);}
う~ん、どうやれば数字を上手く表示できるのだろうか・・・