Jaki masz silnik? I czy zasilasz go z osobnego zasilacza?
Ja robiłem takie błędy ( jeśli chodzi o podłączanie) np:
1. Zasilałem przerobione serow z USB, jednak nie kręcił się on, bo miał zbyt małe napięcie, przez co ciężko mu było wytworzyć moment pozwalając pokonać opory mechaniczne przekładni.
Rozwiązanie to podpiąć zewnętrzne zasilanie. L293D może przyjąć na klatę około 36V, jednak przeważnie starcza 6-12. Ponadto wyższe napięcie zasilania silnika zwiększa zakres regulacji PWM. W tym wypadku popełniłem błąd nr 2: Nie połączyłem masy zasilacza i układu
A tak pozatym spróbuj przenieść wszystkie te funkcje do pętli nieskończonej podepnij diodę i zobacz cóż się będzie dziać. Jeśli dobrze widzę: Twój program wykonuje wszystkie funkcje po czym przechodzi do pętli nieskończonej. To by tłumaczyło dlaczego dioda Ci się dioda zaświeca potem gaśnie i lipa.