Me #idiot teaching

Hi Im trying to write my first code and I need some tips how to improove it.

I don't know how to last if loop correctly with that while loop looking not retarded,first two loops have to stay like this ,because
there will be diffrent timings on each one .

I don't want ready solution but some links or info to learn something.

Thanks.

void loop() {
  if (digitalRead(up) == HIGH){

digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (5000)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)   
}

if(digitalRead(down)== HIGH){

digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (5000)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
 }
if(digitalRead(up)==HIGH || digitalRead(down)==HIGH){
  while(digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)||digitalWrite(dida,HIGH)){
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)
  digitalWrite(dida,HIGH)

}
}

Can you explain in words what you want this while() in the bottom if() to do:

while (digitalWrite(dida, HIGH) || digitalWrite(dida, HIGH) || digitalWrite(dida, HIGH) .....

Why do you continue to set pin to LOW or HIGH? If you do it once nothing change

@FEBaily
So I want to activate all leds when pir 1 or 2 will detect while loop first or secound is running(any led is on).

@Silente
There will be 17 leds , I just didn't put numbers jet

MupetS:
So I want to activate all leds when pir 1 or 2 will detect while loop first or secound is running(any led is on).

Sorry to say I don't follow that at all. Perhaps describe the project right from the start?

when pir 1 or 2

Is that "pir" as in Passive Infra Red or a typo for "pin"?

MupetS:
There will be 17 leds , I just didn't put numbers jet

Read up on arrays before you go too much further.

From the start I want to do stairs light for 17 steps activated by motion sensor (pir).
Each step will be light up in order(up to down or down to up)and turn off in same order.
Last thing is when one side is tripped so loop is running and secound detection is made before ending of loop all leds turn on.

Stgart by inproving your current code

This

digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (500)
digitalWrite(dida,LOW)
delay (5000)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)
digitalWrite(dida,HIGH)
delay (500)

Could be replaced by a for loop, for instance

IT can't timings will be different for each LED i wrote that. Im asking only for help in last loop

IT can't timings will be different for each LED i wrote that

Then put the data in arrays or an array of structs and iterate through that