Advertisement
Braulio777

1 Digit Arduino Counter

Nov 4th, 2013
1,269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.13 KB | None | 0 0
  1. //1 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. // Pins for A B C D E F G, in sequence
  12. const int segs[7] = {A4, 13, 10, 9, 8, A1, 11};
  13. // Segments that make each number
  14. const byte numbers[10] = { 0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010, 0b0000010, 0b1111000, 0b0000000, 0b0010000};
  15. void setup() {
  16.   pinMode(A4, OUTPUT);
  17.   pinMode(13, OUTPUT);
  18.   pinMode(10, OUTPUT);
  19.   pinMode(9, OUTPUT);
  20.   pinMode(8, OUTPUT);  
  21.   pinMode(A1, OUTPUT);
  22.   pinMode(11, OUTPUT);
  23.   pinMode(12, OUTPUT);
  24.  
  25. }
  26. void loop() {
  27.   for (int digit1=0; digit1 < 10; digit1++) {
  28.       unsigned long startTime = millis();
  29.       for (unsigned long elapsed=0; elapsed < 600; elapsed = millis() - startTime) {
  30.         lightDigit1(numbers[digit1]);
  31.         delay(5);
  32.        
  33.       }
  34.     }
  35.   }
  36. void lightDigit1(byte number) {
  37.   digitalWrite(CA1, HIGH);
  38.   lightSegments(number);
  39. }
  40. void lightSegments(byte number) {
  41.   for (int i = 0; i < 7; i++) {
  42.     int bit = bitRead(number, i);
  43.     digitalWrite(segs[i], bit);
  44.   }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement