/*This software is provided in an “AS IS” condition,NO WARRANTIES in any form apply to this software. picmicrolab.com 9.27.2017 *************************************************************************************************************** 7-Segment Display Counter with Arduino */ int Segment_a = 2; int Segment_b = 3; int Segment_c = 4; int Segment_d = 5; int Segment_e = 6; int Segment_f = 7; int Segment_g = 8; int UP_Down = 9;//0-UP 1 - DOWN int count = 0; //Count Value // the setup function runs once when you press reset or power the board void setup() { // initialize 7-Segment I/O as output. pinMode(Segment_a, OUTPUT); //Segment_a pinMode(Segment_b, OUTPUT); //Segment_b pinMode(Segment_c, OUTPUT); //Segment_c pinMode(Segment_d, OUTPUT); //Segment_d pinMode(Segment_e, OUTPUT); //Segment_e pinMode(Segment_f, OUTPUT); //Segment_f pinMode(Segment_g, OUTPUT); //Segment_g pinMode(UP_Down, INPUT); //UP/DOWN COUNT } void loop() { if(digitalRead(UP_Down)== LOW) { Display7SegmentDigit(count); count++; delay(1000); if(count == 10) count = 0; } if(digitalRead(UP_Down)== HIGH) { Display7SegmentDigit(count); count--; delay(1000); if(count == 0) { Display7SegmentDigit(0); count = 10; } } } void Display7SegmentDigit(int digit) { if(digit == 0) { digitalWrite(Segment_a, HIGH); // Show digit 0 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, HIGH); digitalWrite(Segment_f, HIGH); digitalWrite(Segment_g, LOW); } if(digit == 1) { digitalWrite(Segment_a, LOW); // Show digit 1 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, LOW); digitalWrite(Segment_e, LOW); digitalWrite(Segment_f, LOW); digitalWrite(Segment_g, LOW); } if(digit == 2) { digitalWrite(Segment_a, HIGH); // Show digit 2 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, LOW); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, HIGH); digitalWrite(Segment_f, LOW); digitalWrite(Segment_g, HIGH); } if(digit == 3) { digitalWrite(Segment_a, HIGH); // Show digit 3 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, LOW); digitalWrite(Segment_f, LOW); digitalWrite(Segment_g, HIGH); } if(digit == 4) { digitalWrite(Segment_a, LOW); // Show digit 4 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, LOW); digitalWrite(Segment_e, LOW); digitalWrite(Segment_f, HIGH); digitalWrite(Segment_g, HIGH); } if(digit == 5) { digitalWrite(Segment_a, HIGH); // Show digit 5 on 7 - Segment digitalWrite(Segment_b, LOW); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, LOW); digitalWrite(Segment_f, HIGH); digitalWrite(Segment_g, HIGH); } if(digit == 6) { digitalWrite(Segment_a, HIGH); // Show digit 6 on 7 - Segment digitalWrite(Segment_b, LOW); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, HIGH); digitalWrite(Segment_f, HIGH); digitalWrite(Segment_g, HIGH); } if(digit == 7) { digitalWrite(Segment_a, HIGH); // Show digit 7 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, LOW); digitalWrite(Segment_e, LOW); digitalWrite(Segment_f, LOW); digitalWrite(Segment_g, LOW); } if(digit == 8) { digitalWrite(Segment_a, HIGH); // Show digit 8 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, HIGH); digitalWrite(Segment_f, HIGH); digitalWrite(Segment_g, HIGH); } if(digit == 9) { digitalWrite(Segment_a, HIGH); // Show digit 9 on 7 - Segment digitalWrite(Segment_b, HIGH); digitalWrite(Segment_c, HIGH); digitalWrite(Segment_d, HIGH); digitalWrite(Segment_e, LOW); digitalWrite(Segment_f, HIGH); digitalWrite(Segment_g, HIGH); } }