2023年5月25日木曜日

Airsoftgun Receiver No.5


 








// AirgunReceiver5
int pt1=2,pt2=3,pt3=4,pt4=5,pt5=6,pt6=7,pt7=8,pt8=9;
int red=10,green=11,yellow=12,white=13;
int ls1=A1,ls2=A2,ls3=A3; 
int Value1,Value2,Value3;
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(yellow,OUTPUT);pinMode(white,OUTPUT);
  pinMode(ls1,INPUT);pinMode(ls2,INPUT);pinMode(ls3,INPUT);
  
  digitalWrite(red,HIGH);delay(200);digitalWrite(red,LOW);delay(200);
  digitalWrite(green,HIGH);delay(200);digitalWrite(green,LOW);delay(200);  
  digitalWrite(yellow,HIGH);delay(200);digitalWrite(yellow,LOW);delay(200);
  digitalWrite(white,HIGH);delay(200);digitalWrite(white,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);delay(200);   

  Serial.begin(9600);
}

void loop() 
{
  digitalWrite(white,HIGH);

  Value1 =digitalRead(ls1);
  Serial.print("Value1=   ");
  Serial.println(Value1);
  Value2 =digitalRead(ls2);
  Serial.print("Value2=   ");
  Serial.println(Value2);
  Value3 =digitalRead(ls3);
  Serial.print("Value3=   ");
  Serial.println(Value3);
  
  if(Value1 == LOW) 
  {
  digitalWrite(red,HIGH);delay(200);digitalWrite(red,LOW);delay(200); 
  MyPoints = MyPoints + 1;
  }
 
  if(Value2 == LOW) 
  {
    digitalWrite(green,HIGH);delay(200);digitalWrite(green,LOW);delay(200);
    MyPoints = MyPoints + 3; 
  }

  if(Value3 == LOW)
  {
    digitalWrite(yellow,HIGH);delay(200);digitalWrite(yellow,LOW);delay(200);
    MyPoints = MyPoints + 4; 
  }
 
  if (MyPoints == 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); 
  }

  if (MyPoints == 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); 
  }

  if (MyPoints == 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);  
  }

  if (MyPoints == 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);  
  }

  if (MyPoints == 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);    
  }

  if (MyPoints == 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); 
  }

  if (MyPoints == 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);   
  }

  if (MyPoints == 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);
    delay(1000);
    for(int i=0;i<2;i++)
    {
      digitalWrite(red,HIGH);digitalWrite(green,HIGH);digitalWrite(yellow,HIGH);delay(500); 
      digitalWrite(red,LOW);digitalWrite(green,LOW);digitalWrite(yellow,LOW);delay(500); 
    }
        
    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); 
  }

  if (MyPoints > 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);
      
    for(int i=0;i<2;i++)
    {
      digitalWrite(red,HIGH);digitalWrite(green,HIGH);digitalWrite(yellow,HIGH);delay(500); 
      digitalWrite(red,LOW);digitalWrite(green,LOW);digitalWrite(yellow,LOW);delay(500); 
    }
    
    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);
  }
}


0 件のコメント:

コメントを投稿