//lösung; beim roten knopf fehlt der widerstand, daher verfälschung des signals,
// mit grün müsste es gehen
/// warum geht rotstatus immer auf high, obwohl nichts bedient? 
//ziel 27,4,: roterr button soll servo auf 90 grad bringen
// grüner button auf 270 grad
// beim drücken roter knopf soll rote lampe 1 sek aufleuchten
// beim drücken grun: grüne lampe
////////Problem: servo bewegt sich, ohne dass knopf gedrückt,,,,,
////////wenn roter knopf gedrückt, leuchten grün und rot schön abwechselnd sychnron zum servo
//////// Position 150 wird nie eingenommen
//////// vielleivht: "rotstatus" wird durch knopfdruck nicht verändert? oder doch?
// 
int rotstatus = 0; // status des roten button = low
int gruenstatus = 0; // status des roten button = low
int zaehler = 0;
int LEDgruen=6;//
int LEDrot =5;
int tastergruen=7;//
int tastergruenstatus = 0;//
//int button = 2;   //pin of the first button 
int tasterrot  = 3;  //pin  of the second button ///rechter butto
#include<Servo.h> //include the servo library
Servo servo;  //create a servo object
int pos = 0;  //initial position of the servo
void  setup() {
  int rotstatus = 0; // status des roten button = high
int gruenstatus = 0; // status des gruenen button = high
  Serial.begin(9600);///
  pinMode(LEDgruen, OUTPUT);//
  pinMode(LEDrot, OUTPUT);//
  servo.attach(9);  //pin  used by the servo
  pinMode(tastergruen, INPUT_PULLUP);  //define first button as  input pullup
  pinMode(tasterrot , INPUT_PULLUP); //define second button as input  pullup
  /*
  INPUT_PULLUP send to arduino LOW signal, so, when you press  the button, you send a LOW signal to arduino
  */
}
//


void loop() {
  // digitalWrite(LEDgruen, HIGH); //ok
  //Serial.print(rotstatus ); // ist immer high, warum?
  servo.write(0); //ausgangsposition
  zaehler = zaehler + 1;


  //Serial.print(zaehler  ); // 
  //Serial.print("  ");
  
  //rotstatus=digitalRead(tasterrot); // status des roten knopfs: abfrage führt immer zu high, da spannng
  Serial.print(rotstatus ); // ist immer high, warum? weil auf 3 immer spannung, abfrage also immer 1
  rotstatus = 12; //ergbnis der abfrage wird verfälscht
  //Serial.print(gruenstatus );
 
 // pos = pos + 1; // die position des servos
 // tasterstatus=digitalRead(taster);// grüner knopf?
 
 // if (pos > 400)     // 
 // {
 //  pos = 0; //ok pos wird zurückgesetzt
 // tasterstatus = HIGH; //blauelampe leuchtet bei knopfdruck, spätesttens nach 200
  //servo.write(90)
  //rotstatus = HIGH;
//  }

 // if (tasterstatus == HIGH ) // HiGH ist 1 , status des grünen tasters?
  
 //    { digitalWrite(LEDblau, HIGH ); //
 //     // servo.write(180);
       //Serial.println ("hoch ");
//       delay (250); //
      // servo.write(0);
 //     digitalWrite(LEDblau, LOW );//

//     }


  if (rotstatus == HIGH) // 0 = tief, 1 = high
      rotstatus = 24; // test ob die if-schleife abgearb wird, erg: ja
      Serial.print("hoch" ); // 
      Serial.print(zaehler); Serial.print("xx","); // 
      digitalWrite(LEDgruen, HIGH);
      delay(1500);
      digitalWrite(LEDgruen, LOW);
    // { //digitalWrite(LEDblau, HIGH ); //
      ///////////////////////// Serial.print("rothoch ");
       digitalWrite(LEDrot, HIGH );
       //digitalWrite(LEDblau, HIGH);
       //delay(1500);
       servo.write(180); // absolute position!
       delay(1500);
       digitalWrite(LEDrot , LOW ); // geht rote lampe aus? ja
       /////////////////servo.write(+150);
       //rotstatus = HIGH; // wieder auf den ausgangsstand = high = 1
       //Serial.print(zaehler );
       //Serial.print("XXX" );
       //Serial.print(rotstatus );
       
       
    // }

//}
//else

//{ digitalWrite(LEDblau, LOW  ); // low istt 0

//digitagitalWrite(LEDblau, LOW) ;//
//Serial.print("tief");
//delay (100 ) ;
}
//}


/*

  // put your main code here, to run repeatedly:
  if (digitalRead(taster ) ==  LOW) { //if Value read of the button ==LOW:
    pos++;  //increases the value  of the "pos" variable each time the push button of the left is pressed
    delay(5);  //5 milliseconds of delay
    servo.write(pos); //servo goes to variable pos
  }
  if (digitalRead(button1) == LOW) { //if Value read of the button ==LOW:
    Serial.print("€€€");
    pos == -30 ;// servo(pos ) ;
   // pos--;  //decreases the value of the "pos" variable each time the push button  of the right is pressed
    delay(15); //5 milliseconds of delay
    servo.write(pos);  //servo goes to variable pos
  }
}
*/