Загрузка данных


#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;
        }
    }
  }
  
  
  
}