PROBLEMAS CON EL CICLO DEL PROGRAMA

HOLA BUEN DIA DISCUPEN SOY NUEVO EN EL FORO Y PROGRAMANDO EN ARDUINO, ESTOY DESARROLLANDO UN PROGRAMA EL CUAL ES PARA REALIZAR UN LUBRICADOR, ESTE TIENE RUTINAS YA PROGRAMAS QUE AL PULSAR UN BOTON SE SELECCIONARAN, AL IGUAL MOSTRARA QUE RUTINA SE ESTA CORRIENDO EN UN LCD , PARA INICIO Y PARO DEL CICLO SE PULSAN DOS BOTONES, EL PROBLEMA QUE TENGO ES QUE NO LOGRO QUE ME REALIZE EL CICLO DE FORMA DETERMINADA HASTA SU INTERRUPCION. SOLO ME EJECUTA UNA ACCION Y PARA , AYUDA . ESTE ES MI CODIGO


const int ledPin1 = 8;
const int ledPin2 = 9;
const int ledPin3 = 10;
const int inputPin1 = A1;
const int inputPin2 = A2;
const int inputPin3 = A3;
const int inputPin4 = A4;
const int inputPin5 = A5;
int p1;
int p2;
int p3;
int p4;
int p5;

void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(inputPin1, INPUT);
pinMode(inputPin2, INPUT);
pinMode(inputPin3, INPUT);
pinMode(inputPin4, INPUT);
pinMode(inputPin5, INPUT);
}

void loop(){
p1=digitalRead(inputPin1);
p2=digitalRead(inputPin2);
p3=digitalRead(inputPin3);
p4=digitalRead(inputPin4);
p5=digitalRead(inputPin5);

if (p1 == HIGH) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
}

if (p2 == HIGH) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
}
if (p2 == HIGH){
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin2, HIGH);
delay (5000);
digitalWrite(ledPin2, LOW);
delay(1000);
return digitalWrite(ledPin2, HIGH);
}

if (p3 == HIGH) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin3, LOW);
}
if (p3 == HIGH) {
digitalWrite(ledPin2, HIGH);
delay (3000);
digitalWrite(ledPin2, LOW);
delay (1000);
digitalWrite(ledPin2, HIGH);
}

if (p4 == HIGH) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin3, LOW);
}
if (p4 == HIGH) {
digitalWrite(ledPin2, HIGH);
delay (1000);
digitalWrite(ledPin2, LOW);
delay (1000);
digitalWrite(ledPin2, HIGH);
}

if (p5 == HIGH) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
}
}

GRACIAS!

[Moderator mode = on]
Hola Alberto, bienvenido
Antes de nada te recomiendo que leas las normas del foro para saber como escribir ya que escribir en mayúsculas es sinónimo de gritar y también tienes que aprender como hacer para pegar código e imágenes en un mensaje.
Saludos!
[Moderator mode = off]

Si tu código usa delays hasta que estos no terminen no responderá a nada. Mira el ejemplo BlynkWithoutdelay.ino presente el el IDE de arduino.