//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);
}