Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool A = 2;
- bool B = 3;
- bool C = 4;
- bool D = 5;
- bool E = 6;
- bool F = 7;
- bool G = 8;
- int PWR1 = 10;
- int PWR2 = 11;
- int PWR3 = 12;
- int PWR4 = 13;
- int TimeSec = 0;
- int TimeMin1 = 0;
- int TimeMin2 = 0;
- int TimeHour1 = 8;
- int TimeHour2 = 0;
- int Display = 0;
- int Loop = 0;
- int Digit = 0;
- int Memory1 = 0;
- int Memory2 = 0;
- int Memory3 = 0;
- int Memory4 = 0;
- int Rewrite1 = 0;
- int Rewrite2 = 0;
- int Rewrite3 = 0;
- int Rewrite4 = 0;
- void setup() {
- pinMode(A, OUTPUT);
- pinMode(B, OUTPUT);
- pinMode(C, OUTPUT);
- pinMode(D, OUTPUT);
- pinMode(E, OUTPUT);
- pinMode(F, OUTPUT);
- pinMode(G, OUTPUT);
- pinMode(PWR1, OUTPUT);
- pinMode(PWR2, OUTPUT);
- pinMode(PWR3, OUTPUT);
- pinMode(PWR4, OUTPUT);
- }
- void loop() {
- loop:
- delay(250);
- Digit = Digit + 1;
- if (Digit > 4) { Digit = 1; }
- if (Digit == 1) { goto digit1; }
- if (Digit == 2) { goto digit2; }
- if (Digit == 3) { goto digit3; }
- if (Digit == 4) { goto digit4; }
- // Supposedly turns on the 7-segment display that is next in line to have its digit edited but doesn't work?
- digit1:
- digitalWrite(PWR1, HIGH);
- digitalWrite(PWR2, LOW);
- digitalWrite(PWR3, LOW);
- digitalWrite(PWR4, LOW);
- Display = Memory1;
- goto skip;
- digit2:
- digitalWrite(PWR2, HIGH);
- digitalWrite(PWR1, LOW);
- digitalWrite(PWR3, LOW);
- digitalWrite(PWR4, LOW);
- Display = Memory2;
- goto skip;
- digit3:
- digitalWrite(PWR3, HIGH);
- digitalWrite(PWR1, LOW);
- digitalWrite(PWR2, LOW);
- digitalWrite(PWR4, LOW);
- Display = Memory3;
- goto skip;
- digit4:
- digitalWrite(PWR4, HIGH);
- digitalWrite(PWR1, LOW);
- digitalWrite(PWR2, LOW);
- digitalWrite(PWR3, LOW);
- Display = Memory4;
- skip:
- // Manual Turning on of LEDs is overcomplicated and can be made much shorter yes I know :(
- if (Display == 1) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- }
- if (Display == 2) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(G, LOW);
- digitalWrite(E, LOW);
- digitalWrite(D, LOW);
- }
- if (Display == 3) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- digitalWrite(G, LOW);
- digitalWrite(D, LOW);
- }
- if (Display == 4) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(B, LOW);
- digitalWrite(G, LOW);
- digitalWrite(F, LOW);
- digitalWrite(C, LOW);
- }
- if (Display == 5) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(F, LOW);
- digitalWrite(G, LOW);
- digitalWrite(C, LOW);
- digitalWrite(D, LOW);
- }
- if (Display == 6) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(F, LOW);
- digitalWrite(G, LOW);
- digitalWrite(C, LOW);
- digitalWrite(D, LOW);
- digitalWrite(E, LOW);
- }
- if (Display == 7) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- }
- if (Display == 8) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- digitalWrite(D, LOW);
- digitalWrite(F, LOW);
- digitalWrite(G, LOW);
- digitalWrite(E, LOW);
- }
- if (Display == 9) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- digitalWrite(D, LOW);
- digitalWrite(F, LOW);
- digitalWrite(G, LOW);
- }
- if (Display == 0) {
- digitalWrite(A, HIGH);
- digitalWrite(B, HIGH);
- digitalWrite(C, HIGH);
- digitalWrite(D, HIGH);
- digitalWrite(E, HIGH);
- digitalWrite(F, HIGH);
- digitalWrite(G, HIGH);
- digitalWrite(A, LOW);
- digitalWrite(B, LOW);
- digitalWrite(C, LOW);
- digitalWrite(D, LOW);
- digitalWrite(E, LOW);
- digitalWrite(F, LOW);
- }
- // Checks how many times it has looped over
- Loop = Loop + 1;
- if (Loop < 4) {goto loop;}
- else
- {
- // Resets Loop count and counts 1 second (normally it has a delay(1000) but the delay(250) on the loop to account for LED's turning on is counting for me )
- Loop = 0;
- TimeSec = (TimeSec + 1);
- if (TimeSec == 60) {
- TimeMin1 = (TimeMin1 + 1);
- Memory1 = TimeMin1;
- TimeSec = 0;
- if (TimeMin1 == 10) {
- TimeMin2 = (TimeMin2 + 1);
- Memory2 = TimeMin2;
- TimeMin1 = 0;
- Memory1 = TimeMin1;
- if (TimeMin2 == 7) {
- TimeHour1 = (TimeHour1 + 1);
- Memory3 = TimeHour1;
- TimeMin2 = 0;
- Memory2 = TimeMin2;
- if (TimeHour1 == 10) {
- TimeHour2 = 1;
- Memory4 = TimeHour2;
- TimeHour1 = 0;
- Memory3 = TimeHour1;
- if (TimeHour1 == 3 && TimeHour2 == 1) {
- TimeHour2 = 0;
- Memory4 = TimeHour2;
- TimeHour1 = 1;
- Memory3 = TimeHour1;
- }
- }
- }
- }
- }
- }
- }
- bool A = 2;
- bool B = 3;
- bool C = 4;
- bool D = 5;
- bool E = 6;
- bool F = 7;
- bool G = 8;
- byte digits[] = {0b1111110 , 0b0110000, 0b1101101, 0b1111001,
- 0b0110011, 0b1011011, 0b1011111, 0b1110000, 0b1111111, 0b1111011};
- // pins to segments g,f,e,d,c,b,a
- byte pins[] = {3,4,5,6,7,8,9};
- void displayNumber(int aNumber) {
- for (int i = 0; i < 7; i++) {
- digitalWrite(pins[i], digits[aNumber] & (1 << i));
- }
- }
- void setup(){
- for (int i = 0; i < 7; i++){
- pinMode(pins[i], OUTPUT);
- }
- }
- void loop(){
- for (int i = 0; i < 10; i++) {
- displayNumber(i);
- delay(1000);
- }
- }
- while (!digitalRead(SW1)) // set minutes
- {
- minutes++;
- if (minutes > 59) minutes = 0;
- for(int i = 20 ; i >0 ; i--) {
- int timp= hours*100+minutes;
- if (timp > 1000) displayNumber01(timp);
- else displayNumber02(timp);
- }
- delay(150);
- }
- while (!digitalRead(SW2)) // set hours
- {
- hours++;
- if (hours > 12) hours = 01;
- for(int i = 20 ; i >0 ; i--) {
- int timp= hours*100+minutes;
- if (timp > 1000) displayNumber01(timp);
- else displayNumber02(timp);
- }
- delay(150);
- }
- for(int i = 20 ; i >0 ; i--) {
- displayNumber01(hours*100+minutes);
- }
- setTime(hours,minutes,0,0,0,0);
- //Turn on a digit for a short amount of time
- switch(digit) {
- case 1:
- digitalWrite(digit1, DIGIT_ON);
- digitalWrite(segDP, LOW);
- break;
- //Turn off all segments
- lightNumber(10);
- //Turn off all digits
- digitalWrite(digit1, DIGIT_OFF);
- digitalWrite(digit2, DIGIT_OFF);
- digitalWrite(digit3, DIGIT_OFF);
- digitalWrite(digit4, DIGIT_OFF);
- //Turn on a digit for a short amount of time
- switch(digit) {
- case 1:
- lightNumber(10);
- digitalWrite(segDP, LOW);
- break;
- //Turn off all segments
- lightNumber(10);
- //Turn off all digits
- digitalWrite(digit1, DIGIT_OFF);
- digitalWrite(digit2, DIGIT_OFF);
- digitalWrite(digit3, DIGIT_OFF);
- digitalWrite(digit4, DIGIT_OFF);
- //Turn on a digit for a short amount of time
- switch(digit) {
- case 1:
- digitalWrite(digit1, DIGIT_ON);
- digitalWrite(segDP, HIGH);
- break;
- //Turn off all segments
- lightNumber(10);
- //Turn off all digits
- digitalWrite(digit1, DIGIT_OFF);
- digitalWrite(digit2, DIGIT_OFF);
- digitalWrite(digit3, DIGIT_OFF);
- digitalWrite(digit4, DIGIT_OFF);
- //Turn on a digit for a short amount of time
- switch(digit) {
- case 1:
- lightNumber(10);
- digitalWrite(segDP, HIGH);
- break;
- //Turn off all segments
- lightNumber(10);
- //Turn off all digits
- digitalWrite(digit1, DIGIT_OFF);
- digitalWrite(digit2, DIGIT_OFF);
- digitalWrite(digit3, DIGIT_OFF);
- digitalWrite(digit4, DIGIT_OFF);
Add Comment
Please, Sign In to add comment