ADC triggered by Timer0 atmega328

You seem to be having some basic difficulty even with the timer configuration.

At what frequency do you want to trigger the ADC (ie samples per second) a and which channel do you want to read ? Is 8 bit resolution enough or do you need the full 10 bit ? Maybe also say what the application is.

I could quickly put something together which you can test in isolation but the code I supplied in #2 was more or less complete apart from the content of the ISR which also needs the reset of TIFR1 when you have processed the sample.

In your last example, you should declare the variables which are set in the ISR as volatile otherwise the compiler may optimise them out of existence. Also use unsigned long instead of int for 'i' if the timer is running at any speed.

For testing, it is probably better to increment counters in the ISR and occasionally print out their values in the loop() rather than using a LED.