Relay control with button

Hi, everybody
I am dealing with a project that tries to control relays with buttons using Arduino.
there are 4 relays and 4 buttons when I press the start key 1. the relay is triggered 1. when the button is pressed 1. relay stops 2. 2. the relay is triggered when I press the button 2. relay stops 3. the relay is triggered 3. when I press the button 3. the relay stops at 4. the relay is triggered 4. and when I press the button, all the relays stop.3 if I press the repeat button, I want this cycle to repeat and stop 3 times, but 2. when I press the button, the loop exits the cases and does not start the if's inside the case.Do you want to help

void setup()
{
  pinMode(1, OUTPUT);
  pinMode(10, INPUT);
  pinMode(2, INPUT);
  pinMode(4, INPUT);
  pinMode(8, INPUT);
  pinMode(3, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
 pinMode(11, INPUT);

}

int count=0;


void loop()
{
 int count=digitalRead(10);// digitalRead(10) start butonu
if(digitalRead(12)==1)     // digitalRead(12) 3 tekrar butonu
{
	count=2;
}
	
  switch(count){
    
    
    case 1:  
 
    digitalWrite(1,HIGH);
    delay(10);
   digitalWrite(3,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
   
  if(digitalRead(2)==1)//1. swich
  {
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
     
    digitalWrite(3,HIGH);
    delay(10);
     
  }
    
  else if(digitalRead(4)==1)// 2. swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
     
      
    digitalWrite(9,HIGH);
    delay(10);
      
  }

  else if(digitalRead(8)==1)//  3.swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
     
      
    digitalWrite(6,HIGH);
    delay(10);
      
  }
    
    else	if(digitalRead(11)==1) //4.swich durdur
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
      
  }
    break;
 	 
    
    case 2:
    
    digitalWrite(1,HIGH);
    delay(10);
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);

  if(digitalRead(2)==1   )//1. swich
  {
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
     
    digitalWrite(3,HIGH);
    delay(10);
     
  }
  
    
  else if(digitalRead(4)==1)// 2. swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
     
      
    digitalWrite(9,HIGH);
    delay(10);
      
  }
  
    
  else if(digitalRead(8)==1)//  3.swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10); 
     
      
    digitalWrite(6,HIGH);
    delay(10);
      
  }
    else if(digitalRead(11)==1) //4.swich başa dön
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,HIGH);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
      
  }
     
 else if(digitalRead(2)==1)//1. swich
  {
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
     
    digitalWrite(3,HIGH);
    delay(10);
     
  }
  
    
  else  if(digitalRead(4)==1)// 2. swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
     
      
    digitalWrite(9,HIGH);
    delay(10);
      
  }
  
    
  else  if(digitalRead(8)==1)//  3.swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
       
      
    digitalWrite(6,HIGH);
    delay(10);
      
  }
    else if(digitalRead(11)==1) //4.swich başa dön
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,HIGH);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
      
  }
    
  
 else  if(digitalRead(2)==1)//1. swich
  {
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
     
    digitalWrite(3,HIGH);
    delay(10);
     
  }
  
    
   else if(digitalRead(4)==1)// 2. swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);  
     
      
    digitalWrite(9,HIGH);
    delay(10);
      
  }
  
    
   else if(digitalRead(8)==1)//  3.swich
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);  
     
      
    digitalWrite(6,HIGH);
    delay(10);
      
  }
   else  if(digitalRead(11)==1) //4.swich durdur
  {
    digitalWrite(3,LOW);
    delay(10);
    digitalWrite(1,LOW);
    delay(10);
    digitalWrite(9,LOW);
    delay(10);
    digitalWrite(6,LOW);
    delay(10);
      
  }
    break;
    
  }
}

Your description is very confusing and I don't understand what you are trying to do

I notice that you are using pins 0 and 1 as outputs. This is not generally a good idea when using most Arduinos because those pins are used by the Serial interface and for uploading code to the board

Which Arduino board are you using ?

I see

  switch (count)
  {
    case 1:

will count ever be 1 in the sketch ?

arduino uno

Hello mirac_3444

Post a simple timing diagram to show all input- and output states.

Have a nice day and enjoy programming in C++ and learning.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.