Hallo,
ich habe folgendes Problem, ich möchte gerne wenn der "Taster 1 HIGH" ist, dass die Bedingung aus dem Programm ausgeführt werden soll. Das gleich soll auch mit Taster 2 passieren. Leider funktioniert das nicht, da die Bedingungen die zu erst steht nicht berücksichtigt wird und immer nur das zweite if abgerufen wird, auch wenn der Taster 1 gedrückt wird. Eigentlich ist es doch so, dass der Loop Stück für Stück abgearbeitet wird?
Danke schonmal im Voraus für euere Hilfe!
#include <SoftwareSerial.h>
int Poti_Zylinder = A0;
int Poti_Stellung = A1;
int Taster_1 = 13;
int Taster_2 = 6;
int Freigabe_Ansteuereung = 3;
int Ansteuerung_Relai = 4;
int R_Poti1 = 0; // Poti am Zylinder
int R_Poti2 = 0; // Sollwert Poti
int T_1 = 0; // Ein Taster 1
int T_2 = 0; // Ein Taster 2
int Sollwert_1 = 0; // Sollwert Position Zylinder
void setup() {
// put your setup code here, to run once:
Serial.begin(4800);
pinMode(Taster_1,INPUT);
pinMode(Taster_2,INPUT);
pinMode(Poti_Zylinder,INPUT);
pinMode(Poti_Stellung,INPUT);
pinMode(Freigabe_Ansteuereung,OUTPUT);
pinMode(Ansteuerung_Relai,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
T_1=digitalRead(Taster_1);
T_2=digitalRead(Taster_2);
Sollwert_1= map(R_Poti2, 0, 1023, 395, 603);
R_Poti1=analogRead(Poti_Zylinder);
R_Poti2=analogRead(Poti_Stellung);
Serial.print(350);
Serial.print(" ");
Serial.print(650);
Serial.print(" ");
Serial.print(Sollwert_1);
Serial.print(" , ");
Serial.println(R_Poti1);
if(R_Poti1 < Sollwert_1 && T_1 == HIGH){
digitalWrite(Ansteuerung_Relai,HIGH);
digitalWrite(Freigabe_Ansteuereung,HIGH);
}
else{
digitalWrite(Ansteuerung_Relai,LOW);
digitalWrite(Freigabe_Ansteuereung,LOW);
}
if(T_2 == HIGH ){
digitalWrite(Ansteuerung_Relai,HIGH);
digitalWrite(Freigabe_Ansteuereung,HIGH);
}
else{
digitalWrite(Ansteuerung_Relai,LOW);
digitalWrite(Freigabe_Ansteuereung,LOW);
}
}