Co do trzeciej propozycji, to nie wyraziłem się jasno i pewnie stąd nieporozumienie. BlueDraco opisał to lepiej.
Ponieważ w programie widzę dopiero wczesne początki kodu, to proponuję Ci zastanowić się nad zmianą uC na coś wygodniejszego w programowaniu, co wcale nie musi być droższe od megi8. Jeżeli za samą kość zapłacisz nawet 10zł, a oprogramujesz ją w godzinę, to chyba więcej zyskasz w porównaniu do megi8, dla której program będziesz pisał jeszcze kilka dni?
Pomyśl też ile i jakich funkcji potrzebujesz w tym pilocie i czy jesteś bardzo przywiązany do AVR? Źródła zasilania i pobór energii też mogą być bardzo istotne. Może wystarczy jakiś ATTiny, może Xmega do której znajdziesz gotowe programy w książce Tomasza Francuza, a może od razu weźmiesz małego lub większego ARMa.
A jeżeli to tylko zabawa, to eksperymentuj z różnymi opcjami:
- testuj różne warianty kodawania;
- włączaj i wyłączaj timer generujący nośną (~30kHz);
- generuj ten sam sygnał za pomocą USART, ale tranzystor NPN lepiej zastąpić MOSFETem. Jeszcze lepiej typu P wpiętym między +5V a diodę. Odpada kwestia ciągłego włączenia diody IR;
- generuj sygnał dla pilota za pomocą SPI, ale łącząc SCK i MOSI przez np. 2 tranzystory połączone szeregowo albo równolegle;
- szukaj rozwiązania najbardziej korzystnego z punktu widzenia poboru prądu, peryferiów, czasu na programowanie...