/* A --- F | | B | G | --- E | | C | | --- D */ int S0,S1,S2,S3; int S0_value,S1_value,S2_value,S3_value; int A = 12; int B = 8; int C = 5; int D = 3; int E = 2; int F = 11; int G = 6; int DP = 4; int D1 = 13; int D2 = 10; int D3 = 9; int D4 = 7; void setup() { pinMode (D1, OUTPUT); pinMode (D2, OUTPUT); pinMode (D3, OUTPUT); pinMode (D4, OUTPUT); pinMode (A, OUTPUT); pinMode (B, OUTPUT); pinMode (C, OUTPUT); pinMode (D, OUTPUT); pinMode (E, OUTPUT); pinMode (F, OUTPUT); pinMode (G, OUTPUT); pinMode (DP, OUTPUT); } void loop() { while (1){ S0_value=analogRead(A0); S1_value=analogRead(A1); S2_value=analogRead(A2); S3_value=analogRead(A3); //Pasando a digital if(S0_value>200) { S0=1; } if(S0_value<200) { S0=0; } if(S1_value>200) { S1=1; } if (S1_value<200) { S1=0; } if(S2_value>200) { S2=1; } if(S2_value<200) { S2=0; } if(S3_value>200) { S3=1; } if(S3_value<200) { S3=0; } if (S0==0 & S1==0 & S2==0 & S3==0) //0000 { digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==0 & S2==0 & S3==1) //0001 { digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==0 & S2==1 & S3==0) //0010 { digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==0 & S2==1 & S3==1) //0011 { digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==1 & S2==0 & S3==0) //0100 { digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==1 & S2==0 & S3==1) //0101 { digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==1 & S2==1 & S3==0) //0110 { digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==0 & S1==1 & S2==1 & S3==1) //0111 { digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==0 & S2==0 & S3==0) //1000 { digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==0 & S2==0 & S3==1) //1001 { digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==0 & S2==1 & S3==0) //1010 { digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==0 & S2==1 & S3==1) //1011 { digitalWrite(D1,LOW); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==1 & S2==0 & S3==0) //1100 { digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==1 & S2==0 & S3==1) //1101 { digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==1 & S2==1 & S3==0) //1110 { digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,HIGH); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); digitalWrite(D3,HIGH); digitalWrite(D4,LOW); // Cero digitalWrite (A,HIGH); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,HIGH); digitalWrite (E,HIGH); digitalWrite (F,HIGH); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } if (S0==1 & S1==1 & S2==1 & S3==1) //1111 { digitalWrite(D1,LOW); digitalWrite(D2,LOW); digitalWrite(D3,LOW); digitalWrite(D4,LOW); //Uno digitalWrite (A,LOW); digitalWrite (B,HIGH); digitalWrite (C,HIGH); digitalWrite (D,LOW); digitalWrite (E,LOW); digitalWrite (F,LOW); digitalWrite (G,LOW); digitalWrite (DP,LOW); delay(10); } } delay(10); }