CheatPong grew out of our desire to combine the amazing iPhone game with the precision of robotics. It uses Python/OpenCV on a host computer to recognize virtual cups on a phone screen and stream their (x,y) centers over USB to an Arduino, which drives a modified XY plotter with ramped and Bresenham-based stepping to “throw” a stylus at each cup and then reliably return home; along the way we tackled vision jitter with circular tolerance zones and non-max suppression, tuned microsecond-level pulse profiles for torque without stalling, and refined our serial integration so 16 data-driven action routines can be swapped in without touching core firmware. The most prevalent challenge was integrating the rotational movement of each stepper synchronously and translating that rotation into dx, dy movement. We learned the value of clean abstractions between high-level vision and low-level motion. Next, we plan to add full game-logic feedback and even smoother, higher-resolution stepping to transform CheatPong from a cheat-bot into a true champion.
Log in or sign up for Devpost to join the conversation.