p09_DigitalLED.ino 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. /*
  2. Demo code for Project 9 - Digital LED
  3. Control 7-segment LED
  4. by Maker Studio
  5. http://makerstudio.cc
  6. */
  7. // The segment of LED connected to Arduino Pins
  8. const int EPin = 13;
  9. const int DPin = 12;
  10. const int CPin = 11;
  11. const int DPPin = 10;
  12. const int BPin = 9;
  13. const int APin = 8;
  14. const int FPin = 7;
  15. const int GPin = 6;
  16. int gapTime = 1000; // 100ms
  17. void setup() {
  18. //set the pins OUTPUT
  19. pinMode(APin,OUTPUT);
  20. pinMode(BPin,OUTPUT);
  21. pinMode(CPin,OUTPUT);
  22. pinMode(DPin,OUTPUT);
  23. pinMode(EPin,OUTPUT);
  24. pinMode(FPin,OUTPUT);
  25. pinMode(GPin,OUTPUT);
  26. pinMode(DPPin,OUTPUT);
  27. }
  28. void loop() {
  29. //display digital number from 0 to 9
  30. display0();
  31. delay(gapTime);
  32. display1();
  33. delay(gapTime);
  34. display2();
  35. delay(gapTime);
  36. display3();
  37. delay(gapTime);
  38. display4();
  39. delay(gapTime);
  40. display5();
  41. delay(gapTime);
  42. display6();
  43. delay(gapTime);
  44. display7();
  45. delay(gapTime);
  46. display8();
  47. delay(gapTime);
  48. display9();
  49. delay(gapTime);
  50. //display the point
  51. displayDP();
  52. delay(gapTime);
  53. //allOn();
  54. //delay(gapTime);
  55. }
  56. void display0(){
  57. allOn();
  58. digitalWrite(GPin,HIGH);
  59. digitalWrite(DPPin,HIGH);
  60. }
  61. void display1(){
  62. allOff();
  63. digitalWrite(BPin,LOW);
  64. digitalWrite(CPin,LOW);
  65. }
  66. void display2(){
  67. allOn();
  68. digitalWrite(FPin,HIGH);
  69. digitalWrite(CPin,HIGH);
  70. digitalWrite(DPPin,HIGH);
  71. }
  72. void display3(){
  73. allOn();
  74. digitalWrite(EPin,HIGH);
  75. digitalWrite(FPin,HIGH);
  76. digitalWrite(DPPin,HIGH);
  77. }
  78. void display4(){
  79. allOn();
  80. digitalWrite(APin,HIGH);
  81. digitalWrite(DPin,HIGH);
  82. digitalWrite(EPin,HIGH);
  83. digitalWrite(DPPin,HIGH);
  84. }
  85. void display5(){
  86. allOn();
  87. digitalWrite(BPin,HIGH);
  88. digitalWrite(EPin,HIGH);
  89. digitalWrite(DPPin,HIGH);
  90. }
  91. void display6(){
  92. allOn();
  93. digitalWrite(BPin,HIGH);
  94. digitalWrite(DPPin,HIGH);
  95. }
  96. void display7(){
  97. allOff();
  98. digitalWrite(APin,LOW);
  99. digitalWrite(BPin,LOW);
  100. digitalWrite(CPin,LOW);
  101. }
  102. void display8(){
  103. allOn();
  104. digitalWrite(DPPin,HIGH);
  105. }
  106. void display9(){
  107. display8();
  108. digitalWrite(EPin,HIGH);
  109. }
  110. void displayDP(){
  111. allOff();
  112. digitalWrite(DPPin,LOW);
  113. }
  114. void allOn(){
  115. digitalWrite(APin,LOW);
  116. digitalWrite(BPin,LOW);
  117. digitalWrite(CPin,LOW);
  118. digitalWrite(DPin,LOW);
  119. digitalWrite(EPin,LOW);
  120. digitalWrite(FPin,LOW);
  121. digitalWrite(GPin,LOW);
  122. digitalWrite(DPPin,LOW);
  123. }
  124. void allOff(){
  125. digitalWrite(APin,HIGH);
  126. digitalWrite(BPin,HIGH);
  127. digitalWrite(CPin,HIGH);
  128. digitalWrite(DPin,HIGH);
  129. digitalWrite(EPin,HIGH);
  130. digitalWrite(FPin,HIGH);
  131. digitalWrite(GPin,HIGH);
  132. digitalWrite(DPPin,HIGH);
  133. }