// Every-3A
// 2020.2.13

#define  SEN1  14
#define  SEN2  15
#define  SEN3  16
#define  SEN4  17
#define  F1_1  6
#define  F1_PWM 5
#define  F2_1   4
#define  F2_PWM 3
#define  F2_2   2
#define  P1  10
#define  P2  8
#define  P3  7
#define  P4  9
#define  TUIKA  11
#define  UNTEN  12

void setup() {
  pinMode(SEN1,INPUT);
  pinMode(SEN2,INPUT);
  pinMode(SEN3,INPUT);
  pinMode(SEN4,INPUT);
  pinMode(UNTEN,INPUT);
  pinMode(TUIKA,INPUT);
  pinMode(F1_1,OUTPUT);
  pinMode(F1_PWM,OUTPUT);
  pinMode(F2_1,OUTPUT);
  pinMode(F2_PWM,OUTPUT);
  pinMode(F2_2,OUTPUT);
  pinMode(P1,OUTPUT);
  pinMode(P2,OUTPUT);
  pinMode(P3,OUTPUT);
  pinMode(P4,OUTPUT);

  digitalWrite(F1_1,LOW);
  analogWrite(F1_PWM,0);
  digitalWrite(F2_1,LOW);
  analogWrite(F2_PWM,0);
  digitalWrite(F2_2,LOW);
  
  digitalWrite(P1,HIGH);
  delay(500);
  digitalWrite(P2,HIGH);
  delay(500);
  digitalWrite(P3,HIGH);
  delay(500);
  digitalWrite(P4,HIGH);
  delay(500);
  digitalWrite(P1,LOW);
  delay(500);
  digitalWrite(P2,LOW);
  delay(500);
  digitalWrite(P3,LOW);
  delay(500);
  digitalWrite(P4,LOW);
  delay(500);
}

void loop() {
  int i;
  int sen1;
  int sen2;
  int sen3;
  int sen4;
  int unten;

  unten = digitalRead(UNTEN);
  while (unten == LOW) {
           unten = digitalRead(UNTEN);
      }
      
// No1
  digitalWrite(P1,LOW);
  delay(500);
  digitalWrite(P2,LOW);
  delay(500);
  digitalWrite(F1_1,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F1_PWM, i);
      delay(5);
  }
  
  sen1 = digitalRead(SEN1);
  while (sen1 == HIGH) {
           sen1 = digitalRead(SEN1);
      }
  for(i=255;i>-1;i--){
      analogWrite(F1_PWM, i);
      delay(1);
  }

// No2
  digitalWrite(P1,LOW);
  delay(500);
  digitalWrite(P4,HIGH);
  delay(500);
  digitalWrite(F1_1,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F1_PWM, i);
      delay(5);
  }
  digitalWrite(F2_1,HIGH);
  analogWrite(F2_PWM,255);
  
  sen4 = digitalRead(SEN4);
  while (sen4 == HIGH) {
           sen4 = digitalRead(SEN4);
      }
  for(i=255;i>-1;i--){
      analogWrite(F2_PWM, i);
      delay(1);
  }

// No3
  digitalWrite(P3,HIGH);
  delay(500);
  digitalWrite(P4,HIGH);
  delay(500);
  digitalWrite(F2_1,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F2_PWM, i);
      delay(5);
  }
  
  sen3 = digitalRead(SEN3);
  while (sen3 == HIGH) {
           sen3 = digitalRead(SEN3);
      }
  for(i=255;i>-1;i--){
      analogWrite(F2_PWM, i);
      delay(1);
  }
  
// No4
  digitalWrite(P3,HIGH);
  delay(500);
  digitalWrite(P2,HIGH);
  delay(500);
  digitalWrite(F2_1,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F2_PWM, i);
      delay(5);
  }
  digitalWrite(F1_1,HIGH);
  analogWrite(F1_PWM,255);
  
  sen2 = digitalRead(SEN2);
  while (sen2 == HIGH) {
           sen2 = digitalRead(SEN2);
      }
  for(i=255;i>-1;i--){
      analogWrite(F1_PWM, i);
      delay(1);
  }
  digitalWrite(F2_1,LOW);
  analogWrite(F2_PWM,0);

// No5
  digitalWrite(P1,HIGH);
  delay(500);
  digitalWrite(P2,HIGH);
  delay(500);
  digitalWrite(F1_1,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F1_PWM, i);
      delay(5);
  }
  
  sen1 = digitalRead(SEN1);
  while (sen1 == HIGH) {
           sen1 = digitalRead(SEN1);
      }
  for(i=255;i>-1;i--){
      analogWrite(F1_PWM, i);
      delay(1);
  }
  
// No6
  digitalWrite(P1,HIGH);
  delay(500);
  digitalWrite(P3,LOW);
  delay(500);
  digitalWrite(F1_1,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F1_PWM, i);
      delay(5);
  }
  digitalWrite(F2_2,HIGH);
  analogWrite(F2_PWM,255);
  
  sen3 = digitalRead(SEN3);
  while (sen3 == HIGH) {
           sen3 = digitalRead(SEN3);
      }
  for(i=255;i>-1;i--){
      analogWrite(F2_PWM, i);
      delay(1);
  }  

// No7
  digitalWrite(P3,LOW);
  delay(500);
  digitalWrite(P4,LOW);
  delay(500);
  digitalWrite(F2_2,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F2_PWM, i);
      delay(5);
  }
  
  sen4 = digitalRead(SEN4);
  while (sen4 == HIGH) {
           sen4 = digitalRead(SEN4);
      }
  for(i=255;i>-1;i--){
      analogWrite(F2_PWM, i);
      delay(1);
  }
  
// No8
  digitalWrite(P2,LOW);
  delay(500);
  digitalWrite(P4,LOW);
  delay(500);
  digitalWrite(F2_2,HIGH);
  for(i=0;i<256;i++){
      analogWrite(F2_PWM, i);
      delay(5);
  }
  digitalWrite(F1_1,HIGH);
  analogWrite(F1_PWM,255);
  
  sen2 = digitalRead(SEN2);
  while (sen2 == HIGH) {
           sen2 = digitalRead(SEN2);
      }
  for(i=255;i>-1;i--){
      analogWrite(F1_PWM, i);
      delay(1);
  }
  digitalWrite(F2_2,LOW);
}