Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //arduino 4 digit 7 segment project
- #define DIGIT_ON HIGH
- #define DIGIT_OFF LOW
- int time = 1;
- int x=100;
- int a = 1;
- int b = 2;
- int c = 3;
- int d = 4;
- int e = 5;
- int f = 6;
- int g = 7;
- //segments
- char seg[]= {a,b,c,d,e,f,g};
- //numbers and others
- int one[] = {0,0,1,1,0,0,0};
- int two[] = {1,1,0,1,1,0,1};
- int three[] = {0,1,1,1,1,0,1};
- int four[] = {0,0,1,1,0,1,1};
- int five[] = {0,1,1,0,1,1,1};
- int six[] = {1,1,1,0,1,1,1};
- int seven[] = {0,0,1,1,1,0,0};
- int eight[] = {1,1,1,1,1,1,1};
- int nine[] = {0,0,1,1,1,1,1};
- int zero[] = {1,1,1,1,1,1,0};
- int hifen[] = {0,0,0,0,0,0,1};
- int o[] = {1,1,1,0,0,0,1};
- int eye[] = {1,1,1,1,1,0,0};
- int t;
- void setup(){
- pinMode(13, OUTPUT);// 4 digit
- pinMode(12, OUTPUT);// 3 digit
- pinMode(11, OUTPUT);// 2 digit
- pinMode(10, OUTPUT);// 1 digit
- pinMode(g, OUTPUT);
- pinMode(f, OUTPUT);
- pinMode(e, OUTPUT);
- pinMode(d, OUTPUT);
- pinMode(c, OUTPUT);
- pinMode(b, OUTPUT);
- pinMode(a, OUTPUT);
- }
- void loop(){
- //counter
- /*
- for(int i=0; i<10; i++){
- for(int j=0; j<10; j++){
- for(int k=0; k<10; k++){
- for(int l=0; l<10; l++){
- t=120;
- while(t!=0){
- printNumber(i,3);
- delay(time);
- printNumber(j,2);
- delay(time);
- printNumber(k,1);
- delay(time);
- printNumber(l,0);
- delay(time);
- t--;
- }
- }
- }
- }
- }*/
- //loop
- for(int i =0 ; i<8 ; i++){
- lightNumber(o);
- digitalWrite((10),LOW);
- delay(200);
- lightNumber(hifen);
- digitalWrite((11),LOW);
- delay(200);
- lightNumber(hifen);
- digitalWrite((12),LOW);
- delay(200);
- lightNumber(o);
- digitalWrite((13),LOW);
- delay(200);
- lightNumber(hifen);
- digitalWrite((12),LOW);
- delay(200);
- lightNumber(hifen);
- digitalWrite((11),LOW);
- delay(200);
- }
- }
- void printNumber(int n, int index){
- clearLeds();
- switch (n){
- case 1:
- lightNumber(one);
- digitalWrite((10+index),LOW);
- break;
- case 2:
- lightNumber(two);
- digitalWrite((10+index),LOW);
- break;
- case 3:
- lightNumber(three);
- digitalWrite((10+index),LOW);
- break;
- case 4:
- lightNumber(four);
- digitalWrite((10+index),LOW);
- break;
- case 5:
- lightNumber(five);
- digitalWrite((10+index),LOW);
- break;
- case 6:
- lightNumber(six);
- digitalWrite((10+index),LOW);
- break;
- case 7:
- lightNumber(seven);
- digitalWrite((10+index),LOW);
- break;
- case 8:
- lightNumber(eight);
- digitalWrite((10+index),LOW);
- break;
- case 9:
- lightNumber(nine);
- digitalWrite((10+index),LOW);
- break;
- case 0:
- lightNumber(zero);
- digitalWrite((10+index),LOW);
- break;
- case 99:
- int test[] = {1,1,0,1,1,0,1};
- lightNumber(test);
- digitalWrite((10+index),LOW);
- break;
- }
- }
- void lightNumber(int c[]){
- clearLeds();
- for(int i=0; i<7; i++){
- if(c[i]==1){
- digitalWrite(seg[i], HIGH);
- }
- }
- }
- void clearLeds(){
- for(int i=0; i<7; i++){
- digitalWrite(seg[i], LOW);
- }
- digitalWrite(13, HIGH);
- digitalWrite(12, HIGH);
- digitalWrite(11, HIGH);
- digitalWrite(10, HIGH);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement