Arduino Micro, all'improvviso smette di fare quello per il quale era programmato

Buona sera,
ho connesso Arduino micro ad una striscia di led indirizzabili, lo stesso alimentatore dei led alimenta anche la scheda Arduino, al cavo usb per la programmazione, ho tagliato il filo rosso dei 5 volt, per tanto la usb non può più alimentarlo.
Dopo varie programmazioni, inviate alla scheda mentre comandava la striscia, invio un nuovo programma, ma Arduino inizia a cercare la porta fino ad avvisare che non trova la scheda.

Vado in Gestione dispositivi, ed in effetti non la trovo da nessuna parte
Sconnetto la scheda dalla striscia, e la connetto con un altro cavo usb, il quale lo alimenta, ma anche così non lo vede

Premendo il pulsante di reset posto sulla scheda, il led verde della scheda, lampeggia, il pc emette un suono e la scheda Gestione dispositivi, e come se si aggiornasse quindi il led smette di lampeggiare e il pc fa un altro suono.

Questo pc usa Windows 7, ho provato su un altro con Windows 10, e fa la stessa cosa.

Ho provato a connetter un nuovo Arduino mini, e viene riconosciuto.

La scheda Arduino Micro, è originale

Possibile che abbia perso il bootloader ?

No, ha problemi di "driver"... Verifica su quale porta com viene riconosciuta da windows

La Micro come la Leonardo e altri hanno una ATmega32U4 che ha la USB integrata. Per questo ha una parte di codice che viene aggiunto allo sketch che gestisce sia la USB che il reset. Se un sketch é bloccante (per esempio un ciclo infinito) la micro non riesce piú a resettare.
Se vuoi una soluzione devi darci lo sketch.
Ciao Uwe

A memoria è questo in quanto non l’ho + salvato

#include <FastLED.h>
#define NUM_LEDS 200

CRGBArray<NUM_LEDS> leds;

void setup() {
  FastLED.addLeds<NEOPIXEL, 13>(leds, NUM_LEDS);
}

void loop() {
  static uint8_t hue;
  for (int i = 200; i > NUM_LEDS / 2; i++) {
    // fade everything out
    leds.fadeToBlackBy(10);// lo spazio spento

    // let's set an led value
    leds[i] = CHSV(hue++, 255, 255);

    // now, let's first 20 leds to the top 20 leds,
    leds(NUM_LEDS / 1, NUM_LEDS - 1) = leds(NUM_LEDS / 5 - 1 , 0);
    FastLED.delay(30);//la velocità
  }
}