Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Aa = 2;
- int Ba = 3;
- int Ca = 4;
- int Da = 5;
- int Ab = 6;
- int Bb = 7;
- int Cb = 8;
- int Db = 9;
- int Ac = 10;
- int Bc = 11;
- int Cc = 12;
- int Dc = 13;
- int Ad = 14;
- int Bd = 15;
- int Cd = 16;
- int Dd = 17;
- int cash = 18;
- int pwm = 19;
- int numers[]= {0,0,0,0}; // remembering last 4 numbers
- int i = 0;
- int randNumber;
- byte Byte = 0;
- boolean debug = true;
- boolean show =true;
- boolean reoutput = true;
- boolean reseting = false;
- void setup(){
- pinMode(Aa,OUTPUT);
- pinMode(Ba,OUTPUT);
- pinMode(Ca,OUTPUT);
- pinMode(Da,OUTPUT);
- pinMode(Ab,OUTPUT);
- pinMode(Bb,OUTPUT);
- pinMode(Cb,OUTPUT);
- pinMode(Db,OUTPUT);
- pinMode(Dc,OUTPUT);
- pinMode(Ac,OUTPUT);
- pinMode(Bc,OUTPUT);
- pinMode(Cc,OUTPUT);
- pinMode(Dc,OUTPUT);
- pinMode(Ad,OUTPUT);
- pinMode(Bd,OUTPUT);
- pinMode(Cd,OUTPUT);
- pinMode(Dd,OUTPUT);
- pinMode(cash,OUTPUT);
- pinMode(pwm,OUTPUT);
- Serial.begin(9600);
- Serial.write("starting up");
- tests(5);
- reset(5,0);
- }
- void loop (){
- recive();
- convert(numers[1],1);
- convert(numers[2],2);
- convert(numers[3],3);
- convert(numers[4],4);
- }
- void inputreset(){
- Byte = 0;
- numers[0] = 0;
- numers[1] = 0;
- numers[2] = 0;
- numers[3] = 0;
- i = 0;
- }
- void recive(){ if(Serial.available() ==1){
- Byte = Serial.read ();}
- if (Byte == 13){
- switch(reseting){
- case false:
- if (debug =true){ Serial.println(""); Serial.println("het ingegeven nummer is:");}
- int a;
- if (debug =true){
- Serial.print(numers[0]); Serial.print(numers[1]); Serial.print(numers[2]); Serial.print(numers[3]);
- Serial.println("");
- Serial.println ("Press enter to reset or ? for variables");
- }
- reoutput = true;
- reseting = true;
- break;
- case true:
- inputreset();
- break;
- }}
- else { if (reoutput == true){Serial.print(convert1(Byte)); } //show inputted numbers
- numers[i] = (convert1(Byte)) ;
- i++;}
- }
- int convert1 (int Byte) { //converting the inputted byte to something usable
- int nummer = 0;
- switch(Byte){
- case 48:
- nummer = 0;
- break;
- case 49:
- nummer = 1;
- break;
- case 50:
- nummer = 2;
- break;
- case 51:
- nummer = 3;
- break;
- case 52:
- nummer = 4;
- break;
- case 53:
- nummer = 5;
- break;
- case 54:
- nummer = 6;
- break;
- case 55:
- nummer = 7;
- break;
- case 56:
- nummer = 8;
- break;
- case 57:
- nummer =9 ;
- break;
- }return nummer;
- }
- void demo (){for(int i =1; i<6;i++){tests(i);}}
- void tests(int test){ //just some fancy test routine for showing the cababilities of the display
- reset(5,1);
- i=0;
- if (test == 1){ // count to 9 while scrolling the display to left with blanks
- while(i < 11){
- convert(i,1);
- delay(70);
- reset(1,1);
- convert(i,2);
- delay(70);
- reset(2,1);
- convert(i,3);
- delay(70);
- reset(3,1);
- convert(i,4);
- delay(250);
- reset(4,1);
- i++;
- }}
- if (test == 2){ // count to 9 while scrolling the display to right with blanks
- while (i < 11){
- convert(i,4);
- delay(70);
- reset(4,1);
- convert(i,3);
- delay(70);
- reset(3,1);
- convert(i,2);
- delay(70);
- reset(2,1);
- convert(i,1);
- delay(250);
- reset(1,1);
- i++;
- }}
- if (test == 3){ // count to 9 while scrolling the display to left with blanks
- while(i < 11){
- convert(i,1);
- delay(70);
- reset(1,0);
- convert(i,2);
- delay(70);
- reset(2,0);
- convert(i,3);
- delay(70);
- reset(3,0);
- convert(i,4);
- delay(250);
- reset(4,0);
- i++;
- }}
- if (test == 4){ // count to 9 while scrolling the display to right with blanks
- while (i < 11){
- convert(i,4);
- delay(70);
- reset(4,0);
- convert(i,3);
- delay(70);
- reset(3,0);
- convert(i,2);
- delay(70);
- reset(2,0);
- convert(i,1);
- delay(250);
- reset(1,0);
- i++;
- }}
- if (test == 5){ // count to 9 while scrolling the display to left with blanks
- while(i < 11){
- convert(i,2);
- delay(70);
- reset(1,1);
- convert(i,3);
- delay(70);
- reset(2,1);
- convert(i,1);
- delay(70);
- reset(3,1);
- convert(i,4);
- delay(250);
- reset(4,1);
- i++;
- }}
- }
- void convert(int nummer,int digit){ //method for converting decimal numbers to thear coresponding bcd numbers and printing them
- int A = 0;
- int B = 0;
- int C = 0;
- int D = 0; //local variables for temp storing the nibbles
- reset(digit,1);
- switch (nummer){ //the conversion statement
- case 1:
- A = 1;
- break;
- case 2:
- B = 1;
- break;
- case 3:
- A = 1;
- B = 1;
- break;
- case 4:
- C = 1;
- break;
- case 5:
- A = 1;
- C = 1;
- break;
- case 6:
- B = 1;
- C = 1;
- break;
- case 7:
- A = 1;
- B = 1;
- C = 1;
- break;
- case 8:
- D = 1;
- break;
- case 9:
- A = 1;
- D = 1;
- break;
- case 10:
- A = 1;
- B = 1;
- C = 1;
- D = 1;
- break;
- }
- switch (digit){ // the printing
- case 1:
- digitalWrite(Aa,A);
- digitalWrite(Ba,B);
- digitalWrite(Ca,C);
- digitalWrite(Da,D);
- break;
- case 2:
- digitalWrite(Ab,A);
- digitalWrite(Bb,B);
- digitalWrite(Cb,C);
- digitalWrite(Db,D);
- break;
- case 3:
- digitalWrite(Ac,A);
- digitalWrite(Bc,B);
- digitalWrite(Cc,C);
- digitalWrite(Dc,D);
- break;
- case 4:
- digitalWrite(Ad,A);
- digitalWrite(Bd,B);
- digitalWrite(Cd,C);
- digitalWrite(Dd,D);
- break;
- }}
- void fancyreset(int mode){}
- void reset(int digit,boolean state) {
- switch (digit){
- case 1:
- digitalWrite(Aa,state);
- digitalWrite(Ba,state);
- digitalWrite(Ca,state);
- digitalWrite(Da,state);
- break;
- case 2 :
- digitalWrite(Ab,state);
- digitalWrite(Bb,state);
- digitalWrite(Cb,state);
- digitalWrite(Db,state);
- break;
- case 3 :
- digitalWrite(Ac,state);
- digitalWrite(Bc,state);
- digitalWrite(Cc,state);
- digitalWrite(Dc,state);
- break;
- case 4 :
- digitalWrite(Ad,state);
- digitalWrite(Bd,state);
- digitalWrite(Cd,state);
- digitalWrite(Dd,state);
- break;
- default:
- digitalWrite(Aa,state);
- digitalWrite(Ba,state);
- digitalWrite(Ca,state);
- digitalWrite(Da,state);
- digitalWrite(Ab,state);
- digitalWrite(Bb,state);
- digitalWrite(Cb,state);
- digitalWrite(Db,state);
- digitalWrite(Ac,state);
- digitalWrite(Bc,state);
- digitalWrite(Cc,state);
- digitalWrite(Dc,state);
- digitalWrite(Ad,state);
- digitalWrite(Bd,state);
- digitalWrite(Cd,state);
- digitalWrite(Dd,state);
- break;
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement