Hay varias partes diferentes del proyecto.
La lectura de los pulsadores en el R-Pi es factible. En cierto modo es más fácil en un Arduino,
(Ese boceto no es como uno lo haría eléctricamente, pero es fácil de arreglar)
El problema son los emuladores para las consolas de juegos más antiguas. Tengo algo de experiencia en el apoyo a un equipo de estudiantes que querían ejecutar un emulador de juegos en un R-Pi.
Cada emulador tendrá algunas suposiciones integradas acerca de los controladores de sus juegos. Algunos de los emuladores de consola de juegos populares ya tienen emuladores de controlador, que completan el hardware.
En algunos casos, el emulador de la consola de juegos es fácil de completar al construir un hardware que emula el controlador de juegos específico utilizado por esa consola.
AFAICT necesitas identificar cada consola de juego. Luego, compre el hardware del controlador, o construya el controlador de juegos para satisfacer el emulador de la consola, o necesita piratear el código fuente del emulador.
IIRC el controlador de juegos que los estudiantes necesitaban hacer era sencillo. La información sobre el controlador estaba disponible en la web. La interfaz electrónica entre el emulador de la consola RPi y el controlador no era muy compleja. Lo construyeron con un Arduino, y funcionó lo suficientemente bien como para que estuvieran satisfechos.
Descripción general:
Exactamente lo que necesita para construir el controlador depende principalmente del emulador de la consola de juegos que desea usar. Hasta que decida eso, hay muy poco valor en enfocarse en conectar botones. El problema es hacer un controlador de juegos que tenga el comportamiento eléctrico correcto para trabajar con el emulador.
Primero debes elegir el emulador de la consola de juegos (o emulators ). Luego investiga los controladores. Hay poco beneficio trabajando con los pulsadores antes de eso; Los pulsadores son relativamente fáciles de conectar. La parte más difícil es crear una interfaz entre el emulador de la consola de juegos y el controlador porque no tienes la opción de elegir cómo funciona; El emulador de juegos ya está hecho para funcionar de maneras específicas.
Resumen: Algunos controladores pueden construirse usando un ATmega328, porque implementa suficiente interfaz de hardware. Sin embargo, para otros controladores es el lugar incorrecto para comenzar.
Recomendación: elige el emulador de la consola de juegos con los juegos que más quieres jugar e investiga cómo habla con sus controladores de juegos específicos. Lo ideal es encontrar algunas instrucciones sobre cómo construir un controlador de juegos que funcione para ese emulador. Aprende cómo funciona siguiendo las instrucciones y constrúyelo. Si está lejos de su objetivo, constrúyalo lo más rápido y barato posible, y trátela como un proyecto de aprendizaje.
Una vez que tenga algo funcionando, comprenderá mucho más sobre las posibilidades y limitaciones. Así que estarás mejor equipado para hacer lo que quieras hacer.