#include <Servo.h>
Servo servo;
void setup()
{
for(int i=2;i<=12;i++) pinMode(i, OUTPUT);
Serial.begin(9600);
servo.attach(12);
servo.write(90);
}
int PR;
int choise;
int pass = 511;
int X3, X2, X1;
int S1, S2, S3;
int flag1=1;
int flag2=1;
void ssi(int a, int b, int c, int d, int e, int f, int g) {
digitalWrite(2,a);
digitalWrite(3,b);
digitalWrite(4,c);
digitalWrite(5,d);
digitalWrite(6,e);
digitalWrite(7,f);
digitalWrite(8,g);
}
void number(int x) {
if(x==0) ssi(1,1,1,1,1,1,0); //0
if(x==1) ssi(0,1,1,0,0,0,0); //1
if(x==2) ssi(1,1,0,1,1,0,1); //2
if(x==3) ssi(1,1,1,1,0,0,1); //3
if(x==4) ssi(0,1,1,0,0,1,1); //4
if(x==5) ssi(1,0,1,1,0,1,1); //5
if(x==6) ssi(1,0,1,1,1,1,1); //6
if(x==7) ssi(1,1,1,0,0,0,0); //7
if(x==8) ssi(1,1,1,1,1,1,1); //8
if(x==9) ssi(1,1,1,1,0,1,1); //9
}
void loop()
{
PR=analogRead(A0);
choise=map(PR,0,1023,0,9);
number(choise);
digitalWrite(9,S1);
digitalWrite(10,S2);
digitalWrite(11,S3);
if(digitalRead(A1) and not S3) {
if(flag1) {
X1 = X2;
X2 = X3;
X3 = choise;
S3 = S2;
S2 = S1;
S1 = 1;
flag1=0;
}
}
else flag1=1;
if(digitalRead(A2) and flag2) {
if(X1*100 + X2*10 + X1 == pass) {
Serial.println(1);
servo.write(0);
S1 = 0;
S2 = 0;
S3 = 0;
X1 = 0;
X2 = 0;
X3 = 0;
delay(5000);
flag2 = 0;
}
else {
Serial.println(0);
S1 = 0;
S2 = 0;
S3 = 0;
X1 = 0;
X2 = 0;
X3 = 0;
for(int i;i<=5;i++) {
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,0);
delay(500);
digitalWrite(9,1);
digitalWrite(10,1);
digitalWrite(11,1);
delay(500);
flag2 = 0;
}
}
}
}