2020年4月12日日曜日

Arduino Challenge10






//BeltConveyor1
//2020/03/29 Start
//2020/04/11 Up

int In1=9;
int In2=10;
int In3=11;
int In4=12;
int PBS1=6;
int PBS2=7;
int PBS3=8;
int LED1=14;
int LED2=15;
int LED3=16;
int FLimit;
int RLimit;

void setup() 
{
  pinMode(In1,OUTPUT);
  pinMode(In2,OUTPUT);
  pinMode(In3,OUTPUT);
  pinMode(In4,OUTPUT);
  pinMode(PBS1,INPUT);
  pinMode(PBS2,INPUT);
  pinMode(PBS3,INPUT); 
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(LED3,OUTPUT); 

  pinMode(2,INPUT);

  digitalWrite(In3,LOW);
  digitalWrite(In4,LOW);
  digitalWrite(LED1,LOW); 
  digitalWrite(LED2,HIGH);
  digitalWrite(LED3,LOW);

  attachInterrupt(0,FLimitOn,RISING);
  attachInterrupt(1,RLimitOn,RISING);
}

void loop() 
{
  FLimit=digitalRead(2);
  RLimit=digitalRead(3);
  
  if(digitalRead(PBS1)==HIGH && FLimit== LOW)
    {
      digitalWrite(In1,HIGH); 
      digitalWrite(In2,HIGH);
      digitalWrite(In3,HIGH);
      digitalWrite(In4,HIGH);
      digitalWrite(LED1,HIGH); 
      digitalWrite(LED2,LOW);
      digitalWrite(LED3,LOW); 
    }

  if(digitalRead(PBS2)==HIGH)
    {
      digitalWrite(In3,LOW);
      digitalWrite(In4,LOW); 
      digitalWrite(LED1,LOW); 
      digitalWrite(LED2,HIGH);
      digitalWrite(LED3,LOW);
    }
  
  if(digitalRead(PBS3)==HIGH && RLimit == LOW)
    {
      digitalWrite(In1,LOW);
      digitalWrite(In2,LOW);
      digitalWrite(In3,HIGH);
      digitalWrite(In4,HIGH);
      digitalWrite(LED1,LOW);
      digitalWrite(LED2,LOW); 
      digitalWrite(LED3,HIGH);
    }
    
}

void FLimitOn()
{
    digitalWrite(In3,LOW);
    digitalWrite(In4,LOW); 
    digitalWrite(LED1,LOW); 
    digitalWrite(LED2,HIGH);
    digitalWrite(LED3,LOW);
}

void RLimitOn()
{
    digitalWrite(In3,LOW);
    digitalWrite(In4,LOW); 
    digitalWrite(LED1,LOW); 
    digitalWrite(LED2,HIGH);
    digitalWrite(LED3,LOW);
}



0 件のコメント:

コメントを投稿