Una máquina de pinball conectada a Internet muestra sus puntuaciones
Antes de los videojuegos, había máquinas de pinball. No es que no existan hoy en día, pero una máquina de pinball moderna probablemente tendrá microprocesadores y otras cosas de lujo que los diseñadores de máquinas de pinball tradicionales nunca podrían soñar. [Eli] tenía una de estas máquinas mecánicas de 1974 cuando era niño y, más tarde, me encontré con una máquina más moderna con un microprocesador rudimentario y otros circuitos integrados a bordo. Esto permitía recordar las puntuaciones más altas. Pero tienes que mirar físicamente la máquina y sólo puedes ver las cuatro puntuaciones más altas. [Eli] decidió adaptar la máquina para subir los datos de las puntuaciones más altas a Internet, y es un proyecto divertido.
[Eli]Los objetivos de diseño de
[Eli]eran hacerlo automático y robusto. Es decir, si la red se cae o la máquina pierde potencia, no debería perder los datos de las puntuaciones altas. Además, no quería cambiar la apariencia ni dañar la máquina de 40 años. Puedes ver un vídeo de cómo quedó todo a continuación.
La máquina Laser Cue es una de las muchas construidas en torno a la plataforma "Williams System 7". Una CPU 6808, junto con algunos chips de E/S para gestionar todas las luces, sensores y timbres. El juego tiene sólo 1K de RAM, 12K o ROM, y 128 bytes (sin prefijo, sólo bytes) de RAM con batería de reserva. Había incluso un "sistema operativo" común llamado Flipper ROM, y que en realidad está documentado en GitHub.
La versión ESP32 de la placa de interfaz WiFi
Dado que la memoria de la máquina está toda en chips externos, era una idea razonable sustituir la CPU por una placa que monitorizara las señales de la placa. La CPU se conectaría a esta nueva placa, y entonces un microcontrolador más nuevo con conexión a Internet podría espiar el tráfico del bus. Sin embargo, quitar la vieja CPU y atascar los pines en el antiguo zócalo era preocupante, así que en su lugar, [Eli] optó por utilizar un conector de prueba que ya estaba en la placa pero que no estaba conectado a nada.
Un ESP32 es más que capaz de las velocidades, aunque la conexión a la lógica de 5 V era un poco de un problema. La CPU tiene pines tolerantes a 5 V, pero algunos de los 25 pines disponibles en la placa de desarrollo o bien establecer elementos en el arranque o puede ser brevemente salidas y por lo tanto eran inutilizables. Para reducir los pines necesarios, [Eli] decidió hacer parte de la decodificación en lógica separada. En lugar de utilizar chips TTL, optó por utilizar una matriz lógica programable.
Después de eso, parecía que sería sencillo, pero había algo que impedía que el ESP32 leyera cada ciclo del bus. [Eli] nunca llegó al fondo de la cuestión, pero en su lugar cambió a la Raspberry Pi Pico W. El uso de los procesadores especiales de E / S del chip hizo el trabajo fácil, y funcionó perfectamente. El resto del proyecto era sólo ajuste y acabado. Asegúrate de leer hasta el final para descubrir las lecciones aprendidas que podrían ayudarte en tu próximo proyecto similar.
Una máquina de bricolaje moderna puede tener incluso una FPGA en su interior. ¿No tienes sitio para un pinball grande? No hay problema.