// Every-6D
// 2020.2.24

#define  SEN1  14
#define  SEN2  15
#define  SEN3  16
#define  SEN4  17
#define  VOL   A4
#define  F1_1  3
#define  F2_1  6
#define  F2_2  5
#define  F0_1  10
#define  F0_2  9
#define  P1  11
#define  P2  8
#define  P3  7
#define  P4  4
#define  UNTEN  12

void setup() {
  pinMode(SEN1,INPUT);
  pinMode(SEN2,INPUT);
  pinMode(SEN3,INPUT);
  pinMode(SEN4,INPUT);
  pinMode(VOL,INPUT);
  pinMode(UNTEN,INPUT);
  pinMode(F1_1,OUTPUT);
  pinMode(F2_1,OUTPUT);
  pinMode(F2_2,OUTPUT);
  pinMode(F0_1,OUTPUT);
  pinMode(F0_2,OUTPUT);
  pinMode(P1,OUTPUT);
  pinMode(P2,OUTPUT);
  pinMode(P3,OUTPUT);
  pinMode(P4,OUTPUT);

  analogWrite(F1_1,0);
  analogWrite(F2_1,0);
  analogWrite(F2_2,0);
  analogWrite(F0_1,0);
  analogWrite(F0_2,0);
  
  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 vol;
  int unten;

  unten = digitalRead(UNTEN);
  while (unten == LOW) {
    unten = digitalRead(UNTEN);
  }
      
// No1
  digitalWrite(P1,LOW);
  delay(500);
  digitalWrite(P2,LOW);
  delay(500);
  vol=analogRead(VOL)/6;
  delay(10);
  analogWrite(F1_1,50);
  delay(50);
  for(i=50;i<255;i++){
    analogWrite(F1_1,vol*i/255);
    delay(5);
  }
  
  sen1 = digitalRead(SEN1);
  while (sen1 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F1_1,vol);
    sen1 = digitalRead(SEN1);
  }

// No2
  vol=analogRead(VOL)/6;
  analogWrite(F0_1,vol);
  digitalWrite(P4,HIGH);
  delay(500);
  
  sen4 = digitalRead(SEN4);
  while (sen4 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F1_1,vol);
    analogWrite(F0_1,vol);
    analogWrite(F2_1,vol);
    sen4 = digitalRead(SEN4);
  }
  for(i=255;i>-1;i--){
    analogWrite(F2_1,vol*i/255);
    delay(3);
  }
  analogWrite(F1_1,0);
  analogWrite(F0_1,0);
  delay(1000);

// No3
  digitalWrite(P3,HIGH);
  delay(500);
  vol=analogRead(VOL)/6;
  delay(10);
  analogWrite(F2_1,50);
  delay(50);
  for(i=50;i<255;i++){
    analogWrite(F2_1,vol*i/255);
    delay(5);
  }
  
  sen3 = digitalRead(SEN3);
  while (sen3 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F2_1, vol);
    sen3 = digitalRead(SEN3);
  }
  
// No4
  vol=analogRead(VOL)/6;
  analogWrite(F0_2, vol);
  digitalWrite(P2,HIGH);
  delay(500); 
  
  sen2 = digitalRead(SEN2);
  delay(10);
  while (sen2 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F2_1, vol);
    analogWrite(F0_2, vol);
    analogWrite(F1_1, vol);
    sen2 = digitalRead(SEN2);
  }
  for(i=255;i>-1;i--){
    analogWrite(F1_1,vol*i/255);
    delay(3);
  }
  analogWrite(F2_1,0);
  analogWrite(F0_2,0);
  delay(1000);

//N0.5
  digitalWrite(P1,HIGH);
  delay(500);
  vol=analogRead(VOL)/6;
  delay(10);
  analogWrite(F1_1,50);
  delay(50);
  for(i=50;i<255;i++){
    analogWrite(F1_1,vol*i/255);
    delay(5);
  }
  
  sen1 = digitalRead(SEN1);
  while (sen1 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F1_1,vol);
    sen1 = digitalRead(SEN1);
  }

// No6
  vol=analogRead(VOL)/6;
  analogWrite(F0_2,vol);
  digitalWrite(P3,LOW);
  delay(500);
  
  sen3 = digitalRead(SEN3);
  while (sen3 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F1_1,vol);
    analogWrite(F0_2,vol);
    analogWrite(F2_2,vol);
    sen3 = digitalRead(SEN3);
  }
  for(i=255;i>-1;i--){
    analogWrite(F2_2,vol*i/255);
    delay(3);
  }
  analogWrite(F1_1,0);
  analogWrite(F0_2,0);
  delay(1000);

// No7
  digitalWrite(P4,LOW);
  delay(500);
  vol=analogRead(VOL)/6;
  delay(10);
  analogWrite(F2_2,50);
  delay(50);
  for(i=50;i<255;i++){
    analogWrite(F2_2,vol*i/255);
    delay(5);
  }
  
  sen4 = digitalRead(SEN4);
  while (sen4 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F2_2, vol);
    sen4 = digitalRead(SEN4);
  }
  
// No8
  vol=analogRead(VOL)/6;
  analogWrite(F0_1, vol);
  digitalWrite(P2,LOW);
  delay(500); 
  
  sen2 = digitalRead(SEN2);
  delay(10);
  while (sen2 == HIGH) {
    vol=analogRead(VOL)/6;
    delay(10);
    analogWrite(F2_2, vol);
    analogWrite(F0_1, vol);
    analogWrite(F1_1, vol);
    sen2 = digitalRead(SEN2);
  }
  for(i=255;i>-1;i--){
    analogWrite(F1_1,vol*i/255);
    delay(3);
  }
  analogWrite(F2_2,0);
  analogWrite(F0_1,0);
  delay(1000);
    
}