Board logo

標題: 七段顯示器 (二) [打印本頁]

作者: tonyh    時間: 2022-1-23 17:07     標題: 七段顯示器 (二)

本帖最後由 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. */
複製代碼

作者: 劉愷鈞    時間: 2022-1-24 16:32

  1. int allNum[]={3,4,5,6,7,8,9};
  2. int n1[]={6,7};
  3. int n2[]={3,5,6,8,9};
  4. int n3[]={3,5,6,7,8};
  5. int n4[]={3,4,6,7};
  6. int n5[]={3,4,5,7,8};
  7. void show(int j)
  8. {
  9.   for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
  10.     digitalWrite(allNum[i],LOW);
  11.   if(j==1)
  12.   {
  13.     for(int i=0;i<sizeof(n1)/sizeof(int); i++)
  14.     {
  15.       digitalWrite(n1[i],HIGH);
  16.     }
  17.   }
  18.   if(j==2)
  19.   {
  20.     for(int i=0;i<sizeof(n2)/sizeof(int); i++)
  21.     {
  22.       digitalWrite(n2[i],HIGH);
  23.     }
  24.   }
  25.   if(j==3)
  26.   {
  27.     for(int i=0;i<sizeof(n3)/sizeof(int); i++)
  28.     {
  29.       digitalWrite(n3[i],HIGH);
  30.     }
  31.   }
  32.   if(j==4)
  33.   {
  34.     for(int i=0;i<sizeof(n4)/sizeof(int); i++)
  35.     {
  36.       digitalWrite(n4[i],HIGH);
  37.     }
  38.   }
  39.   if(j==5)
  40.   {
  41.     for(int i=0;i<sizeof(n5)/sizeof(int); i++)
  42.     {
  43.       digitalWrite(n5[i],HIGH);
  44.     }
  45.   }
  46. }
  47. void setup()
  48. {
  49.   for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
  50.     pinMode(allNum[i], OUTPUT);
  51. }

  52. void loop()
  53. {
  54.   for(int i=1; i<=5; i++)
  55.   {
  56.     show(i);
  57.     delay(500);
  58.   }
  59. }
複製代碼

作者: 謝以恩    時間: 2022-1-24 16:43

int allNum[]={3,4,5,6,7,8,9};
int n1[]={6,7};
int n2[]={3,5,6,8,9};
int n3[]={3,5,6,7,8};
int n4[]={3,4,6,7};
int n5[]={3,4,5,7,8};
void show(int j)
{
  for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
    digitalWrite(allNum[i],LOW);
  if(j==1)
  {
    for(int i=0;i<sizeof(n1)/sizeof(int); i++)
    {
      digitalWrite(n1[i],HIGH);
    }
  }
  if(j==2)
  {
    for(int i=0;i<sizeof(n2)/sizeof(int); i++)
    {
      digitalWrite(n2[i],HIGH);
    }
  }
  if(j==3)
  {
    for(int i=0;i<sizeof(n3)/sizeof(int); i++)
    {
      digitalWrite(n3[i],HIGH);
    }
  }
  if(j==4)
  {
    for(int i=0;i<sizeof(n4)/sizeof(int); i++)
    {
      digitalWrite(n4[i],HIGH);
    }
  }
  if(j==5)
  {
    for(int i=0;i<sizeof(n5)/sizeof(int); i++)
    {
      digitalWrite(n5[i],HIGH);
    }
  }
}
void setup()
{
  for(int i=0 ;i<sizeof(allNum)/sizeof(int); i++)
    pinMode(allNum[i], OUTPUT);
}

void loop()
{
  for(int i=1; i<=5; i++)
  {
    show(i);
    delay(500);
  }
}




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2