Naja du könntest einen AVR verwenden, vielleicht einen Mega8? Mega32 is glaub ich für so ein kleines Projekt zu überdimensioniert. Die Ansteuerung der Motoren würde mit einem L293d Motortreiber am einfachsten gehen, denke ich. ( https://www.roboternetz.de/wissen/in...en_Ansteuerung )
Die Umpolung erfolgt dann einfach, indem du einen Port beim Controller auf High setzt und den andren auf Low, oder umgekehrt.

Den Tastendruck kannst du mit einem Controller ganz einfach feststellen. Hier gibts noch ein Tutorial dazu: https://www.roboternetz.de/wissen/in...leicht_gemacht

MfG

ps: um deinen Controller zu Programmieren brauchste noch ein ISP Programmierkabel ( https://www.roboternetz.de/wissen/in...ogrammierkabel )