Hi
can someone please help me? I want to program my arduino so it starts the program when i press "ON (S1)" and i want to stop the program at any given moment no matter what step of the program is executed at this moment. To stop it i would like to use a second button "OFF (S0)". Has anyone an idea? If so please let me know.
Thank you for your time. Any help is appreciated! ![]()
Post your code, using code tags.
int SchalterZustandS1;
int SchalterZustandS0;
int S1_EIN = 4;
int S0_AUS = 2;
int ZulaufZU = 13;
int ZulaufAUF = 12;
int VentilStellung_2 = 11;
int VentilStellung_1 =10;
int MotorEIN = 9;
void setup() {
Serial.begin(9600);
pinMode(ZulaufZU,OUTPUT);
pinMode(ZulaufAUF,OUTPUT);
pinMode(MotorEIN,OUTPUT);
pinMode(S1_EIN,INPUT);
pinMode(S0_AUS,INPUT);
}
void loop() {
SchalterZustandS1 = digitalRead(S1_EIN);
SchalterZustandS0 = digitalRead(S0_AUS);
Serial.println(SchalterZustandS1,DEC);
Serial.println(SchalterZustandS0,DEC);
if(SchalterzustandS0 ==0)
{
if(SchalterZustandS1 ==1)
{
digitalWrite(ZulaufAUF,HIGH);
digitalWrite(VentilStellung_1,HIGH);
delay(15000);
digitalWrite(ZulaufAUF,LOW);
digitalWrite(VentilStellung_1,LOW);
delay(500);
digitalWrite(MotorEIN,HIGH);
delay(20000);
digitalWrite(MotorEIN,LOW);
delay(500);
digitalWrite(VentilStellung_2,HIGH);
delay(15000);
digitalWrite(VentilStellung_2,LOW);
delay(500);
digitalWrite(MotorEIN,HIGH);
delay(20000);
digitalWrite(MotorEIN,LOW);
delay(1000);
digitalWrite(ZulaufZU,HIGH);
delay(15000);
digitalWrite(ZulaufZU,LOW);
}}
}
Have a look at how millis() is used to manage timing without blocking in several things at a time.
A simple solution would be an ON/OFF switch on the Arduino power line ![]()
...R