I want void loop to go through once

so add pinMode(ledPin, OUTPUT); to the setup and define const byte ledPin = 13; as a global constant

as you've defined a constant for the pin 12, use it ➜ digitalRead(buttonPin)

I'm not sure about how you get the motor moving (no PWM set in the setup) or after you put LEN to low but I'll let you figure this out