Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //8 Digit Arduino Counter
- #define A A4
- #define B 13
- #define C 10
- #define D 9
- #define E 8
- #define F A1
- #define G 11
- // Pins driving common anodes
- #define CA1 12
- #define CA2 A3
- #define CA3 A2
- #define CA4 A5
- #define CA5 7
- #define CA6 6
- #define CA7 5
- #define CA8 4
- // Pins for A B C D E F G, in sequence
- const int segs[7] = {A4, 13, 10, 9, 8, A1, 11};
- // Segments that make each number
- const byte numbers[10] = {0b1000000,0b1111001,0b0100100,0b0110000,0b0011001,0b0010010,0b0000010,0b1111000,0b0000000,0b0010000};
- void setup()
- {
- pinMode(A4, OUTPUT);
- pinMode(13, OUTPUT);
- pinMode(10, OUTPUT);
- pinMode(9, OUTPUT);
- pinMode(8, OUTPUT);
- pinMode(A1, OUTPUT);
- pinMode(11, OUTPUT);
- pinMode(12, OUTPUT);
- pinMode(A3, OUTPUT);
- pinMode(A2, OUTPUT);
- pinMode(A5, OUTPUT);
- pinMode(7, OUTPUT);
- pinMode(6, OUTPUT);
- pinMode(5, OUTPUT);
- pinMode(4, OUTPUT);
- }
- void loop() {
- for (int digit1=0; digit1 < 10; digit1++) {
- for (int digit2=0; digit2 < 10; digit2++) {
- for (int digit3=0; digit3 < 10; digit3++) {
- for (int digit4=0; digit4 < 10; digit4++) {
- for (int digit5=0; digit5 < 10; digit5++) {
- for (int digit6=0; digit6 < 10; digit6++) {
- for (int digit7=0; digit7 < 10; digit7++) {
- for (int digit8=0; digit8 < 10; digit8++) {
- unsigned long startTime = millis();
- for (unsigned long elapsed=0; elapsed < 600; elapsed = millis() - startTime) {
- lightDigit1(numbers[digit1]);
- delay(2);
- lightDigit2(numbers[digit2]);
- delay(2);
- lightDigit3(numbers[digit3]);
- delay(2);
- lightDigit4(numbers[digit4]);
- delay(2);
- lightDigit5(numbers[digit5]);
- delay(2);
- lightDigit6(numbers[digit6]);
- delay(2);
- lightDigit7(numbers[digit7]);
- delay(2);
- lightDigit8(numbers[digit8]);
- delay(2);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- void lightDigit1(byte number) {
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, HIGH);
- lightSegments(number);
- }
- void lightDigit2(byte number) {
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, HIGH);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightDigit3(byte number) {
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, HIGH);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightDigit4(byte number){
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, HIGH);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightDigit5(byte number) {
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, HIGH);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightDigit6(byte number) {
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, HIGH);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightDigit7(byte number) {
- digitalWrite(CA1, LOW);
- digitalWrite(CA2, HIGH);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightDigit8(byte number) {
- digitalWrite(CA1, HIGH);
- digitalWrite(CA2, LOW);
- digitalWrite(CA3, LOW);
- digitalWrite(CA4, LOW);
- digitalWrite(CA5, LOW);
- digitalWrite(CA6, LOW);
- digitalWrite(CA7, LOW);
- digitalWrite(CA8, LOW);
- lightSegments(number);
- }
- void lightSegments(byte number){
- for (int i = 0;i < 7;i++) {
- int bit = bitRead(number, i);
- digitalWrite(segs[i], bit);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement