Ich glaube ich habs sogar funktionierend hinbekommen :O
Hier das Ergebnis:
#include <Servo.h>
Servo S1; //Stellservo für Gänge
int T0 = 4; //Taster für Gang 0
int T1 = 2; //Taster für Gang 1
int T2 = 6; //Taster für Gang 2
int T3 = 7; //Taster für Gang 3
int potPin = 0;
int valPot = 0;
int ZuendungsWert = 0;
int Zuendung = 13;
int Merker = 0;
void setup() {
Serial.begin(9600);
pinMode(T0, INPUT);
pinMode(T1, INPUT);
pinMode(T2, INPUT);
pinMode(T3, INPUT);
pinMode(Zuendung, OUTPUT);
S1.attach(9);
}
void loop() {
valPot = analogRead(potPin);
Serial.print("Wert: ");
Serial.print(valPot);
delay(500);
ZuendungsWert = digitalRead(T0); //Ausschalten der Zuendung bei betätigen eines Tasters
ZuendungsWert = digitalRead(T1);
ZuendungsWert = digitalRead(T2);
ZuendungsWert = digitalRead(T3);
if(ZuendungsWert = HIGH) {
digitalWrite(Zuendung,LOW);
}
//Hier soll die Abfrage erfolgen ob der Servo auch wirklich richtig Steht, noch sind es nur ausgedachte Zahlenwerte und Winkel
if((Merker = 1)&&(valPot>950)&&(valPot<1000)) { //Wenn Servo die 9 Grad Angabe hat und ein Wertebereich vom Poti erreicht wird, schaltet die Zündung an
digitalWrite(Zuendung,HIGH);
}
if((Merker = 0)&&(valPot>780)&&(valPot<820)) { //Wenn Servo die 30 Grad Angabe hat und ein Wertebereich vom Poti erreicht wird, schaltet die Zündung an
digitalWrite(Zuendung,HIGH);
}
if((Merker = 2)&&(valPot>480)&&(valPot<520)) { //Wenn Servo die 60 Grad Angabe hat und ein Wertebereich vom Poti erreicht wird, schaltet die Zündung an
digitalWrite(Zuendung,HIGH);
}
if((Merker = 3)&&(valPot>10)&&(valPot<100)) { //Wenn Servo die 90 Grad Angabe hat und ein Wertebereich vom Poti erreicht wird, schaltet die Zündung an
digitalWrite(Zuendung,HIGH);
}
if(digitalRead(T0) == HIGH) { //Servoposition für Leerlauf
int Merker = 0;
delay(20);
S1.write(30);
}
if(digitalRead(T1) == HIGH) { //Servoposition für 1.Gang
int Merker = 1;
delay(20);
S1.write(9);
}
if(digitalRead(T2) == HIGH) { //Servoposition für 2.Gang
int Merker = 2;
delay(20);
S1.write(60);
}
if(digitalRead(T3) == HIGH) { //Servoposition für 3.Gang
int Merker = 3;
delay(20);
S1.write(90);
}
}
Danke für die Hilfe!!!
Gruß Felix