返回列表 發帖

七段顯示器 (二)

本帖最後由 tonyh 於 2022-1-24 16:26 編輯

Arduino Uno 版
  1. int allNum[]={3,4,5,6,7,8,9};
  2. int n1[]={6,9};
  3. int n2[]={3,5,6,7,8};
  4. int n3[]={3,5,6,8,9};
  5. int n4[]={3,4,6,9};
  6. int n5[]={3,4,5,8,9};

  7. void show(int n)
  8. {
  9.   for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
  10.     digitalWrite(allNum[i],LOW);
  11.   if(n==1)
  12.   {
  13.     for(int i=0 ;i<sizeof(n1)/sizeof(int); i++)
  14.       digitalWrite(n1[i],HIGH);
  15.   }
  16.   if(n==2)
  17.   {
  18.     for(int i=0 ;i<sizeof(n2)/sizeof(int); i++)
  19.       digitalWrite(n2[i],HIGH);
  20.   }
  21.   if(n==3)
  22.   {
  23.     for(int i=0 ;i<sizeof(n3)/sizeof(int); i++)
  24.       digitalWrite(n3[i],HIGH);
  25.   }
  26.   if(n==4)
  27.   {
  28.     for(int i=0 ;i<sizeof(n3)/sizeof(int); i++)
  29.       digitalWrite(n4[i],HIGH);
  30.   }
  31.   if(n==5)
  32.   {
  33.     for(int i=0 ;i<sizeof(n3)/sizeof(int); i++)
  34.       digitalWrite(n5[i],HIGH);
  35.   }
  36. }

  37. void setup()
  38. {
  39.   for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
  40.     pinMode(allNum[i], OUTPUT);
  41. }

  42. void loop()
  43. {
  44.   for(int i=1; i<=5; i++)
  45.   {
  46.     show(i);
  47.     delay(800);
  48.   }
  49. }

  50. /*
  51. 1 --> 6 9
  52. 2 --> 3 5 6 7 8
  53. 3 --> 3 5 6 8 9
  54. 4 --> 3 4 6 9
  55. 5 --> 3 4 5 8 9
  56. */
複製代碼
WeMos D1 版
  1. int allNum[]={D3,D4,D5,D6,D7,D8,D9};
  2. int n1[]={D6,D9};
  3. int n2[]={D3,D5,D6,D7,D8};
  4. int n3[]={D3,D5,D6,D8,D9};
  5. int n4[]={D3,D4,D6,D9};
  6. int n5[]={D3,D4,D5,D8,D9};

  7. void show(int n)
  8. {
  9.   for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
  10.     digitalWrite(allNum[i],LOW);
  11.   if(n==1)
  12.   {
  13.     for(int i=0 ;i<sizeof(n1)/sizeof(int); i++)
  14.       digitalWrite(n1[i],HIGH);
  15.   }
  16.   if(n==2)
  17.   {
  18.     for(int i=0 ;i<sizeof(n2)/sizeof(int); i++)
  19.       digitalWrite(n2[i],HIGH);
  20.   }
  21.   if(n==3)
  22.   {
  23.     for(int i=0 ;i<sizeof(n3)/sizeof(int); i++)
  24.       digitalWrite(n3[i],HIGH);
  25.   }
  26.   if(n==4)
  27.   {
  28.     for(int i=0 ;i<sizeof(n3)/sizeof(int); i++)
  29.       digitalWrite(n4[i],HIGH);
  30.   }
  31.   if(n==5)
  32.   {
  33.     for(int i=0 ;i<sizeof(n3)/sizeof(int); i++)
  34.       digitalWrite(n5[i],HIGH);
  35.   }
  36. }

  37. void setup()
  38. {
  39.   for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
  40.     pinMode(allNum[i], OUTPUT);
  41. }

  42. void loop()
  43. {
  44.   for(int i=1; i<=5; i++)
  45.   {
  46.     show(i);
  47.     delay(800);
  48.   }
  49. }

  50. /*
  51. 1 --> 6 9
  52. 2 --> 3 5 6 7 8
  53. 3 --> 3 5 6 8 9
  54. 4 --> 3 4 6 9
  55. 5 --> 3 4 5 8 9
  56. */
複製代碼

返回列表