Advertisement
Braulio777

8 Digit Arduino Counter

Nov 20th, 2013
1,569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.32 KB | None | 0 0
  1. //8 Digit Arduino Counter
  2. #define A A4
  3. #define B 13
  4. #define C 10
  5. #define D 9
  6. #define E 8
  7. #define F A1
  8. #define G 11
  9. // Pins driving common anodes
  10. #define CA1 12
  11. #define CA2 A3
  12. #define CA3 A2
  13. #define CA4 A5
  14. #define CA5 7
  15. #define CA6 6
  16. #define CA7 5
  17. #define CA8 4
  18. // Pins for A B C D E F G, in sequence
  19. const int segs[7] = {A4, 13, 10, 9, 8, A1, 11};
  20. // Segments that make each number
  21. const byte numbers[10] = {0b1000000,0b1111001,0b0100100,0b0110000,0b0011001,0b0010010,0b0000010,0b1111000,0b0000000,0b0010000};
  22. void setup()
  23. {
  24.  
  25.   pinMode(A4, OUTPUT);
  26.   pinMode(13, OUTPUT);
  27.   pinMode(10, OUTPUT);
  28.   pinMode(9, OUTPUT);
  29.   pinMode(8, OUTPUT);
  30.   pinMode(A1, OUTPUT);
  31.   pinMode(11, OUTPUT);
  32.   pinMode(12, OUTPUT);
  33.   pinMode(A3, OUTPUT);
  34.   pinMode(A2, OUTPUT);
  35.   pinMode(A5, OUTPUT);
  36.   pinMode(7, OUTPUT);
  37.   pinMode(6, OUTPUT);
  38.   pinMode(5, OUTPUT);
  39.   pinMode(4, OUTPUT);
  40. }
  41. void loop() {
  42.   for (int digit1=0; digit1 < 10; digit1++) {
  43.     for (int digit2=0; digit2 < 10; digit2++) {
  44.       for (int digit3=0; digit3 < 10; digit3++) {
  45.         for (int digit4=0; digit4 < 10; digit4++) {
  46.           for (int digit5=0; digit5 < 10; digit5++) {
  47.             for (int digit6=0; digit6 < 10; digit6++) {
  48.               for (int digit7=0; digit7 < 10; digit7++) {
  49.                  for (int digit8=0; digit8 < 10; digit8++) {
  50.  
  51.      unsigned long startTime = millis();
  52.       for (unsigned long elapsed=0; elapsed < 600; elapsed = millis() - startTime) {
  53.        lightDigit1(numbers[digit1]);
  54.         delay(2);
  55.         lightDigit2(numbers[digit2]);
  56.         delay(2);
  57.         lightDigit3(numbers[digit3]);
  58.         delay(2);
  59.         lightDigit4(numbers[digit4]);
  60.         delay(2);
  61.         lightDigit5(numbers[digit5]);
  62.         delay(2);
  63.         lightDigit6(numbers[digit6]);
  64.         delay(2);
  65.         lightDigit7(numbers[digit7]);
  66.         delay(2);
  67.         lightDigit8(numbers[digit8]);
  68.         delay(2);
  69.  
  70.         }
  71.        }
  72.       }
  73.       }
  74.       }
  75.     }
  76.  
  77.       }
  78.     }    
  79.   }
  80.      
  81. }
  82.  void lightDigit1(byte number)  {
  83.   digitalWrite(CA1, LOW);
  84.   digitalWrite(CA2, LOW);
  85.   digitalWrite(CA3, LOW);
  86.   digitalWrite(CA4, LOW);
  87.   digitalWrite(CA5, LOW);
  88.   digitalWrite(CA6, LOW);
  89.   digitalWrite(CA7, LOW);
  90.   digitalWrite(CA8, HIGH);
  91.   lightSegments(number);
  92.  }
  93. void lightDigit2(byte number) {
  94.   digitalWrite(CA1, LOW);
  95.   digitalWrite(CA2, LOW);
  96.   digitalWrite(CA3, LOW);
  97.   digitalWrite(CA4, LOW);
  98.   digitalWrite(CA5, LOW);
  99.   digitalWrite(CA6, LOW);
  100.   digitalWrite(CA7, HIGH);
  101.   digitalWrite(CA8, LOW);
  102.   lightSegments(number);
  103. }
  104. void lightDigit3(byte number) {
  105.   digitalWrite(CA1, LOW);
  106.   digitalWrite(CA2, LOW);
  107.   digitalWrite(CA3, LOW);
  108.   digitalWrite(CA4, LOW);
  109.   digitalWrite(CA5, LOW);
  110.   digitalWrite(CA6, HIGH);
  111.   digitalWrite(CA7, LOW);
  112.   digitalWrite(CA8, LOW);
  113.   lightSegments(number);
  114. }
  115. void lightDigit4(byte number){
  116.   digitalWrite(CA1, LOW);
  117.   digitalWrite(CA2, LOW);
  118.   digitalWrite(CA3, LOW);
  119.   digitalWrite(CA4, LOW);
  120.   digitalWrite(CA5, HIGH);
  121.   digitalWrite(CA6, LOW);
  122.   digitalWrite(CA7, LOW);
  123.   digitalWrite(CA8, LOW);
  124.   lightSegments(number);
  125. }
  126. void lightDigit5(byte number) {
  127.   digitalWrite(CA1, LOW);
  128.   digitalWrite(CA2, LOW);
  129.   digitalWrite(CA3, LOW);
  130.   digitalWrite(CA4, HIGH);
  131.   digitalWrite(CA5, LOW);
  132.   digitalWrite(CA6, LOW);
  133.   digitalWrite(CA7, LOW);
  134.   digitalWrite(CA8, LOW);
  135.   lightSegments(number);
  136. }
  137. void lightDigit6(byte number) {
  138.   digitalWrite(CA1, LOW);
  139.   digitalWrite(CA2, LOW);
  140.   digitalWrite(CA3, HIGH);
  141.   digitalWrite(CA4, LOW);
  142.   digitalWrite(CA5, LOW);
  143.   digitalWrite(CA6, LOW);
  144.   digitalWrite(CA7, LOW);
  145.   digitalWrite(CA8, LOW);
  146.   lightSegments(number);
  147. }
  148.  
  149. void lightDigit7(byte number) {
  150.   digitalWrite(CA1, LOW);
  151.   digitalWrite(CA2, HIGH);
  152.   digitalWrite(CA3, LOW);
  153.   digitalWrite(CA4, LOW);
  154.   digitalWrite(CA5, LOW);
  155.   digitalWrite(CA6, LOW);
  156.   digitalWrite(CA7, LOW);
  157.   digitalWrite(CA8, LOW);
  158.   lightSegments(number);
  159. }
  160. void lightDigit8(byte number) {
  161.   digitalWrite(CA1, HIGH);
  162.   digitalWrite(CA2, LOW);
  163.   digitalWrite(CA3, LOW);
  164.   digitalWrite(CA4, LOW);
  165.   digitalWrite(CA5, LOW);
  166.   digitalWrite(CA6, LOW);
  167.   digitalWrite(CA7, LOW);
  168.   digitalWrite(CA8, LOW);
  169.   lightSegments(number);
  170.  
  171. }
  172. void lightSegments(byte number){
  173.   for (int i = 0;i < 7;i++) {
  174.     int bit = bitRead(number, i);
  175.     digitalWrite(segs[i], bit);
  176.   }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement