2023年5月7日日曜日

Airsoftgun Receiver No.1


 












// AirgunReceiver1

int pt1=2,pt2=3,pt3=4,pt4=5,pt5=6,pt6=7,pt7=8,pt8=9;

int red=10,green=11;

int up=12,down=13;

int isObstaclePin=A0; 

int isObstacle =HIGH;

int MyPoints = 0;


void setup() 

{  

  pinMode(pt1,OUTPUT); pinMode(pt2,OUTPUT);pinMode(pt3,OUTPUT);pinMode(pt4,OUTPUT);

  pinMode(pt5,OUTPUT); pinMode(pt6,OUTPUT); pinMode(pt7,OUTPUT); pinMode(pt8,OUTPUT);

  pinMode(red,OUTPUT);pinMode(green,OUTPUT);

  pinMode(up,OUTPUT);pinMode(down,OUTPUT);

  pinMode(isObstaclePin,INPUT);

  

  digitalWrite(red,HIGH);delay(200);digitalWrite(red,LOW);delay(200);

  digitalWrite(green,HIGH);delay(200);digitalWrite(green,LOW);delay(200);  

  

  digitalWrite(pt1,HIGH);delay(200);digitalWrite(pt1,LOW);delay(200);

  digitalWrite(pt2,HIGH);delay(200);digitalWrite(pt2,LOW);delay(200);

  digitalWrite(pt3,HIGH);delay(200);digitalWrite(pt3,LOW);delay(200);

  digitalWrite(pt4,HIGH);delay(200);digitalWrite(pt4,LOW);delay(200);

  digitalWrite(pt5,HIGH);delay(200);digitalWrite(pt5,LOW);delay(200);

  digitalWrite(pt6,HIGH);delay(200);digitalWrite(pt6,LOW);delay(200);

  digitalWrite(pt7,HIGH);delay(200);digitalWrite(pt7,LOW);delay(200);

  digitalWrite(pt8,HIGH);delay(200);digitalWrite(pt8,LOW); 

   

  digitalWrite(up,HIGH);

  digitalWrite(down,LOW);

  delay(500);

    

  digitalWrite(up,LOW);

  digitalWrite(down,LOW);

  delay(1000);


  digitalWrite(up,LOW);

  digitalWrite(down,HIGH);

  delay(500);

    

  digitalWrite(up,LOW);

  digitalWrite(down,LOW);  


  Serial.begin(9600);

  

}


void loop() 

{

  isObstacle=digitalRead(isObstaclePin);

  delay(200);

  Serial.println(isObstacle);

  

  if (isObstacle == LOW) 

  {

    MyPoints = MyPoints + 1;

    digitalWrite(red,HIGH);

    delay(1000);

    digitalWrite(red,LOW);


    digitalWrite(up,HIGH);

    digitalWrite(down,LOW);

    delay(500);

    

    digitalWrite(up,LOW);

    digitalWrite(down,LOW);

    delay(1000);


    digitalWrite(up,LOW);

    digitalWrite(down,HIGH);

    delay(500);

    

    digitalWrite(up,LOW);

    digitalWrite(down,LOW);  

  } 


  switch(MyPoints)

  {

    case 1:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,LOW);digitalWrite(pt3,LOW);digitalWrite(pt4,LOW);

      digitalWrite(pt5,LOW);digitalWrite(pt6,LOW);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW);  

      break;

    case 2:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,LOW);digitalWrite(pt4,LOW);

      digitalWrite(pt5,LOW);digitalWrite(pt6,LOW);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW);

      break;

    case 3:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,HIGH);digitalWrite(pt4,LOW);

      digitalWrite(pt5,LOW);digitalWrite(pt6,LOW);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW);

      break;

    case 4:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,HIGH);digitalWrite(pt4,HIGH);

      digitalWrite(pt5,LOW);digitalWrite(pt6,LOW);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW); 

      break;

    case 5:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,HIGH);digitalWrite(pt4,HIGH);

      digitalWrite(pt5,HIGH);digitalWrite(pt6,LOW);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW);   

      break;

    case 6:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,HIGH);digitalWrite(pt4,HIGH);

      digitalWrite(pt5,HIGH);digitalWrite(pt6,HIGH);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW); 

      break;

    case 7:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,HIGH);digitalWrite(pt4,HIGH);

      digitalWrite(pt5,HIGH);digitalWrite(pt6,HIGH);digitalWrite(pt7,HIGH);digitalWrite(pt8,LOW);  

      break;

    case 8:

      digitalWrite(pt1,HIGH);digitalWrite(pt2,HIGH);digitalWrite(pt3,HIGH);digitalWrite(pt4,HIGH);

      digitalWrite(pt5,HIGH);digitalWrite(pt6,HIGH);digitalWrite(pt7,HIGH);digitalWrite(pt8,HIGH);

      

      digitalWrite(green,HIGH);delay(1000);

      digitalWrite(green,LOW);delay(1000);

      digitalWrite(green,HIGH);delay(1000);

      digitalWrite(green,LOW);delay(1000);

      digitalWrite(green,HIGH);delay(1000);

      digitalWrite(green,LOW);delay(1000);    

    

      MyPoints = 0;

      digitalWrite(pt1,LOW);digitalWrite(pt2,LOW);digitalWrite(pt3,LOW);digitalWrite(pt4,LOW);

      digitalWrite(pt5,LOW);digitalWrite(pt6,LOW);digitalWrite(pt7,LOW);digitalWrite(pt8,LOW);


      break;

  }   

}

0 件のコメント:

コメントを投稿