2023年5月18日木曜日

Lazergun Receiver No.1


 
















// LazerReceiver1

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 Lazer1=A0,Lazer2=A1,Lazer3=A2; 

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(Lazer1,INPUT);pinMode(Lazer2,INPUT);pinMode(Lazer3,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 =analogRead(Lazer1);

  Serial.print("Value1=   ");Serial.println(Value1); 


  Value2 =analogRead(Lazer2);

  Serial.print("Value2=   ");Serial.println(Value2);


  Value3 =analogRead(Lazer3);

  Serial.print("Value3=   ");Serial.println(Value3);


  if(Value1 < 100) 

 {

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

  MyPoints = MyPoints + 3;

 }

 

  if(Value2 < 100) 

  {

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

    MyPoints = MyPoints + 2; 

  }


  if(Value3 < 100) 

  {

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

    MyPoints = MyPoints + 1; 

  }

 

  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 件のコメント:

コメントを投稿