2023年3月19日日曜日

Cheap lazer gun No.2


 






























// LazerReceiver
#include <Servo.h>
Servo myservo;
int lazer1 = A0;
int value1;
int pointled1 = 3;
int pointled2 = 4;
int pointled3 = 5;
int pointled4 = 6;
int pointled5 = 7;
int pointled6 = 8;
int pointled7 = 9;
int pointled8 = 10;
int mypoint =0;
int servopin = 2;

void setup()
{
  Serial.begin(9600);
  pinMode(lazer1,INPUT);
  pinMode(pointled1,OUTPUT);
  pinMode(pointled2,OUTPUT); 
  pinMode(pointled3,OUTPUT);
  pinMode(pointled4,OUTPUT);
  pinMode(pointled5,OUTPUT);
  pinMode(pointled6,OUTPUT);
  pinMode(pointled7,OUTPUT);
  pinMode(pointled8,OUTPUT);
  myservo.attach(servopin,500,2400);
  pinMode(servopin,OUTPUT);
  myservo.write(105);

  digitalWrite(pointled1,HIGH);
  delay(100);
  digitalWrite(pointled1,LOW);
  delay(100);
  digitalWrite(pointled2,HIGH);
  delay(100);
  digitalWrite(pointled2,LOW);
  delay(100);
  digitalWrite(pointled3,HIGH);
  delay(100);
  digitalWrite(pointled3,LOW);
  delay(100);
  digitalWrite(pointled4,HIGH);
  delay(100);
  digitalWrite(pointled4,LOW);
  delay(100);
  digitalWrite(pointled5,HIGH);
  delay(100);
  digitalWrite(pointled5,LOW);
  delay(100);
  digitalWrite(pointled6,HIGH);
  delay(100);
  digitalWrite(pointled6,LOW);
  delay(100);
  digitalWrite(pointled7,HIGH);
  delay(100);
  digitalWrite(pointled7,LOW);
  delay(100);
  digitalWrite(pointled8,HIGH);
  delay(100);
  digitalWrite(pointled8,LOW);
  delay(100);
}

void loop() 
{
  value1 = analogRead(lazer1);
  delay(500);
  Serial.print("value1:  ");
  Serial.println(value1);
  Serial.println("point: ");
  Serial.println(mypoint);
   
  if(value1<10)
  {
   myservo.write(15);
   delay(300);
   myservo.write(105); 
   mypoint = mypoint + 1; 

   switch(mypoint)
   {
    case 1: 
      digitalWrite(pointled1,HIGH);
      break;
    case 2: 
      digitalWrite(pointled2,HIGH);
      break;
    case 3: 
      digitalWrite(pointled3,HIGH);
      break;
    case 4: 
      digitalWrite(pointled4,HIGH);
      break;
    case 5: 
      digitalWrite(pointled5,HIGH);
      break;
    case 6: 
      digitalWrite(pointled6,HIGH);
      break;  
    case 7: 
      digitalWrite(pointled7,HIGH);
      break;
    case 8: 
      digitalWrite(pointled8,HIGH);
      delay(500);
      digitalWrite(pointled8,LOW);
      digitalWrite(pointled7,LOW);
      digitalWrite(pointled6,LOW);
      digitalWrite(pointled5,LOW);
      digitalWrite(pointled4,LOW);
      digitalWrite(pointled3,LOW);
      digitalWrite(pointled2,LOW);
      digitalWrite(pointled1,LOW);
      mypoint =0;
      break;    
   }
  }   
}





0 件のコメント:

コメントを投稿